Why Software Is Eating the World was published by Mark Andreessen in 2011, back when IT firms were still undervalued on Wall Street. Funny enough, seven years down the line in 2018, the five biggest companies in the world (by market cap) were IT firms: Apple, Google, Amazon, Facebook and Microsoft. That’s how quickly everything changes!
Is it Agile taking over or is it software companies?
With software eating the world came along the realization that, actually, Agile is eating the world. How do companies like Microsoft and Google manage to update their products on weekly or bi-weekly basis when other companies take years? The answer is Agile Project Management. And many of these big successful firms don't even describe themselves as “agile”; instead they talk about “culture”.
Successful software firms are all implementing the substance of Agile
Of course, there’s a space between reality and aspiration; many managers and consultants claim to be agile, and so the term gets thrown around sometimes but regardless; the successful software firms are all focused on delivering value for their customers, working in smaller teams (in short cycles), and avoiding top-down silos; in other words, implementing the substance of Agile.
It’s about working smarter (not harder) so you can generate more value with less work.
Who uses Agile and since when?
According to the 2020 State of Agile Report, 95% of respondents said that their organizations practice Agile development methods; 27% of those respondents have been practicing Agile for at least 5 years.
What industries use Agile today?
Technology is still the biggest supporter of Agile methods, but other industries have picked up the pace like financial services.
What percentage of teams use Agile today?
18% of respondent organizations claim that all of their teams are agile, 5% say that none of their teams are.
The age of Agile is upon us
We’ve entered a new age: the age of Agile where organizations can connect to everyone, everywhere, at all times. They can deliver instant value in a world where people, data, and money interact easily. For some, this “revolution” is great, for others it’s threatening.
But let’s go back to basics for a bit.
What is the difference between Agile and agile?
Both “uppercase” Agile and “lowercase” agile are related of course, but they can each exist on their own. You could be working on increasing organizational agility without using the Agile iterative development, or you could be using the Agile method without focusing on becoming more agile. If that makes sense!
What is Agile with capital A?
Agile is an iterative approach to software development and project management, put together in 2001 through the Agile Manifesto, by a group of software designers who wanted better ways to develop software. It follows a set of 12 principles and 4 core values alongside methods, roles, processes and tools.
Lowercase agile is about sustainability
On the other hand, agile is more of an attribute, defined by durability, speed, flexibility, preparedness and an overall sense of harmony. Organizational agility is at the very foundation of an organization; it’s not a practice, it’s a way of life.
Basically, Agile is what we do and agile is who we are.
Lowercase agile/agility is also about competitive advantage, and transforming your organization so it can effectively handle the incredible speed of change today; with minimum disruption. After all, organizations are experiencing faster and more complex change, all the while managing more information than ever before.
Why do we use Agile methodologies?
Agile project management is a product approach based on moving fast, releasing often and learning from users. It helps increase visibility and adaptability across any organization, while lowering risk.
Agile organizations are more likely to finish projects on time and hit all their goals when compared to non-Agile teams.
There are three main motivations for adopting Agile as the executing method:
- More client satisfaction
- Higher speed of delivery
- Better efficiency and flexibility
What are the three laws of Agile?
The three laws of Agile go like this:
- the Law of the Customer is about delivering the highest value to your customer, who you see as the central piece in your organization.
- the Law of the Small Team says that all work should be done by small, self-organizing teams that work in short cycles and focus on delivering value.
- the Law of the Network is about destroying the bureaucratic, top-down hierarchy through an inclusive network of teams that work together.
This is based on “The Age of Agile” by Steve Denning, author and former director of the World Bank.
How do you go about establishing Agile?
Switching to Agile is a big move, especially as a project manager. Agile removes some of the structure organizations are used to, to introduce a certain rythm; a dance if you may between multiple, interdependent cycles of planning and delivery, all happening at once. As a project manager or team leader, your focus is to make sure everyone is aligned and working together in sync!
What are the 7 steps to implementing Agile project management?
The 7-step plan for implementing Agile project management used across many organizations including Jexo, features a vision, roadmap, release plan, sprint plan, daily standups, sprint review and retrospective; the same goes for many organizations!
What are some Agile implementation concerns?
“Agile initiatives can only be effective if the groundwork for increased team collaboration is laid” says Steve Scott, CTO at Spreadsheet Planet. The idea is to establish a productive environment for future collaboration between the customer/product owner and the team.
Rahul Mohanachandran on the other hand, co-founder of Kasera, says that the biggest challenge they faced when implementing Agile was to convince stakeholders of how they could benefit from having their project broken down into iterations. Once the benefit of getting feedback throughout the project was established, then the challenges were overcome.
Non-Agile vs. Agile methodologies - which is right for you?
Building the best product is on everyone’s mind but there are a bunch of challenges along the way. Now aside from having to stay aligned with the latest trends, product building teams need to make sure they’re becoming more organized and efficient.
The first thing a software developer would need is a well-thought-out plan and a clear process; and for that, it’s absolutely essential to have the right software development methodology that goes best with the type of project.
The debate: Agile vs. Waterfall
Many have argued Waterfall is dead, but the fact that traditional environments and processes still exist in many organizations today make it so that Waterfall is still alive.
And yes, it’s not about choosing the best development methodology but rather the one that is most suitable for developing your product. The numbers do however tell a story; based on a 2019 poll on TrustRadius.com, less than one in five professionals said that their organization uses Waterfall, while 81% said they use Agile.
Non-agile, aka Waterfall
The Waterfall or linear method is a traditional way of creating software by splitting its development lifecycle (SDLC) into six different stages. You then tackle challenges one stage at a time and can only move on to the next stage once you’re done with the current one.
These are the usual stages:
- Requirements (includes planning)
- System and software design
Waterfall is rigid in structure, it’s a plan-driven process that can only be successful if you have a clear plan of when, how and why things are done. It works best for bigger teams that have very clear goals and requirements, and that understand the work scope before the initial kick-off.
Agile is a gradual, iterative approach to software development. Unlike the Waterfall approach which is quite rigid, agile is a lot more flexible and open to change. The agile approach is really about breaking down project requirements into smaller user-functionalities we call “user stories”. It’s these user stories that are then prioritized and delivered on a constant basis and in short cycles we call “iterations”.
Customer satisfaction is the end goal here, always, which means every iteration is built around providing the highest quality solution for your customer. Cross-functional teams work in so-called “sprints” of 2 weeks to 2 months, building software for customers to test and offer feedback. Based on that feedback, future work is organized and prioritized in such a way as to offer customer value.
What Agile techniques are mostly adopted?
The Agile techniques teams use most are daily standups, retrospectives, sprint/iteration planning and review sessions, short iterations and Kanban. Notable YoY changes are an increase in product roadmapping, accompanied by a decrease in release planning.
What are the reasons for adopting Agile?
The top three reasons for adopting Agile are: faster software delivery, the ability to manage change and increased productivity.
What are the benefits of Agile?
The top reported benefits of adopting Agile have a theme: speed and adaptability; from being able to manage changing priorities and have project visibility, to alignment and speed of delivery.
What is SAFe?
SAFe is an agile framework that is used to apply lean/agile practices at the enterprise level. As businesses grow in size, SAFe (Scaled Agile Framework) helps align large numbers of agile teams through a set of organization and workflow patterns that guide on roles, responsibilities, values, planning and work management.
This is but a simple introductory guide to Agile and what it is; for more on the Agile methodologies in use today, check out this article!