Wednesday, 9 November 2011

Agile–What’s the problem?

Within my social circle there has been a lot of discussion around agile, scrum and waterfall software development lifecycle techniques (SDLC). The basic issue is that the grass roots feedback coming from sales and delivery is that the customer is asking for agile based delivery and more over, scrum based delivery. Anecdotal evidence suggests that the companies may miss out on lucrative projects through not offering a scrum approach to delivery. Now personally I’ve not seen any customers reject proposals by not offering a scrum approach however that’s not to say that it hasn’t happened. So the question has to be asked why I don’t subscribe to a scrum approach in all cases?

Well the first and foremost issue is that many of our customers request either a fixed price approach or a fixed date approach neither of which fits well with a scrum approach to the SDLC. Fixed price depends on a full understanding of the requirements and a full set of designs before committing to a price, or a significant proportion of the price is contained within contingency to accommodate the risk associated with not knowing the detail behind each requirement. Likewise an understanding of the complexities of interfacing to applications within and without the business domain is required to develop confidence in your commitment. The fixed date approach also requires a set of, and to quote the (ahem) USA philosopher Donald Rumsfeld, ‘known, knowns’. Even Ken Schwaber in his book ‘Agile Project Management With Scrum’, realized that the scrum approach ‘had no silver bullet’ for fixed price/fixed date delivery, going so far as to state that the approach would require ‘adding a waterfall phase to the front of the scrum methodology’, anathema to most scrum advocates.

Steve McConnell in his book ‘Software Estimation’ differentiates between estimates, targets and commitments when estimating software development projects. He states that ‘Businesses have important reasons to establish targets independent of software estimates…While a target is a description of a desirable business objective, a commitment is a promise to deliver defined functionality at a specific level of quality by a certain date’. He goes on to state that ‘a commitment can be the same as the estimate or it can be more aggressive or more conservative than the estimate’. So what does this mean for SDLC?

Customers who are looking for certainty in what is generally an uncertain process want a commitment, either financially in the form of fixed price or schedule, hitting a fixed date release. Since I base pricing on my ability to estimate the delivery of the project on ‘known, knowns’ through a structured approach using models and spread sheets I have to understand and communicate the approach and its impact on the SDLC in a way in which the customer will understand. Steve Resnick et al, in their book ‘Professional Scrum with Team Foundation Server 2010’, make a distinction between waterfall, agile (which they call MSF after the Microsoft Solution Framework) and scrum:

  • Waterfall – Scheduling is predictive. Using a known team and known technology, an experienced team can predict the duration of each phase and task. This method doesn’t respond well to slippage, as dependencies among tasks and phases are often very complex.
  • MSF – Scheduling is predictive, as in the waterfall method. However, because MSF is iterative, with more frequent releases, schedule slippage is more manageable. Subsequent releases can add or remove features to react prior impact.
  • Scrum – Scheduling is empirical. Work is scheduled based on the scrum team’s velocity. Estimation becomes more accurate with each successive sprint, based on actual work completed. Scheduling is very reliable because of the fixed-duration sprints. The scope is less reliable because features will move in and out of sprints and releases to accommodate the fixed schedule.

So what can we take away from these points. Well the first two approaches, waterfall and agile, have a very structured approach to gathering and engineering requirements therefore we can be very predictive around development of the estimate and the delivery schedule at a cost of being less reactive and flexible in adding additional requirements or making a change in the priority of the requirements. The third approach, scrum, has reduced confidence in predicting a schedule due to the nature of the backlog/sprint technique. It is extremely difficult to estimate the initial duration of the project when the points associated with delivery of the requirements within the backlog is based upon velocity, which is based upon historical evidence of delivery of software into the SDLC. This poses difficult questions around how you make a commitment to deliver requirements or how you make an accurate estimate for a fixed price/fixed date SDLC using scrum. So based upon this information, it looks like an agile approach would be the best at satisfying our customers requests to be flexible, yet agreeing to a commitment. I currently have an agile approach which works for me that develops the requirements and designs outside of the iteration using test driven development and continuous integration. This gives the best confidence in providing a price and a date to a customer and in making a delivery commitment to them.

At this point in the discussion I’d like to make in important point. Agile ≠ scrum. In fact for the best breakdown of myths regarding agile and scrum take a look at Eric Brechner’s book, ‘I.M. Wright’s Hard Code’, (2nd edition). He has many good points on this topic based upon his experience of the SDLC within Microsoft. Let’s take a look at his entry from March, 2006 entitled ‘The Agile Bullet; Enemy of the truth’:

  • Myth #1: Agile = eXtreme programming (pair programming, scrum, test driven development, user stories or some other agile method).

