State of Agile
Introduction
Seems like there's lots going on in the agile world right now. Lots of talk about Lean and it's impact on Agile. Lots of attacks going on at the CSM certification. Kanban is all over the news these days. And just last week, I read about a new Agile methodology called Stride.So how do we make sense of this all?
My opinion is that there is value in each of the methodologies (for the purposes of this blog I'll refer to them all as methodologies even though some of you might not think of them as such). It's real important to read about them all so that you are armed with enough knowledge to know what's out there. I see this as a toolset from which you can choose for your specific situation.
In order to illustrate ....
Scrum is a methodology and process that provides the mechanisms for teams to learn and adapt. Scrum however doesn't say much about the meaning of DONE and how to accomplish that. That's where XP comes in. XP has great practices around engineering discipline. It teaches us all about craftsmanship and producing quality work. I personally cannot see anyone practicing Scrum without at least some elements of the XP toolset. Be it pair programming, TDD, ruthless refactoring, emergent architectures etc.
Lean, on the other hand, is way more philosophical but they have great teachings. For example, recognizing that work-in-progress is a liability is huge. If you start to think like this, you're going to minimize work-in-progress and as a result you will improve overall cycle time. With Lean, people come first. What effect does this have on your organization? Well happy teams make happy customers, better quality software, improved work culture.
And Kanban? Well Kanban helps teams with flow (i.e. cycle time, throughput etc) and almost eliminates the need for traditional sprints, which I won't get into here (subject for another discussion). So many teams are using Kanban boards for controlling the workflow of tasks or stories, or both.
Scrum has also been said to have problems with scalability and cross site development shops. Well Stride in it's infancy (not even sure you can call it an accepted methodology yet) has adapted Scrum to provide capabilities for better handling these sort of situations.
So what do you do?
Well in my opinion Scrum provides the best overall process or mechanism to manage agile project. It's a good base to start with and I would definitely start with Scrum. But you can't go it alone with Scrum. You have to pick and pack from other methodologies till you get what works for you.
I think Agile is evolving and most likely wont stop. And why should it. I want us to get better at it. And there's so many smart people thinking about how to make software development better. I can't wait to see what it will be like in 5 years from now.
Written by Jack Milunksy - COO at Brightspark, certified ScrumMaster and Co-founder of Agilebuddy (Agile project management software that lets you easily Create, Estimate, Plan and Track your software development projects). For great Agile tips follow Jack at: www.twitter.com/agilebuddy. To get more info on Agilebuddy please visit: www.agilebuddy.com





I have received many requests to assist with Agile training and deployment. I am humbled by your interest and, being a huge proponent of Agile, want to help any way I can by providing consulting where I am able to.





October 16, 2009
Jack,
Scrum and agile are products, just like any other, and as such it goes through the same product growth and elaboration patterns that other successful products will.
As the market shifts from early adopters to the mainstream, and eventually the laggards, it these products change and evolve, but often for the worse or for no significant value, as details are elaborated to make marketable points of difference rather than for real customer value.
Agile is a broad label and so it may be able to withstand this for some time. Scrum is more specific and you can see it’s evolution more clearly. What are your thoughts on this?
Posted by: Craig | 10/18/2009 at 04:16 PM
I buy that they are products. I hope that Scrum will evolve, although I am not so sure it will as the Alliance is intent on keeping it from changing. But Agile will evolve and will incorporate the best of the best. And companies will land up using/creating their own flavor based on their set of circumstances.
However the principles, that Scrum is based on are rock solid and sound. And Scrum itself is designed to be adapted.
The next two years is going to be interesting.
Thanks for your comments,
Jack
Posted by: Jack Milunsky | 10/18/2009 at 05:54 PM
Jack, you are ignoring DSDM Atern, which is a more robust methodology. In my opinion it incorporates the best practices of Scrum and XP but adds some additional elements like MoSCoW prioritisation, more extensive business involvement, and roles for Business Analysts and Project Managers. It also integrates well with PMI and Prince2, making it more acceptable to larger, traditional companies.
That said, there are a lot of things in Atern that, like Scrum, it does not address, leaving development teams to evolve the practices that best suit them.
And I think that's a good thing too.
Posted by: Chris Davies | 10/21/2009 at 01:06 AM
Thanks for pointing that out Chris.
Jack
Posted by: Jack Milunsky | 10/21/2009 at 06:54 AM
just goggled in there and saw your web site there ,acording to me if any firm is going to have project management then they should use probably Agile because it is one the best software which is present in the market.
Posted by: Nash | 10/22/2009 at 12:16 AM
Are you referring to Agilebuddy?
Posted by: Jack Milunsky | 10/22/2009 at 07:19 PM