There is an aphorism I’ve come to appreciate in the mobile app development world that says:
“No one births an adult child.”
The “adult child” aphorism is helpful when thinking about mobile app development because every baby starts out small and needs nurturing and close attention to grow. And it is difficult to think through everything a user will need for version one of the launch. Also, the aphorism hits close to home right now as my wife is expecting our fourth child next month.
Just like there are best practices for taking care of your baby, there are also best practices for mobile development. Here are three best practices for having a successful mobile app project:
One of the best ways to create a transformational digital product is to listen to users or employees. This often comes during a discovery or validation stage. The importance of getting feedback from real users is difficult to overemphasize. The basic idea is to sit down with current or prospective users and ask them simple questions for how they would use the app.
Here are some sample questions to ask:
- What features would cause you to use the app daily?
- What problem(s) does this app help you solve?
- What new problem(s) does this app create for you?
By listening to users before doing any software development, you can often head off potential issues which you may face down the road. It may be helpful to have basic wireframes or a list of requirements at this point but it is not necessary. The idea of the listening phase is to truly gather feedback to begin to write requirements.
2. Limit the Number of Product Owners
You’ve heard it said, “there were too many cooks in the kitchen” - the same is true for app development. You really need one or maybe two product owners to help with decision making. It is critical this person is available for questions or feedback on a near daily basis. They need to be available and ready to provide input and direction. They also need to be empowered to make decisions. An experienced product owner will know how to bring in others for decisions in which they are not an expert. It is important to limit the number of product owners to have a successful product launch.
Here are a few characteristics of great product owners:
- They are good listeners.
- They know how to create trust with others.
- They take a long-term view of the product rather than just the short-term.
3. Be Agile
The best software products are often developed using an Agile methodology. Agile is an iterative methodology rather than a Waterfall methodology. Within the Agile methodology, there are the Kanban and Scrum frameworks. Scrum is more rigid than Kanban and involves time-boxed “sprints”. The Scrum process involves “sprints” where developers have fixed-length iterations that typically span one to two weeks.
Kanban was inspired by the Toyota Production System and Lean Manufacturing. The basic idea is to think of software development as a pipeline with feature requests entering one end and improved software emerging from the other end. Inside the pipeline, there is a process that will occur which will usually involve three steps:
- Analyze the requirements.
- Develop the code.
- Test the code.
At MichiganLabs, we will often select the development methodology (Scrum or Kanban) based on the project and the client.
Overall, these three best practices are meant to create an iterative culture. One where the product grows through listening, clear ownership, and good process.