In our overview of How to Build a Mobile App in 7 Days we explained our high-level process:
3) Build v0.8 and get client feedback
The goal of Step 3: Build v0.8 is to get as many of the important, must-have features in front of the client as fast as possible. We have already made all of the tough decisions in the prior two steps (“smart-brain”) and so now we can switch gears big-time into execution (“dumb-brain”) mode.
Full-blown Code Monkey Mode
With that in mind, we enter what we lovingly refer to as “code monkey” mode. We have created our huge list of tasks and we start to crank through them at this stage. This is pure skill, experience, and problem-solving. We are very skilled in both the art and science of iOS app development and believe that just about anyone can pick up these same skills with enough practice and hard work.
While we have gone to great lengths to make as many decisions as possible up front, we do still need to keep some room for discoveries during the development process. What is important is that we stick to our process!
Maintain the Process
Development has always been the hardest part of our process to demystify. It’s very case-specific, dynamic, and each of our developers performs optimally under different conditions.
Our project manager (PM) keeps an eye on what is going on and to see if everything is on schedule and running smoothly. We track our tasks and priorities with a tool called Asana and we chat with one another via a super-amazing tool called Slack. Finally, we have two check-in meetings each day. The morning check-in provides the direction for the day. The afternoon check-in provides a discussion to account for any deviations and unexpected issues or tasks which are taking longer than expected. We do our best to keep these meetings short – sometimes under 5 minutes – since it’s a disruption to the flow of our entire team.
The PM has to stay on top of what features have been completed, what trade-offs we need to make, and whether we need to chat with the client to make any substantial changes to the plan. The goal of much of the rest of the 5 step process is to let the development team focus on building and let the PM focus on managing the process of that building.
Mixing these two distinct modes is deadly for projects since it’s mixing smart-brain and dumb-brain.
When we are doing backflips for our clients, it is really important to keep our energy high but not suffer sharp ups and downs. The goal for our development team is to ramp them up in the morning, keep everyone in a good state throughout the day, and ramp folks down at night. We do this with water, clean food, sleep, and far far FAR less caffeine than you would guess. Most of the team has only one cup of coffee a day, sometimes two – if necessary. I’ll write an entire post about this one day, but if you are having more than 2 cups of coffee (equivalent) each day, I guarantee that you are performing sub-optimally.
Sleep is obviously the best way to feel energized but one strategy we often implement is to sacrifice some short-term sleep for more productive hours. I have literally worked 20 hour days to get the job done. It’s not sustainable, not very fun, but putting in long hours is just something we all have to do at some point to deliver a superior product to our clients – especially when they’re on insane timelines.
Regarding food– we eat real food. You know, the stuff that come out of the ground or goes “Moo” and ate stuff that came out of the ground. Your body is literally composed of what you eat/drink and the air you breathe so we get our inputs straightened out.
Exercise. Even when we are racing against the clock, we always take a few minutes to get some sun, run around the block, chase pigeons… whatever it takes to keep our blood flowing and stay energized. Sun is especially important since your body uses light as a signal for when to make us awake or tired.
One of the things we have learned to pay more and more attention to during a project is mood. If mood and morale are decreasing, we know it is time to change something. The quickest fix is usually to make sure we are not hangry (hungry + angry), not another cup of joe!
Each person is different so your mileage may vary regarding energy management so let’s talk about something more interesting in the comments than how much coffee and Redbull you or your friends drink or how little sleep you need! 🙂
While code review, testing, and quality assurance happen throughout the entire development phase of our process, we cover these topics all at once in the next article in this series. Stay tuned.
Shipping v0.8 to client for feedback
At the end of this step we ship the first build to the client and get their high-level feedback. We almost always focus on functionality first so we’re very clear about the kind of feedback – if any – that we would like to receive. We walk a very delicate line here of bringing the client back into our process without letting them run our process. We have custom tools for helping us capture their feedback via the app without disrupting the development team. Given that we are often 3 to 4 days into the process, we usually go out for lunch or dinner together as a team and get a good night’s sleep to prepare for the final push that is coming!
Bottom Line: Step 3 marks a huge transition in our process from the thinking and planning phases to the execution phases. At the end of this stage we ship the first build to our clients, who have been patiently waiting for a few days. Beware mixing smart-brain and dumb-brain modes in this stage!
What are some healthy ways you manage your energy during the long hours of development before your product is ready to ship?
Remember, this article is part of a series. Read the overview of How to Build a Mobile App in 7 Days and we’ll see you next week!