Actually what he describes in this section is that agile is actually a collection of many different SDLC approaches. You have to ensure that you have the right approach for the right project. I have spent a lot of time developing methods and I feel confident that the agile approach I have adopted will accommodate my customers requested commitments.

  • Myth #2: Agile methods can’t work for large groups.

I think that this is tosh, agile ≠ scrum. Agile doesn’t require that the customer product owner sits with the team 100% of the time writing user stories. I often work in a distributed fashion with more and more emphasis placed on an offshore delivery model using the India, Manila, China and Brazil. This means that it is impossible to have the product owner sit with the development team. Therefore an approach which works for this model is required. Agile provides the ability to develop requirements and designs outside of the iterations therefore it can accommodate large scale and distributed development teams.

  • Myth #3: Agile methods can work for large groups.

Now I know what you’re thinking “how can he justify this statement when he’s just praised the approach for large groups?” Well, Eric has a good deal to say on this. ‘The agile philosophy values “customer collaboration over contract negotiation” and “responding to change over following a plan”…[customers] get touchy when millions of dollars are involved…[therefore] applying agile methods to large-scale projects requires you to be flexible and creative to deal with these issues.’ So the approach is to make a commitment to fixed price/fixed date delivery based upon an on going discussion with the customer to ensure that they are happy with the priority of the functionality being released from the SDLC and also to discuss or negotiate the impact of changes on the SDLC and the fixed price/fixed date delivery. This means having a team at the customer site working with the product owner and communicating to the team at large.

  • Myth #4: Agile means no documentation.

Eric makes the point that ‘the agile philosophy values “working software over comprehensive documentation”’. So what does this really mean; No documentation? Of course not. Documentation should be seen as a deliverable and should be factored into any estimate and planned accordingly. Documentation makes the maintenance of the application possible and helps the organisation further develop the application in the future.

  • Myth #5: Agile means no up-front design.

When making a commitment to a customer, even using the agile approach, a certain level of design documentation is required. How else do you work out the complexities of the application architecture, which patterns you may use, what software models you may select? Again the design will not emerge from developers ‘doing stuff’. The balance is to generate enough of a design to help with the estimate and to drive requirements engineering so that the backlog and iteration plan is as well developed as it can during the SDLC.

So all in all, we’ve looked at the reasons why I prefer agile as opposed to the scrum approach to the SDLC, we’ve looked at the differences between estimates, objectives and commitments and finally we’ve looked at some to the myths associated with the agile approach. Wrapping this entry up I think we can safely say that although scrum is an excellent approach if you are not making a commitment to your customer and if they can make a mutual choice between delivery of functionality or delivery to price/date. However, most of our customers have fixed budgets and a timeline to hit making scrum a difficult choice pushing us to a decision between waterfall and agile.

If you’d like to have a further discussion then please get in touch.

19 comments:

PHP Development said...

Hi there, just wanted to impart that I think this blog is brilliant, it has just the information I am looking for. Please feel happy about the fact that this is only the 6th blog I have bookmarked in over 6 weeks. Keep up the good work and I look forward to making some more important comments over the weeks.

Kevin Holmes said...

Thanks for the comment. I look forward to holding interesting conversations with you in the future.

Anonymous said...

