Agile Rob posted a column a few days ago entitled, "If You Don’t Focus on Business Value, Don’t Adopt Agile." He tweeted it out and after reading it, I replied that I did not entirely agree. Rob asked that I post a comment on his blog. The following is an extended/modified version of that reply.
I read two articles today, "Adopting Agile Isn't The Point", by Mike Cottmeyer and "If You Don’t Focus on Business Value, Don’t Adopt Agile.", by Robert Dempsey. Rob's posting is an expression of agreement with Mike's.
Mike's basic point is that we can lose the sight of our actual goal when we phrase our efforts in terms of task rather than objective. "When we allowed ourselves to define our work in terms of our activities, we risked losing focus on the desired outcome of the project."
He then applies this to Agile adoptions. The goal is not to have a Scrum master or to do TDD. "Those things are the stuff we do to get the desired business outcome."
You can analogously extend this to other areas of your life. I am a runner. I've set a 5k goal time for myself. In order to get there, I've laid out a plan that includes certain tasks on certain days. My goal is not to run 30+ miles per week. My goal is not to do 8 weeks of hill training. My goal is to run the 5k faster than a certain pace. If I need to adjust the tasks, so be it. If I focus on the tasks, I lose sight of the goal. I may very well finish 8 weeks of hill training and find myself injured.
I agree with Mike.
Rob takes this fundamental premise and extends it to say, "If you don't focus on business value, don't adopt agile."
This I do not entirely agree with.
This, to me, is similar to, "If you don't focus on cardio-vascular health, don't take up running." While cardio-vascular health is a significant and worthy objective, it is not the only reason to run. Fortunately, it is a common and beneficial side effect.
I might adopt agile to improve code quality, to deliver in smaller increments, or to improve communication. These are also valuable and worthy objectives. They are likely to add value to the business as a common and beneficial side effect. Just as a goal of a certain time in the 5k can result in improved cardio-vascular health.
The point is that we know our true goals and objectives. That we know why we are performing certain tasks. And that we not confuse the tasks with the desired outcome. This is not the same as saying there is only one true desired outcome.
Adopting agile isn't the point. Business value doesn't have to be either.
Thank you for the comment on my blog Mike, and this post. Mike is much better at expressing what he means than I, and has a great post today on what value means: http://www.leadingagile.com/2009/12/who-cares-about-value.html
ReplyDeleteThe companies that I work with implement Agile to gain some value, be it faster time to market, greater visibility into projects, or something else. All of their reasons though come down to what it will do for the business.
Defining value can be difficult, and as Mike points out in his post, has a number of defining factors.
My question for you is that why do you want to achieve your goal of the 5k time? What will that do for you? Sure, cardiovascular health might be a great side effect, but my guess is that the reason is something much deeper. That reason is the value that you get by achieving that goal.
So in my mind, and by how I define value, you are running to get value for yourself. If you weren't getting some benefit (emotional, physical, other) then why run? Just because? We all have reasons why we do things. Those reasons usually equate to some value that we get by doing an activity.
I'll leave the deeper psychology to those more qualified though. I'm no psychologist.
Nice. Thanks for saying this. We focus way too much on business value, and it is to the detriment of personal happiness. To me, the latter is the real goal of changing the way we work. From personal happiness comes great work, from great work comes healthy profit.
ReplyDeleteI am reading Eli Goldratt's book, "the goal" at the moment and so it comes to my mind the part of the book where Jonah asks Al what is the "goal". He starts ramblings some thoughts but in the end, they both agree that the goal is to make money. What is our goal in a software development project? I believe it is to provide business value to our customer, which in our case it translates to provide the software with the expected quality in the expected timeframe. I believe the Agile principles and values provide the best means to accomplish this. If we improve the code quality (keep the code clean), we deliver in increments and we communicate well we will have much better chances of getting to the goal.
ReplyDeleteI agree with you, but I think folks are being a little myopic in their view of business value when perhaps they are saying this. Example: a company's business value may be far away from any IT at all (e.g. if one makes cornflakes, that as nothing to do with software directly).
ReplyDeleteBut as you determine what needs to go into making a good final product, a supporting process may gain business value from the outputs you allude to... higher software quality, higher team morale, software focused on delivering the needed results in a timely manner, or a whole plethora of other IT-related values.
I agree taking up something like doing TDD for TDD's sake isn't worth anything, but even if the idea is to reduce your maintenance tail by designing in the appropriate level of quality focused on what the software needs to do, that is still a form of useful business value.
I think what everyone is saying and as Mike Cottmeyer has blogged is that it is difficult to identify the business value upfront (hey sounds like software development); you need to implement, inspect, and then adapt with the potential business value as well.