Agile has been around since 2001 when its founding fathers published Agile Manifesto. It has become the status quo in software development, completely ousting Waterfall. How come Agile may ruin your app? Just like bacon: too much bacon — and your stomach hurts, can’t work; too little bacon — and you feel deceived, 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 want to tell you right off the bat — Agile is fine 80% of the time. As long as you and your development team take it one bite at a time, and with a grain of salt.
Continue reading to learn how to navigate around most common mistakes in applying Agile for your mobile project.
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 an agile stand-up meeting:
- 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 the Agile 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 app development progress to 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; all team members 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 shades of team members accordingly.
To bring in people that 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 assignment 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
Your Agile team 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 a 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 Product Owner’s responsibility, it makes sense to help him in at the start.
Brake down 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.
In app building, 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 with 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 in the quote above is “regular”. In an ideal world, retrospective meetings take place after every sprint. Team members reflect on progress versus expectations and work out a plan of actions. Check out this video on how a perfect retro meeting 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 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 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.
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 team members gradually brings team productivity to a screeching halt.
Divide teams of 10 and larger into separate subgroups working on a specific part of your app. For instance, you can split into two the back end and an app.
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.
We at Velvetech document everything to ensure project knowledge retention. Some mobile apps take more than six months to develop. 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 software development, compares approaches to documenting in 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 of Agile: 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 on the team agrees on app development processes, with or without some extra techniques from different Agile flavors.
As long as an app development team follows the best practices that I have outlined, the app will be a success — 80% of times. Come for the Holy Grail 20% of success to us. We’ll help you setup the Agile environment for your mobile app and other projects.