Skip to content

Scrum falls short in at least one area in my opinion

June 5, 2009 by Jack Milunsky

Many of us have come to love Scrum, including me. Scrum has been a huge success overall and has turned many a development team around and for the better. Yet in my opinion, I think Scrum falls short in at least one area.

Concept to Cash

Firstly, It's commonly accepted that Scrum does not consider the whole life-cycle. i.e. it's a great framework for helping development teams tame the development life cycle but it does not tackle all areas from "concept to cash". Lean and Lean with Kanban certainly appears to be an alternative to Scrum or at least coupled with Scrum to provide and all round concept to cash highly effective framework for producing software products.

Definition of Done

Secondly and more in particular, where I believe Scrum falls short has to do with it's definition of Done. Well, truthfully, the definition of Done is not really even a part of Scrum but once again, it's commonly accepted that defining what Done means on Scrum projects is an important part of it.

Potential Shippable code - what does this really mean?

Most Agile thought leaders define the output of an iteration as an increment of potentially shippable code. And more often than not, it appears to be acceptable (please tell me if I perceive this incorrectly) that this potentially shippable increment of code is not actually live production code. And therein lies my beef with Scrum.

Lean

I think the Lean folks have this right - they are very interested in the value stream and minimizing the cycle time of this value stream from concept to cash. So my feeling is that this definition should be changed from "potentially shippable code" to "shipped code".

Iteration Output = Live on Production Servers

On out project teams, every iteration represents a new increment of code LIVE ON PRODUCTION servers - no discussion, no arguments.

This takes serious discipline and focus. And most of all it requires very careful planning. If you get too much work-in-progress you will never turn this in to a reality.

Way to many companies fall short

I find way too many companies after each iteration still trying to close things down in order to get this potentially shippable code shipped. More often than not there's on-going QA etc long after the iteration is over. This is not a healthy state of affairs.

Take the hard line, change the definition, you won't look back

About the Author: As COO and Scrum Master, Jack Milunsky heads software development at Brightspark. Jack is an early adopter of Scrum and has a great passion for early stage startups. Jack is co-creator of Agilebuddy, a next generation Scrum Application SaaS. Jack combines over 18 years of experience managing software development teams both large and small. You can follow Jack for great tips on Agile at http://twitter.com/agilebuddy

Comments

Agree

June 5, 2009 by Stephan Schmidt (not verified), 40 weeks 6 days ago
Comment id: 2667

I agree. Not that Scrum falls short, but more that you should adapt lean on top on Scrum. Here every iteration goes live into production - if the ProductOwner agrees. But level of done here means: code can go live, no more work needed (2 week iterations). It needs a lot of discipline but it's really worth it.

(QA should only attest quality if needed)

Additionally we keep track of cylce time (customer has idea to code being live) which every company should do. Shorter cycle time = more money earned.

Cheers
Stephan
http://twitter.com/codemonkeyism

Potentially shippable problem

June 5, 2009 by Kevin E. Schlabach (not verified), 40 weeks 6 days ago
Comment id: 2681

We have to remember that when "potentially shippable" was created as a concept, we were combating waiting months or years to ship a product. In large enterprise environments, this was an even larger/longer problem. This new concept embodied the idea that we could stop at the end of any 1 month iteration and have something working (and probably of value).

Since then, the industry at large (due to the internet) has embraced eternal betas, imperfect software, and constantly evolving software focused on constant value. Within agile, we've seen a migration to iterations under a month. I believe it is time to rename this to "proven shippable". This is the compromise between Jack's comments and the enterprise's needs. Enterprises build large solutions to large problems and they understand the needs of the market. When a complex domain (like banking or healthcare) already has mature software solutions, you know your product won't displace the competitor's software after the 2nd or 3rd iteration. There is effort to marketing and advertising new products. It is important to have a release cycle and the power that comes with it. You can't just dribble out small changes every week and expect to catch the market's attention.

