Discovery phase

On this phase we work closely with the client to develop project documentation

Few words about the purpose

A lot of clients come to us with just an idea for their project and ask us to give them estimates. Some clients have general understanding and description of their business needs. Very few, though, already have more detailed requirements and some of the following: general and detailed description of the project, its business logic and features, wireframes, workflows (i.e. UML diagrams), technical requirements.

No matter what you are planning to build, be it an innovative startup idea or a new functionality of your existing business process, our job is to research and find out what the best solution would be. At this time you are the only person who has an idea of what your product should look like, how it should work and what your customers/users should get in the end. To be able to tell you what it takes to meet your requirements and expectations we both need to understand the amount of work exactly. Proven way to achieve this is to develop project documentation.

Project documentation is first and foremost your guarantee to get a quality product within the expected time frame. It is a detailed description of what you and your users will get as a result which takes into account all technical aspects. Project documentation is a way to provide you with transparency in what we do, so you do not have a feeling of “black box” while working with us.

What will be done exactly

In May 2014 a client turned to us with a request to estimate the complexity and costs of an application that generates a mosaic from the user's photo. In November the order was canceled, but we liked the idea so much that we decided to research the most popular mosaic generation services. Research has shown that all of these websites have issues with either UX, technologies used or both:

Project structure

  • Structure of the UI for each and every page, popup and alert, all possible user actions and reaction of the UI on these actions, displayed content and content moderation.
  • Admin panel and description of all CRUD operations, nomenclatures, payment documents, roles, user parameters, etc. Every section should contain description of the fields and restrictions.
  • List of all possible notifications, i.e. sms, email, push-notifications.

List of all main features, external services and APIs that will be used

For example, if you need your application to send emails, we need to know what kind of service we will use for this. Do you know already if it will be MailChimp, Mandrill, SparkPost or something else? Or maybe you want your users to confirm their phone number, then we should know how this will be done. Via SMS or IVR call or both? If you want to allow your users to upload and share images we need to think which service we will use to optimize them. And there are many many more details that need to be discussed and evaluated.

Business logic

Very often this logic is not something you can see in the UI or admin panel. This is an engine that will drive your application and thus it is very important to understand and agree on how certain things should work. If you are building a Multi-Vendor Marketplace, we need to understand how distribution of funds between website owner and seller works taking into account specifics of payment system, logic of refunds, reserves and balances. If needed we will build WorkFlows (UML diagrams, use case diagrams, time charts, etc.)

Detailed wireframes

Wireframes visualize your project structure. If your application needs to be responsive, we will create wireframes for both mobile and desktop versions. We will also take into account all technical aspects, such as specifics of the chosen frontend framework and UX.

Technologies

Once we have all of the above information, we will decide which technologies would serve your business needs best.

And only when we both see that the document is complete and you have approved it, we can tell you the fixed price based on developed project documentation.

Flexibility

In case you want to be able to change things on the go, project documentation is not a right approach. It cannot be developed and we cannot tell you the fixed price and time frames as the amount of work cannot be evaluated.

No problem though, we are flexible and are ready to act as a dedicated team and make as many changes as you need. We will work on an hourly basis and you will be invoiced weekly for the amount of time we spent on your project.