“Speed Enablers” of Agile

February 24, 2014

My previous posts that comprise Chapter Three were all about the business end of agile. I outlined how work is initially defined and progressively refined throughout the delivery process. I also covered how work should flow to teams along with how those teams manage that work and emergent change. And while this is a great start, there’s more to being agile.

As we look at how software teams deliver a solution, we need to examine the technical practices that are used in conjunction with an approach that supports lean and agile values and principles and the characteristics of learning organizations (these are covered in more detail in my post, What is Agile Development?). Technical practices are the second of three pillars in the House of Agile:

Figure 4-1

I’m not going to delve into detailed guidance on any one technical practice. There are entire books written that cover any one of these practices in much greater depth than I need or want to cover with a book designed to talk about expectations.

And just like everything else associated with agile development, I’ll steer you away from looking at technical practices in isolation. Being agile puts greater context into the equation that will help you to distinguish being agile from doing agile. This will allow you to decide for yourself whether a practice makes sense for your situation or if you have another means at your disposal of accomplishing the same objective.

Agile development seeks to overcome a challenge that I put forth in Chapter Two:

To produce greatest possible, high-quality quality customer outcomes…

…in the shortest amount of time possible

…using the least amount of effort

…at the lowest possible cost

…keeping risk reduced

…while creating a sustainable, rewarding, and satisfying work environment that supports learning and continuous improvement.

In the words of Maverick and Goose from the movie Top Gun, we have “… the need for speed!” But we need to get better without making long-term sacrifices that always come back to bite us. So another part of our challenge is that we need to enable speed by using a lightweight, yet disciplined approach. We’ve already seen enablers of speed as we explored the business pillar; if agile is new to you, you may have a feel for them. Can you put them into words?

Speed is enabled through:
  • Minimizing overhead
  • Efficient, effective communication
  • Eliminating bottlenecks and impediments
  • Combing tasks
  • Performing work when it is truly needed, and no sooner
We’ve already seen the importance of feedback loops as we walked through the business pillar, and these feedback loops are equally important on the technical side. We need feedback on what we are building and how we are building it so that we can learn and improve. This will be a consistent theme as I explore each technical practice.

If you’ve rejected any one of these practices in the past, hopefully I can shift your thinking by placing them in the framework of a software delivery value chain with feedback designed in as an integral part of the process. And as I stated previously, if you have an alternative way of accomplishing the same thing, go for it!


Kylie Wilson said...

I think agile is key to successfully implement projects. I got my Scrum Master certification done and now working in a project using Scrum. and I am loving it :)

April 25, 2014 at 8:06 AM
Dave Moran said...

@Kylie, I'm glad that you are enjoying Scrum. The best measure of progress is working software. Good luck, and keep reading! :)

May 7, 2014 at 7:30 AM
Abner Cain said...

Sounds good if someone sticks to it they can actually get to have quite impressive improvements and things that finally helps in a way because at the end it has to do the maximum with a lot of things and through it coming out we experience betterment, business agility is the correct format for it which lets us move ahead and understand more which remains good.

August 5, 2014 at 12:50 AM

Post a Comment