Agile has been around since 2001 when its founding fathers published the Agile Manifesto. The approach has become the status quo in the industry, completely ousting Waterfall and other software development methodologies.
How come Agile application development may ruin your mobile app? It’s like with bacon: too much bacon — and you’re in pain, can’t work; too little bacon — and you’re craving for more, can’t focus.
To bring this into perspective: there are too many flavors of Agile. It’s easy to get confused, lose focus and cause havoc to a mobile project. However, if you are starting an app development project, I’m telling you right off the bat — 80% of the time Agile is fine.
Keep on reading to learn how to sidestep the most common mistakes in applying Agile to your mobile app projects.
What is Agile?
Agile is all about the pace of the development process. A typical agile cycle is a one- or two-week development sprint followed by a retrospective meeting where team members discuss what they have achieved and what they can improve.
Ideally, the result of each sprint is something tangible — a piece of app with certain features. Everything is geared towards the soonest project delivery.
The agile development methodology focuses on communication between team members and on the product itself. The main principles line up as follows:
- Individuals and interactions over processes and tools
- Working software over comprehensive documentation
- Customer collaboration over contract negotiation
- Responding to change over following a plan
How Does Agile Work in Mobile App Development?
Now that you know what an Agile approach means, let’s quickly look at how it helps deliver the best application development outcomes.
The key is that each sprint or iteration of an Agile mobile app development process incorporates the following steps:
At the end of each iteration, the result is demonstrated to all stakeholders. Therefore, everyone can watch the development progress, swiftly implement any changes if needed, and minimize the overall risks.
The methodology reduces time to market and development costs since smaller increments mitigate the possibility of releasing a product that doesn’t meet initial requirements.
8 Mistakes to Avoid When Practicing Agile Approach
So now you might ask yourself if an Agile application development method is so product-oriented, how come it can ruin your mobile app? Let’s see.
1. Messed-Up Stand-Ups
Stand-up meetings are a signature attribute of the Agile approach. At the same time, stand-up meetings by themselves don’t necessarily indicate an Agile team. The important thing is to stick to the core nature of these stand-up meetings:
- Have a strict outline and rigid time frame for when and how long you stand up
- Report on what has been done, plan next steps, and pinpoint obstacles
- Do not try to solve any problems during the meeting
- Attendance is a must for all team members
By the way, did you know that the Agile Manifesto itself does not have a single word “meeting” or “stand-up”? What its founders had to say on the matter is the following:
The most efficient and effective method of conveying information to and within a development team is face-to-face conversation.
Notice how every meeting adds to the Agile app development progress, so improve stand-up meetings.
Make sure each team member voices his or her concerns, even if there is only a small hint at some obstacles ahead.
Welcome constructive disagreement; everyone should freely share their opinions.
2. Obscure Roles
Scrum Master, Product Owner, Stakeholder, and other team members — they all build your app. And everybody should be clear about everybody else’s responsibilities. Our advice is to articulate who handles what at the start of the project. There are too many Agile flavors, and too many team roles accordingly.
To bring to the project the people who have never worked within the Agile framework is one thing. To gather novice programmers — is another. Those mistakes aside, you should look out for the following red flags:
When your Scrum Master takes on the duties of a project manager.
Agile is a bottom-up rather than top-down approach. Team collaboration prevails over strict task assignments by Scrum Master.
When your Scrum Master becomes the central hub for all communications.
If team members avoid talking face-to-face and rely on a Scrum Master to deliver messages, it’s a sign. Here’s how the Agile founders framed this in their manifesto:
Business people and developers must work together daily throughout the project.
3. Outdated Product Backlog
Everyone should always have enough tasks to work on and make progress with the product. After all, frequent deliveries are one of the Agile’s cornerstones. An empty backlog demotivates the development team and stops its momentum. No one wants a product backlog running low on tasks.
Agile processes promote sustainable development. The sponsors, developers, and users should be able to maintain a constant pace indefinitely.
Even though product backlog is the Product Owner’s responsibility, it makes sense to help him at the start of an Agile app development project.
Brake down the app’s functionality into separate measurable tasks.
Team members should provide high-level estimates for all features in the backlog.
Product Owner may need Team Architect’s or Tech Lead’s help with assigning priority to tasks.
While building the app, there is a specific path to follow: from architecture to UI and server integration. Your Agile team must always work on the app’s functionality that has the most priority.
4. Lack of Retro
Retrospective meetings happen for a reason:
At regular intervals, the team reflects on how to become more effective, then tunes and adjusts its behavior accordingly.
The keyword is “regular”. In an ideal world, retrospective meetings take place after every sprint. All members reflect on progress versus expectations and work out a roadmap for the next sprint. Check out this video on what a perfect retro looks like:
You know something is wrong if retrospective meetings happen only on the if-time-allows basis.
Agile masterminds recommend to pre-plan a retrospective meeting after every single sprint. It’s not like these meetings should eat into the project’s time anyway.
Remember that the point of Agile is to fine-tune and adjust as the product development unfolds, especially in mobile app development.
Apple and Google introduce yearly OS updates that bring access to new functionality. The Stakeholders may request to update their app to support the most recent features.
5. Toolset Chaos
Frankly, this typically happens with the teams that have just switched to a new Agile flavor: they start looking for new exciting tools. Like stickies on the wall or spreadsheets aren’t that good anymore. In all seriousness, switching to Agile app development doesn’t mean switching gear altogether.
To get the project rolling make use of the tools that your team already knows.
Chances are, these solutions offer some sort of Agile project management features. Otherwise, they’d be obsolete by now.
Focus on individuals and interaction rather than processes and tools.
Build projects around motivated individuals. Give them the environment and support they need, and trust them to get the job done.
Some of the Best Agile Tools:
There are so many popular tools in Agile software development that every app development team is likely to find the one that will work best. Here are some of them that we recommend for Agile app development:
- Atlassian JIRA
- Pivotal Tracker
But there are many more reliable Agile project management platforms. So choose whatever looks familiar and works best for your app development process.
6. Two-Pizza Team Size
Jeff Bezos’ two-pizza team rule 100% applies to an Agile team working on a mobile app. As Jeff promptly put it, a team can be efficient if two pizzas feed all team members. Richard Hackman stresses that more team members lead to more links between people.
“The larger a group, the more process problems members encounter in carrying out their collective work.”
The cost of coordinating and communicating between group members gradually brings team productivity to a screeching halt.
Divide the teams of 10 and larger into separate subgroups working on a specific part of your app. For instance, you can split the backend and app development teams.
Aim for six-eight people tops for a minimum action unit on your app development project.
7. Underestimated Documentation
The most prominent advantage of Agile is you don’t need to maintain extensive documentation. Contrary to this opinion, some teams take it as no documentation is required. The Agile Manifesto states loud and clear:
Simplicity — the art of maximizing the amount of work not done — is essential.
At Velvetech, we document everything to ensure project knowledge retention. Large-scale mobile apps can take more than six months to deliver. You would imagine it’s vital to have at least some documentation for the mobile projects of such scale.
Check out how Scott Ambler, author of several books about Agile app development, compares approaches to documenting in the traditional and Agile software development lifecycles.
Always document the app architecture.
Document everything else that adds value to the product for each sprint.
There should be a single person responsible for all documentation on the project.
8. We’ll Go SCRUM! … No, Kanban! … No, XP! …
There are so many Agile types that sometimes it’s hard to pick the one that works best for your mobile app project. Team members may favor various techniques from different types: Kanban, Lean, Extreme Programming, Crystal, Scrum, etc.
The guys at Silicon Valley picked Scrum at one point. See how it went:
What matters is that everybody agrees on some app development processes, with or without extra techniques from different Agile flavors.
Benefits of Agile
If you follow the best practice I’ve outlined here, your mobile app is safe: Agile won’t ruin it. Instead, you’ll be reaping the benefits of this approach. What are the advantages of Agile methodology?
- faster product delivery
- minimum efforts for maximum output
- product perfectly tailored to the customer’s expectations
- optimal app development team structure
As long as an app development team follows the best practices that I have outlined, the app will be a success — 80% of the time. Come for the Holy Grail 20% of success to us. We’ll help you setup the proper Agile app development environment for your mobile app and other projects.