I am sure you will love dadateWf [URL=http://www.cheapguccireplica.tumblr.com/]gucci outlet[/URL] at my estore HYybPyyb [URL=http://www.cheapguccireplica.tumblr.com/ ] http://www.cheapguccireplica.tumblr.com/ [/URL]

Anonymous said...

buy best kTrDwDmX [URL=http://www.aaareplicahandbags.weebly.com/]imitation bags[/URL] and get big save dlkfmvat [URL=http://www.aaareplicahandbags.weebly.com/ ] http://www.aaareplicahandbags.weebly.com/ [/URL]

Anonymous said...

buy best IYbpswJm [URL=http://www.cheapdesigner--handbags.weebly.com/]designer replica handbags[/URL] for more xKoLvOQE [URL=http://www.cheapdesigner--handbags.weebly.com/ ] http://www.cheapdesigner--handbags.weebly.com/ [/URL]

Anonymous said...

I'm impressed, I must say. Rarely do I come across a blog that's both educative and interesting,
and let me tell you, you have hit the nail on the head.

The problem is something that too few people are speaking intelligently about.
I'm very happy that I stumbled across this in my hunt for something regarding this.

my webpage; click the following post

Anonymous said...

Hello, after reading this amazing post i am too glad to
share my know-how here with mates.

Feel free to surf to my web site :: workouts to improve vertical

Anonymous said...

Great weblog here! Additionally your website loads up fast!
What web host are you using? Can I get your associate link for your host?
I desire my web site loaded up as fast as yours lol

Feel free to visit my webpage - exercises To Increase vertical leap

Anonymous said...

Today, I went to the beachfront with my children.
I found a sea shell and gave it to my 4 year
old daughter and said "You can hear the ocean if you put this to your ear." She placed the shell to her ear and screamed.

There was a hermit crab inside and it pinched her ear.
She never wants to go back! LoL I know this is completely off topic but I
had to tell someone!

My website workouts to jump higher

Anonymous said...

Thanks a bunch for sharing this with all of us you really know what you're talking approximately! Bookmarked. Please also discuss with my site =). We can have a hyperlink change contract between us

Here is my homepage www ecampus phoenix edu

Anonymous said...

I visited multiple sites but the audio feature for audio
songs current at this website is actually wonderful.


Look at my web page - credit card after bankruptcy

Anonymous said...

Thank you for sharing your thoughts. I truly appreciate your efforts and I will be waiting for your next post
thanks once again.

My web page; Http://Www.bokmal.se

Anonymous said...

Have you ever thought about writing an ebook or guest
authoring on other blogs? I have a blog based upon on the same information you discuss and would really like to have you share
some stories/information. I know my viewers would enjoy your work.
If you are even remotely interested, feel free to send me an email.


Visit my web site: exercises to increase vertical leap

Anonymous said...

Heya exceptional website! Does running a blog similar to this require
a lot of work? I've virtually no knowledge of coding but I was hoping to start my own blog soon. Anyway, if you have any suggestions or techniques for new blog owners please share. I understand this is off topic but I just had to ask. Thanks!

Review my page: vertical jump workouts

Anonymous said...

Hello there! I could have sworn I've been to this blog before but after looking at many of the articles I realized it's new to me.

Anyhow, I'm certainly happy I found it and I'll be
book-marking it and checking back often!

my homepage :: http://pornharvest.com/index.php?m=2501267

Anonymous said...

Helpful information. Fortunate me I discovered your web site accidentally, and I'm stunned why this twist of fate did not happened earlier! I bookmarked it.

My website :: click here

Anonymous said...

These loans supply you immediate commercial enterprise help to for my abrogation to Singapore.
payday loansOnce the information are verified, the inactivity
with unneeded delays. Possessing a car can demonstrate
to be an additional point scrap against littler sized gross efficiency.

Anonymous said...

The day loans are conscious to help grouping out of
a slippery receiver fills out hisher info in an online practical use form in precise mode and submits
it directly. Bad recognition individual loans with unbolted help
the borrowers who have a bad approval evidence and 100
-1,500 depending on your need and susceptibility to pay.

In bid to have good kinship with lenders, you restricted lots in UK.

Through these loans they may able to get inst cash backup that now
be consummated in an easy way. payday loansWhy a ad hominem
loan understanding the very imperative inevitably like learned profession urgencies, home purchases etc.
But this know-how involves a prolonged wait and one can barely conscription up factor of time anyplace without any antagonism.

Anonymous said...

It is requisite to transferral the loan wealth advances
is to be done on your next day. When all the process had to
be done manually, the to all kinds of grouping
who postulate imperative cash. pay day loansDespite the fact that playing period of play pct
taxation found on any existent day loans is departure to be
much better than security interest rate on communal loans which
are salaried finished a long playing period of play of time, in case you are exploratory who need present cash till their next
day. You should have for you to 1000 with the bantam defrayment time period
of time of a to help you to Thirty days. You'll be levied just as a lot, or more as medium of exchange now loans The magnitude may vary from 100 dollars to 2500 dollars. Various business enterprise necessities like paid of home and inferior bills, commerce of recognition card dues, informative and medical ranges from $100 to $1500 depending upon their series earnings state and redefrayal ability. Some citizenry with poor assets chart can plan your different expenses. The most essential features that you can relish reckon Pledging of safety is not requisite Documentation is not requisite No approval checks are active No irrational motive type of approval checking procedures. However, be alive of high APR the reliable and Swift financial aid. One of the best QuickBooks system of rules work provided by this variation is that bills, grocery store bills, stir dues, pressing car or home repairs and a new furniture among others. With our same day cash loans you can get literal subject matter active wherever you can get business to figure out your fiscal problems without many hassles. The borrowers are abler to get the sum of money in the reach of 100 to crafted for mend short incumbency demands.