Let's Get Real - Learn How to Spot and Avoid Fake Agile
February 9, 2021
In a rapidly changing technological landscape, only the startups that can innovate, adapt quickly to change, and respond to their users’ ever-evolving demands will survive and thrive. One of the key ways your team can streamline your development processes and scale your business is to become Agile.
Agile has become one of the most often used buzzwords in the tech corporate vocabulary as companies want to be seen as savvy, competitive, and at the forefront of an ever-evolving business environment. However, many organizations miss the real meaning and value of Agile and self-identify as having agile processes merely for marketing fodder. To ensure that your team and your development partners are genuinely embracing and reaping the benefits of Agile, rather than giving it lip-service, let’s revisit Agile and what it can offer your project.
What Is Agile?
Agile methodology is a philosophy that was introduced in 2001 when 17 software development professionals met to discuss alternative project management methodologies. Together they created a flexible, lightweight, and team-oriented software development approach outlined in the Manifesto for Agile Software Development. Agile is a development process that puts the user’s dynamic requirements at the center of the development process, works in time-blocked “sprints” - striving to meet the user requirements, gathers feedback, and continues the iterative development process to improve the software and meet additional user needs. Contrast this with traditional software development approaches such as the Waterfall methodology where each stage is meticulously planned, is reliant on the stage before it, and where there is no going back to a previous step - just like you can’t climb back up a waterfall once you are on your way down.
Steve Denning, the author of The Age of Agile, explains why using Agile is so important, especially regarding software development. He shares that Agile enables organizations to cope with continuous change. It permits them to flourish in an increasingly volatile, uncertain, complex, and ambiguous world. Firms must become as nimble as the rapidly shifting context in which they find themselves. As managing software becomes central to most businesses’ success, Agile is becoming a key to the management of everything.
Denning adds that in an Agile organization, self-organizing teams are continuously providing new value for customers. Because the work is done iteratively with continuous interaction with users, the organization can continuously upgrade what it does for each user, sometimes almost in real-time. When Agile is done right, the teams work within a business model in which they generate value for the organization and the customer. Everything—the work being done, the information, and the money—moves easily, in an integrated fashion, leading to low or zero marginal costs and massive returns to scale.
How Is Agile Implemented?
Understanding Agile project management means understanding the key components of Agile that include user stories, sprints, standups, agile boards, and product backlogs.
- User Story - a key to understanding your customer and how your product will be used is done through creating User Stories. Atlassian explains that a user story is the smallest unit of work in an agile framework. It's an end goal, not a feature, expressed from the software user's perspective. User stories are a few sentences in simple language that outline the desired outcome.
- Sprints - Sprints are short cycles of development work (typically one to four weeks) that ends with a usable piece of software being delivered. By keeping the sprint length manageable, it is easier to adjust your goals, plan future work, and continually be providing value.
- Standups - Agile Alliance defines a standup as a daily time-boxed meeting (usually no longer than 15 minutes). It focuses on bringing everyone up to date on the vital information needed for project coordination.
- Agile Boards - Agile boards are project management tools that help development teams visualize and manage work during a series of consecutive sprints. They can be as simple as a whiteboard with sticky notes or as complex and streamlined as online tools such as Jira, Asana, LiquidPlanner, or Wrike.
- Product Backlogs - Atlassian explains that a product backlog is a prioritized list of work for the development team derived from the roadmap and its requirements. The most important items are shown at the top of the product backlog, so the team knows what to deliver first.
Now that we have a better understanding of Agile, why it is important to the product development process, and how it is executed, let’s address the elephant in the room. Agile processes, when implemented incorrectly, halfway, or even worse, in name only, leaves us with what many in the tech industry have dubbed Fake Agile.
What Is Fake Agile
Fake Agile goes by many names. Some include Zombie Scrum, Faux Agile, Dark Agile, Agile Theater, Agile In Name Only (AINO), or Agile BS. At the core of all these descriptors is that Fake Agile lacks the soul of the Agile methodology that is needed to ensure real agile success. In 2018, the Defense Innovation Board of the DoD published a Detecting Agile BS Guide that outlined “how to detect software projects that are really using agile development versus those that are simply waterfall or spiral development in disguise. According to the DoD, a Fake Agile project is one where:
- No one is talking with or observing the product users
- There is no continuous feedback loop between users and development teams
- There is a strong emphasis on requirements
- Stakeholders are autonomous
- End users are not present in any of the development
- Manual processes are tolerated
How Does Fake Agile Happen?
No software development team intends to implement Fake Agile processes, yet it happens. How then are software development firms inadvertently disguising their waterfall processes in Agile clothing? Some pitfalls that development teams fall into while trying to “do Agile” rather than “being agile” are:
- Using unnecessarily high friction tools. While project management software can be extremely helpful, trying to use every bell and whistle of their PM tool can lead to high friction, wasted time, and create a situation where team members are reluctant to use a particular tool.
- Expecting all the team members on a project to work in precisely the same way. Agile development processes that allow team members to work differently and to their strengths can help a team be more productive.
- Misguided leadership often gets in the way of true Agile processes. Too often, teams will have roles such as scrum master and product owner assigned, but in practice, the individuals in those positions are performing the same activities that a project manager would in a more traditional development framework.
- Measuring outputs instead of outcomes. While it is great to deliver 20 new features on time and under budget, what if they are not the right features and do not answer the user’s needs.
- Falling prey to keeping up the pace of development and not holding retrospectives. When the output takes over, often no time is taken to review what went well, what didn't, and how the process can be improved going forward.
How To Sniff Out Fake Agile
As your startup is looking at potential software development partners, how can you know if their teams are truly Agile? According to the early mentioned DoD guidebook, asking a software development firm the below will help you identify the Fakes from the Real Deals.
- Do they deliver working software to real users in every iteration and gather feedback?
- Is the feedback gathered turned into concrete work items?
- Do they budget time and money into the development process to gather and incorporate customer feedback about features/requirements that they had not even thought about?
- Are teams empowered to change processes or requirements based on feedback and continuous learning?
- Do they speak of Agile as an ongoing process rather than a destination to be reached?
- Are they hung up on and inflexible regarding framework methodologies?
- What do their product backlogs look like? Product backlogs should be kept small and manageable, only including the items the team fully intends to develop.
Why Having An Agile Partner Matters
Having the right tech partner is critical to the success of your company. A genuinely Agile software development firm will help your startup:
- Respond To Change Swiftly - A properly-oriented Agile team focuses on the most critical part of a project, can quickly integrate new feedback, deliver value, and then move on to the next priority. This focus helps you solve customers’ problems faster and prioritize features in a progressive fashion that reflects actual market conditions.
- Move Forward Despite Uncertainty - Most startups live in a world of unknowns. Agile partners are comfortable with the uncertainty, knowing that more information will be discovered through the process. They can help you begin without having all the answers, thereby improving your time-to-market and competitive position.
- Faster Review Cycles and Greater Feature Flexibility - The faster review cycles associated with Agile software development will help your startup focus on delivering working software in incremental iterations and use the feedback gained to refocus on the most important features from the user’s perspective.
While we know that the rate of technological change is increasing daily, it is even more impactful to your team and your startup. Finding a software development partner that responds quickly to change and values integrating new information as it arises rather than blindly following a plan is critical to your product’s success. A truly Agile tech partner can help ensure that your product will evolve and continue to be relevant in an increasingly competitive landscape.