Part 2: The Build Phase
In the first part of this blog series we talked about the Foundation Phase. As noted, we ask a lot of questions. We test and validate assumptions. We learn where you want this app to go and what needs to be done – not only technically but also from the angles of marketing, finance, support, and other areas – to enable you to achieve your goals. These activities enable us to create a roadmap that feeds into the Build Phase.
During this phase, all the things that most non-developers associate with development are taking place. We’re working with you to research and define the information architecture, understand the user journeys, and test wireframes. We’re building the app’s user interface and coding the logic of the underlying features. At Distillery, it’s a very disciplined process that takes place around the clock. We have more than 100 developers working as a virtual team from locations around the world. As one team member checks out for the evening, another one in another time zone may be checking in to pick up where they left off the day before.
As the client/owner of the app, you’re quite involved in this process. We’ll meet as a team on a regular basis to discuss development progress. As early builds and prototypes become available, you’ll get a chance to see exactly how things are shaping up.
Obvious and Not-So-Obvious Benefits
With the depth of development skills we have at Distillery, we’ve had experience working on nearly every conceivable kind of mobile app. Three significant benefits arise from this experience – one obvious, two less so but no less important.
The obvious benefit is that our experience enables us to make well-informed decisions about how to build the app you envision. There are many different design patterns a development team could choose when building an app, and if a developer chooses the wrong one that choice could lead to significant (and costly) consequences later on. Our experience at Distillery, though, makes it easy to know which design pattern will work best for your app and your goals, so we can move forward quickly. Whether the underlying question is what type of database, data model, or synchronization mechanism to use, whether it’s a question of how to achieve an optimal user experience or to design a modern user interface that takes advantage of the latest operating system features in iOS or Android, we have the experience and the resources to do that. Even if your app requires that we create a clever technical solution to a problem that has never been tackled before, we have the creativity and the experience to develop the novel solution that your app requires.
A less obvious benefit of our experience is that we know how to manage the build process. This is important, though it’s rarely seen by anyone outside the development community. We have standardized processes that enable us to set up new project environments in a matter of minutes, with different servers dedicated to different environments – from development to testing, staging, and production. Our developers are accustomed to working together even when they’re not sitting together. So, they know where the source files reside in the cloud; they know how to track tasks, progress, and responsibilities. We document everything in painstaking detail so that it’s easy for one developer to hand off a project to another developer and have that next developer continue the previous developer’s efforts without any delays.
A second less obvious benefit of our experience is that we know how to build your app not just to meet your prospective user’s needs but also to meet your needs for real-world feedback, future expansion, and scalable growth. In the long run, even though these are aspects of development that will remain invisible to the user, these “scaffolding” aspects are crucial to the success of your app. Indeed, beyond the portions of the app that your users see and interact with, we build in components to measure performance and to help the product team (of which you are a part) track and monitor how your users are using your app. These data points provide the insights that the team can use to improve the user’s experience of your app over time.
Similarly, we can look at your app from different angles and see where certain design decisions that may seem reasonable in the near term can create problems in the long term. What works today, with a small set of users, might encounter serious communications bottlenecks as the app scales globally, for example. Experience has taught us to build with that future in mind. Even if we decide to implement one solution – for, say, synchronization – in the near term and a different solution in the long term, we will have a plan in place for migrating to that long-term solution even before the near-term solution comes out. The scaffolding supporting that eventual migration may not be visible to a user at all, but because we have put it in from the start we’ll have made it easier for you to scale your app successfully over time.
Agile, Scrums, and More
Once we have completed a baseline build, we move into a third phase that involves testing and refining the beta version of the app. This will eventually lead to a full-fledged release of a production version. However, the details associated with that third phase – the Growth Phase – we’ll save for the next installment in this series.