3 Best Practices in Mobile App DevelopmentApril 16, 2018
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.
Stay in the loop with our latest content!
Select the topics you’re interested to receive our new relevant content in your inbox. Don’t worry, we won’t spam you.
MichiganLabs among INC. MAGAZINE’S BEST WORKPLACES 2020April 30, 2020
Michigan Software Labs is one of the highest-scoring businesses, with standout employee engagement.Read more
How to Build a Better App UI Architecture - Part 2November 19, 2019
Following up on the importance of consistency and reusability in Part 1, let's look at how to optimize the UI system for better consistency and reusability. We’ll begin by breaking down an iOS app, then look at how to build an interfaces-based system.Read more
A Tale of Two ImpostersJuly 8, 2020
Imposter Syndrome is a common topic in the tech world, especially in the Software Development world. It’s also a very personal topic, arising to each person for different reasons and impacting each person differently. Here is an exploration of the topic from two points of view: Amanda’s and Scott’s.Read more