This is why I think that in small continuous flow shops, I agree with Jack's done = production use. But in large shops with large customer bases, you might need to allow the business and market determine when to take on the new release and not force it on them. If your releases are compelling enough, they will migrate (VersionOne has mastered this!) In this case I don't think your done criteria can be production.

Thus, I propose -> "proven shippable". This means you have shipped it to somewhere external to your development group that is a proxy for the customer base.

How about research tasks/feature

June 6, 2009 by Ovidiu EFTIMIE (not verified), 40 weeks 5 days ago
Comment id: 2683

If you say that all shippable code must be live production one, how do you address the issue of having research items in the backlog, which might have as deliverable a test application or a proof of concept for that particular step of the research?

re: Research

June 7, 2009 by Dave Rooney (not verified), 40 weeks 4 days ago
Comment id: 2684

I come from the XP "world" where we use Spikes for any sort of research. They are time-boxed at no more than a week, and their intent is not to produce code, but rather to learn enough about a problem to be able to provide a reasonable estimate.

The output of a Spike is not intended for production use - it should be thrown away. The time-boxed aspect is also very important - the Coach/SM/PM may have to be, um, "firm" with the developers not to gold plate the experimental code. Again, the goal isn't to code the solution, but rather to learn enough about it to be able to provide an estimate for the real production work.

With respect to handling Spikes from a scheduling perspective, I tell teams that they should typically reduce their budget for an iteration by a point or two for each spike that they're doing. Also, since anything unknown is a risk and we want to make risks visible as early as possible, I coach teams to perform their Spikes as early in the release cycle as poosible. Don't have an iteration that's nothing but Spikes, but don't defer them either.

I think redefining

June 8, 2009 by Anonymous (not verified), 40 weeks 3 days ago
Comment id: 2685

I think redefining potentially shippable as u say
"Iteration Output = Live on Production Servers" is a nice idea, but very much context dependent. It wont work everywhere not because there are some shortcomings, but because it just doesnt make sense in some cases to go live with the output of a sprint.
Our industry abounds with these examples..
IMO potentially shippable is a concept which really works across the board and i cant agree that its a shortcoming.
If your circumstance are such, that you can indeed go live after every sprint, do it by all means. But that cannot be generalized to every kind of product developement in the world.

Spikes/Research

June 9, 2009 by Jack Milunsky (not verified), 40 weeks 3 days ago
Comment id: 2686

I agree that you will have spikes or research tasks that produce no real code, but that's something that is agreed upon upfront. however I believe teams should strive to have any code defined for delivery during the sprint, to be live on production servers at the end of the sprint. if you don't do this, this work just lingers on as work in progress that reduces cycle time and efficiency.

I also buy that there will be certain environments where this may not work. But I think a goal of potentially shippable code lowers the bar and is a cop out for not completing the work.

Kevin. I buy the fact that customers may not want new versions shoved down their throats every 2 weeks for example and in that case I could live with potentially shippable = deployed to production simulated environment where code is totally signed off on. i.e. this should not be an excuse to re-open the code and continue testing.

Jack

discount coach handbag

March 16, 2010 by coachhandbagoutlet, 3 days 2 hours ago
Comment id: 5757

the best coach handbag outlet and you can find all your love discount coach handbags here.coach handbags is one of the most famous brand known in fashion. The coach handbag outlet are known for their sleek and smart coach handbags. You are sure to find one for every occasion.

Post new comment

The content of this field is kept private and will not be shown publicly.
  • Allowed HTML tags: <a> <b> <i> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd> <img> <br> <blockquote>
  • Lines and paragraphs break automatically.
  • Web page addresses and e-mail addresses turn into links automatically.
  • You can enable syntax highlighting of source code with the following tags: <code>, <blockcode>. Beside the tag style "<foo>" it is also possible to use "[foo]".

More information about formatting options

CAPTCHA
This question is for testing whether you are a human visitor and to prevent automated spam submissions.
Image CAPTCHA
Enter the characters (without spaces) shown in the image.

Best of AgileSoftwareDevelopment.com