Agile methodologies in software development have been around for a long time. The Agile Manifesto was written almost 13 years ago in fact. Initially a hit with developers who were struggling to find a better way to build software, Agile thinking has been adopted across organizations in a variety of ways as technology managers shared the successes of Agile development with other functions in companies. Over time, Agile has acquired a sort of mythical stature, a cure-all of sorts. Managers, challenged with getting results have been told, just go “Agile”. And when struggles continued, they were told, just do “Agile right”.
So, as a heterogeneous culture of start-ups and development oriented businesses, we’ve been doing Agile in some form or another for up to 13 years. That’s like 130 generations of management thinking in internet years. Life is better now, right? Software is no longer buggy, mistakes no longer exist and businesses are no longer wasting resources right?
Much of the trouble with implementing Agile comes from unrealistic and sometimes blatantly false expectations. As humans, we are constantly looking for the quick fix. The world is littered with programs to lose weight, get rich, grow your influence and (mea culpa), how to improve your software development process in 5 simple steps. We are facing a poverty of attention so when we hear about a simple solution to a big problem, we’re convinced of the solution before we understand it. We suspend our common sense and think that maybe, just maybe that unicorn does exist after all. What’s more is that he’s going to ride in and carry us all off on rainbows! Our eagerness to find a simple solution has led us to create misconceptions about Agile to reinforce our own biases and sometimes our own hopes. Here are 3 misconceptions the prevent Agile from becoming effective in your culture.
3 Misconceptions with Agile
1. Agile solves all our problems
Business leaders and managers who have been frustrated with the rate of progress in their organization have been looking to technology leaders for answers. The rise of Agile in the software development industry has been heralded by much of the software development world as a “better way to develop projects”. Managers, eager to reap these same improvements across other parts of the organization have believed the hype without understanding why the hype exists in the first place. “Go Agile” sounds simple enough, it must work, right? However, Agile requires much more that posting a bunch of sticky notes. In fact, the name Agile is a little problematic in and of itself for business people who confuse it for “I can move quickly and easily” without realizing that the entire organization must change in order to reap the benefits of Agile. In the pursuit of productivity, they forget the effort required to achieve simplicity. The Agile Manifest calls this “the art of maximizing the amount of work not done”. Art requires work too as it turns out and while the challenges in Agile are different than the challenges from other ways of working the challenges exist nonetheless.
2. Agile removes the need for planning
Many creative business people love this misconception. To some creative business people, the process of planning is a bore and the details necessary to execute a product or strategy are for others to “figure out”. When these people hear that Agile doesn’t have lengthy requirements documents, they rejoice. However, Agile does require planning and it’s own planning artifacts too. And while the Agile Manifesto does value software over comprehensive documentation, that doesn’t mean no documentation. For companies looking to implement Agile thinking outside of development teams, this means that you will still need to document commitments and measure results in order to learn and innovate. Planning still exists, you will just be doing it in smaller chunks with your teams rather than dictated from the executives offices.
3. Implementing Agile will take only a few months
Many managers and executives ask me about how long it will take to change to Agile thinking. The honest answer is “I don’t know”. In reality, the ability to switch an organization to Agile thinking depends on a variety of factors, chief among them; the history of the company and the willingness of company to embrace change. What I do know is that Agile is not a new tool or technology, it’s a mindset. It is a mindset that puts delivering value first, cultivates transparency and is relentless about continuous improvement.
5 Critical Tenets of Agile for your company
1. Small Chunks of value
For the Agile worker, communication is king. The ability to inspect our work and adapt to fit the goals of the business is critical. Therefore, spending weeks on annual budgets and planning sessions are not a great use of time for an Agile organization. Instead, investments in time-boxed, short iterations of planning and executing are more valuable because they give one the opportunity to see if the fruits of the company’s labor are having the intended effect. By working in small chunks, teams increase the communication loop with customers and each other and can measure their success in singles and doubles instead of home runs (unless you are the 2013 Red Sox of course, more home runs please).
2. Measuring Results
Peter Drucker told us a long time ago “you cannot manage what you do not measure”. Therefore, in order to implement Agile, you need a scorecard. For developers this may be a burndown chart, planning board and a backlog. For other departments, you’ll need to develop your own artifacts for tracking progress. This most important feature of these artifacts is transparency. Everyone on the team needs to be able to understand what everyone is working on, how the team is progressing towards it’s goals and how others are depending on them for work. This means more than measuring vanity metrics like visits and impressions. We need projects chunked up into deliverables along with acceptance criteria so that we can measure the team’s progress against a work backlog.
3. Reflect as a team
The Retrospective, eloquently explained by Ben Linders here is a critical component of the Agile mindset. The process of reflecting on how the team is working together is a non-negotiable for successful Agile implementations both inside and outside of the development department. Creating the correct environment to foster honest communication about what’s working and what’s not working is critical for teams to consistently improve.
4. Culture of responsibility
Agile relies on teams that are capable of committing to chunks of work and reliably delivering that work. One way to help ensure that this happens is by having team members commit to each other. Teams that commit together to deliver to another team or an external customer have greater accountability, especially when in small teams. The team will quickly learn patterns of work for the team, the results they bring (including under-performing teammates) and be forced to address them to succeed as a time.
5. Leaders must stay involved
Agile is a mindset for the entire organization. It is most successful when a company’s leadership is actively engaged in the Agile mindset, approaching their own jobs with an honest inspect and adapt perspective. Further, taking interest in how others in the company are approaching their work with Agile thinking further encourages the trust in the Agile mindset that is so critical for success. Leaders who share their commitments and results with the rest of the company will reinforce the importance of transparency and continuous improvement.
Building an Agile culture is hard. It requires hard, consistent work for all levels of an organization. If you are a leader thinking about bringing Agile to your development practices (and if you are, read Arin’s post here and here), or a leader looking to expand Agile from your development team to other parts of your organization, remember that Agile is not some Tooth Fairy that comes in and sprinkle magic dust on your projects to make them work. Agile is a set of values and beliefs that must be constantly nourished, examined and reinforced.