Google

Tuesday, October 03, 2006

Risk based selection for agile iterative lifecycle methods

This overview helps project management and teams in selecting the best iterative method(s) for their projects, based on the major risks they want to tackle. The overview highlights the focus of the different methods, ie. which risks are mainly addressed. This is not a detailed course on all the methods, but references to literature are provided.

During the last decade agile software development methods and lifecycles (SDLC) became very successful and as such a lot of hype was created around them. The abundance of methods that have been developed looks scaring at first sight: agile, incremental, iterative, evolutionary, lean and extreme are some of the terms used. It is not easy to select the right method for the problem at hand.

As a project team your focus is on tackling your project's risk. Choosing the right iterative development method is an important activity early in your development lifecycle.

Compared to the waterfall approach all iterative methods have in common that their main deliverable in (almost) every iteration is an integrated, tested, executable system. All development processes (requirements, analysis and design, coding, integration and test) are performed in every iteration.

Differences between the methods lie in the kind of risks where they put the focus on, the length of iterations, the amount of documentation, the importance of modeling.

What follows is an overview of the best-known methods, their focus, and main references. Use this overview to make an educated selection for your projects.

Spiral Model (Boehm 1985)

Although not the first application of iterative development, Barry Boehm was the first to explain why iteration matters. The spiral model has explicit activities to identify risks, tackle them via prototyping and evaluate them before going to the next iteration.

A Spiral Model of Software Development and Enhancement, by Barry Boehm, IEEE Computer, May 1988


Incremental Development

Often used together with iterative development. The main focus is on a staged integration. The major risk of a big bang integration near the end of development is tackled. In traditional waterfall oriented organisation, incremental development has the advantage that you can work in an iterative way only at the backend of your lifecycle activities (coding, integration, testing) and do the front part activities (requirements, analysis & design) in a waterfall way. No difficult cultural and organisational change is needed with your business partners. A disadvantage of this approach is that you remain inflexible to requirements changes. With a fully iterative process you also do your requirements activities with every iteration, and you can cope with requirements changes, but it also requires more involvement from your customer.

Rational Unified Process (RUP)

An iterative incremental development process by IBM-Rational which is widely accepted by industry. The process is architecture driven, use case driven, and risk driven, in right balance. Compared to the agile methods there is more emphasis on documentation and visual modelling. IBM-Rational provides a whole toolsuite and web-based process asset library to support the process. RUP is highly tailorable and scalable, although the tailoring can be a challenge for somewhat smaller projects.

The Rational Unified Process: An Introduction, Philippe Kruchten,

eXtreme Programming (XP)

XP is the best known of the agile methods. The aim is on coping with unstable requirements. Emphasis is put on communication, simplicity, early deliveries and testing. The method is based on a set of core practices: test-driven development, continuous integration, pair programming, small releases, customer tests, simple design, refactoring, metaphor, collective ownership, coding standard, planning game, whole team and sustainable pace. XP works very effective and is largely productive for small highly skilled teams. The method is rather difficult to scale to large distributed teams. It can also be difficult to use in traditional development organisations.

www.xprogramming.com (Ron Jeffries)
eXtreme programming - a gentle introduction
Extreme Programming Explained, Kent Beck

SCRUM

A method which emphasizes on project management and team work, with less focus on the engineering practices. Iterations are defined as 30 days sprints. Daily 15 minute meetings (scrums) help the team stay on track and make fast progress. Customer prioritised features are kept in a backlog. The method is widely applicable, both on new projects and on maintenance, at the team level (which might be part of a larger organisation).

www.controlchaos.com/
Agile Project Management with Scrum, by Ken Schwaber, Microsoft Press

Dynamic Systems Development Method (DSDM)

When staying within the deadline and the budget (time-box principle) is your main concern you might have a look at DSDM which focusses on these risks. The process framework is based on Rapid Application Development (RAD). There are similarities with RUP, but there is less focus on tools and techniques.

DSDM Consortium


Crystal Methods (Alistar Cockburn)

XP like method, but more focus on documentation. Emphasis on tailoring for project sizes between 6 and 60 developers, and for criticality. Attention is given on versioning and configuration management.

Crystal Clear: A Human-Powered Methodology for Small Teams, by Alistair Cockburn

Feature-Driven Development (FDD, Peter Coad)

Combines agile methods with model driven techniques. The focus is on features: plan by, design by, build by, and report by feature. The domain modelling is mostly done upfront. Iterations are defined as feature sets. A feature is developed in a waterfall way. Due to the emphasis on domain modelling this methods scales good to larger teams.

A Practical Guide to Feature-Driven Development (The Coad Series),

Test-Driven Development (TDD)

Focuses on testable requirements and test automation. The development cycle is turned around: start with a test case and a failing unit test before implementing the code. Use unit test tools and build a regression testsuite on the go. This is one of the XP practices that seems to be more difficult to adopt in traditional development environments.

Test Driven Development: A Practical Guide, by Dave Astels
Test Driven Development: By Example, by Kent Beck
Introduction to TDD, by S.Ambler


Component Based Development (CBD)

CBD is about building software systems by assembling and integrating software components, rather than about coding. The focus is reducing development cost and rapid system assembly. Activities include: component qualification (suitability testing), component adaptation, assembling components into systems and system evolution.

Component-Based Software Development / COTS Integration


Lean Software Development (LSD, M.Poppendieck)

Based on "lean thinking" in manufacturing, logistics and product development. The focus is on efficiency and the elimination of waste. Also related to "lean six sigma".

Lean Software Development: An Agile Toolkit for Software Development Managers
Lean Software Development. Deliver Value Quickly, Efficiently, Reliably - Every Time


Waterfall lifecycle

A waterfall lifecycle is only suitable for easy projects with well known requirements and known solutions. These kind of project are rather rare those days. Or as Fred Brooks explained in his
‘95 ICSE keynote and in his famous “Mythical Man-Month”: “The waterfall model is wrong!”.

General literature on agile and iterative development:
Manifesto for Agile Development
Agile and Iterative Development: A Manager's Guide, by Craig Larman
Agile Project Management: Creating Innovative Products, by Jim Highsmith
Agile Software Development, by Alistair Cockburn
Unified Project Management, by Walker Royce
Balancing Agility and Discipline, A Guide for the Perplexed, by Barry Boehm, Richard Turner

Conclusion

An iterative development lifecycle is the obvious choice in todays flexible software business. Choosing the right variant of iterative development should be based on the risks you want to tackle in your project. This overview gives you a first guideline.

Digg it! | Add to del.icio.us

80 Comments:

Anonymous Meikah Delid said...

This is very useful information, especially for project managers. Thanks!

Tuesday, October 10, 2006 11:45:00 AM  
Blogger Robin Allenson said...

Hi

Good article Ronny. Rather than risks, I reckon that you consider what software development problems your team has been struggling with, find the root cause of these and use this as the key to deciding which agile best practice you should implement first. I explain how this approach works in: http://profmgmt.wordpress.com/2007/02/04/what-software-development-problems-do-agile-best-practices-answer/

Cheers
Robin

Saturday, August 04, 2007 1:10:00 PM  
Blogger Offshore Software Development said...

For organizations to stay ahead in today’s fast changing business scenario, time is the single biggest factor – time to market, time to launch new products, time to respond to customers. Organizations are faced with a growing number of challenges and business risks due to rapid advances in technology and increasing pressures on margins.

Software Development Company

Saturday, September 22, 2007 12:09:00 PM  
Blogger art said...

Hi,

This articles is good and informative.

Software Development Company

Thursday, October 04, 2007 11:39:00 AM  
Blogger Peter Steves said...

Indeed a well read. With the article focussing on specific agile software development procedures,software developers can easily pick up one of them.Agile software development is an intrinsic part of software development and is also a reckoned name in the field of offshore software development.

Tuesday, February 05, 2008 1:20:00 PM  
Blogger Chad said...

Very good content, i wish to exchange my blog link with you:

my blog is mainly on doing software reviews,this is my blog:
http://recommendsoftware.blogspot.com/

Friday, February 22, 2008 5:44:00 PM  
Anonymous Anna Kolesnik said...

thank you for your notes it will be useful for me

Wednesday, March 26, 2008 1:42:00 PM  
Anonymous agile software development said...

While agile development has rather critical processes to follow thus getting well acknowledged with the cycle layers is important...quite lucrative blog......

Thursday, May 15, 2008 12:18:00 PM  
Anonymous Graham Bolton said...

Hi Ronny,

I'd like to ask your opinion about Code Inspection in agile development processes. I'm a fellow of the Institute for Software Quality (www.ifsq.org) -- we're producing, publishing and promoting a set of standards for source code.

What's your position?

Friday, May 15, 2009 3:10:00 PM  
Anonymous alex said...

This is very useful information, plz visit my
Software Blogspot yah.. thanks

Sunday, November 08, 2009 8:37:00 AM  
Blogger Ryan Williams said...

I always read your blogs something everyday because I like your thought and I got much advice after read you. I tell to my other friends about this & it’s blog. I hope you will read my this comment and you will remember me. i want you to always make new articles like this. I appreciate this.

Thanks a lot.
Online Applicant Tracking System

Monday, August 16, 2010 11:57:00 AM  
Anonymous ali0482 said...

A waterfall lifecycle is only suitable for easy projects with well known requirements and known solutions. These kind of project are rather rare those days. Or as Fred Brooks explained in his

Wednesday, August 18, 2010 7:16:00 PM  
Anonymous ali0482 said...

An iterative development lifecycle is the obvious choice in todays flexible software business. Choosing the right variant of iterative development should be based on the risks you want to tackle in your project. This overview gives you a first guideline.

Wednesday, August 18, 2010 7:43:00 PM  
Anonymous Data Recovery said...

I like your post about "Risk based selection for agile iterative lifecycle methods"

I want to share you a great technique which known as data recovery services and softwares, it can prevent your lost data due to any reason.

Thursday, August 19, 2010 11:00:00 AM  
Anonymous Software Development India said...

Hey, thanks a lot for sharing the nice post with us. Keep going on

Friday, August 27, 2010 12:57:00 PM  
Anonymous Software Testing said...

Very useful information. I like the way of presentation.

Monday, October 11, 2010 7:02:00 AM  
Blogger lala said...

This comment has been removed by the author.

Monday, October 11, 2010 9:50:00 AM  
Anonymous VPS Hosting said...

very good work done. i like it!

Thursday, October 14, 2010 4:42:00 PM  
Anonymous softwarecollectors said...

the one thing that i liked about it is when in project team, your focus is on tackling your project's risk. Choosing the right iterative development method is an important activity early in your development lifecycle.
For more tips refer softwarecollectors

Sunday, October 31, 2010 11:02:00 AM  
Anonymous Hire PHP Developers said...

This is the very helpful information for managing to business the overview highlights the focus of the different methods, thanks for sharing this post.

Thursday, December 16, 2010 8:28:00 AM  
Anonymous Mike Bosch said...

Nice Blog.

Wednesday, December 22, 2010 7:32:00 AM  
Blogger sample said...

This comment has been removed by the author.

Monday, December 27, 2010 6:59:00 AM  
Anonymous max said...

useful and nice post !!!

Xtreme zone

Tuesday, December 28, 2010 2:28:00 PM  
Blogger Joshua said...

The software company I work in uses the agile method in development. We make sure that through this method, we produce high quality results. We follow standards as stated by the ISO 9001 registrar when we got that certification of quality management systems. Through this certification, we are recognized by the world as one of the companies that comply with this standard.

Thursday, December 30, 2010 3:56:00 AM  
Blogger Phyllis said...

This is a good article Ronny. I would be most likey consider using software in our small company. What do you think of misys software and quickbooks alternative, anyway? I have been hearing them to some friends. I hope you can find time to answer this. Thanks!

Tuesday, January 04, 2011 10:56:00 AM  
Blogger tracebizz said...

I agree with Meikah Delied........
useful information,

Sunday, January 23, 2011 12:23:00 PM  
Blogger Paddy said...

sentientit develops software based upon the latest technologies and utilizing Mobile – based applications and Web-based applications software development which provides excellent service.

Friday, March 04, 2011 8:26:00 AM  
Anonymous Application Development Services Chicago said...

Very nice sharing. Really appreciated.

Monday, March 14, 2011 12:18:00 PM  
Blogger chhipa said...

Thanks for taking the time to discuss this, I feel strongly about it and love learning more on this topic.

Apron | Shop Towel

Saturday, March 26, 2011 12:48:00 PM  
Anonymous Anonymous said...

Pretty good post. I just stumbled upon your blog and wanted to say that I have really enjoyed reading your blog posts. Any way I'll be

subscribing to your feed and I hope you post again soon.



http://www.boundlesstech.net

Wednesday, March 30, 2011 9:18:00 AM  
Blogger Roman said...

Interesting and helpful article, thank you.

http://www.micro-tronik.com/

Wednesday, April 06, 2011 10:43:00 AM  
Anonymous vjack said...

I surely enjoyed every little bit of it

Friday, April 08, 2011 11:26:00 AM  
Anonymous Entertainment said...

Agreed with meikah. Thanks a lot.

Friday, April 08, 2011 4:13:00 PM  
Anonymous google maps google maps said...

Nice Blog. Very informative and also great post. Thanks.

Friday, April 08, 2011 4:14:00 PM  
Blogger Gowshika said...

Excellent sharing Thanks for share i am sure its must help me. thanks for doing this.
Software Product Development

Tuesday, April 12, 2011 9:34:00 AM  
Blogger Seo Tips said...

Thanks for sharing thins information. Great article.

Seo With Google

Wednesday, May 25, 2011 12:23:00 PM  
Anonymous sam said...

Hi mate, this was wonderful article.

Datastage

Wednesday, May 25, 2011 12:30:00 PM  
Anonymous Software C ompanies in Tirupati said...

hi
Thanks for sharing this information with all. just keep update the blog with useful information.

Thanks
martin

Thursday, June 09, 2011 12:44:00 PM  
Blogger David said...

A great piece of information. However, software development companies these days require a more dynamic outlook to the whole process of management.

Friday, June 10, 2011 1:00:00 PM  
Anonymous agile testing said...

Thanks som uch for porividng such a beneficial information about agilem ethodology....Its seems to be very vast process in software testing so i really impressive as per ur article ..Thanks

Monday, June 13, 2011 3:06:00 PM  
Anonymous web hosting said...

Hi, I have just visited your site and the info you have covered has been of great interest to me.

Tuesday, June 21, 2011 11:35:00 AM  
Blogger SoftwareTestingSoftware.com said...

Waterfall model has both advantages and disadvantages, waterfall mode is suitable for typical projects that are repetitive in nature, refer to post www.softwaretestingsoftware.com/waterfall-model/ for more details

Saturday, June 25, 2011 8:41:00 AM  
Anonymous Free Software said...

Well it is my good luck in real, as I was searching something else on internet and I am here to your blog by chance and I must say it is a good site buddy.

Wednesday, June 29, 2011 1:46:00 AM  
Anonymous car title loans arizona said...

It is nice to find a site about my interest. My first visit to your site is been a big help. Thank you for the efforts you been putting on making your site such an interesting and informative place to browse through. I'll be visiting your site again to gather some more valuable information. You truly did a good job.

Thursday, July 07, 2011 10:15:00 PM  
Anonymous tax attorney said...

I admire the way you express yourself through writing. Your post is such a refreshing one to read. This is such an interesting and informative article to share with others. Keep up the good work and more power. Thanks!

Thursday, July 07, 2011 10:16:00 PM  
Blogger Jay said...

This blog greatly matches my interests and I your writing method is very interesting. I would like to share vps hosting with guys which should match your interests as well.

Wednesday, July 20, 2011 10:38:00 PM  
Blogger Jay said...

This comment has been removed by the author.

Wednesday, July 20, 2011 10:38:00 PM  
Anonymous Jigson said...

Looks like a great inspirational post for web designers

Wednesday, August 17, 2011 9:24:00 AM  
Anonymous Jigson said...

Looks like a great inspirational post for web designers

Wednesday, August 17, 2011 9:24:00 AM  
Blogger pixymagic said...

This is a better-quality article as they all are. I make fun of been wonder wide this an eye to some beat now. Its great to receive this info. You are fair and balanced.
Chevy HHR Turbo

Tuesday, September 06, 2011 9:36:00 AM  
Anonymous beauty said...

The blog contains informational and educational material. The post enhance my thoughts and experience. So nice!
I've got to scramble to keep up with your prodigious output!

Saturday, September 17, 2011 9:59:00 AM  
Anonymous Zip Repair said...

I am so excited after seeing our blog.

Tuesday, October 04, 2011 10:43:00 AM  
Anonymous Security Equipments said...

Pretty good post. I just stumbled upon your blog and wanted to say that I have really enjoyed reading your blog posts. Any way I'll be subscribing to your feed and I hope you post again soon.

Wednesday, October 05, 2011 10:43:00 AM  
Anonymous Data Recovery Software said...

Thanks for sharing with us.

Wednesday, October 12, 2011 1:58:00 PM  
Blogger admin said...

http://www.boomixwallpapers.blogspot.com
awesome

Tuesday, November 01, 2011 9:17:00 AM  
Anonymous beauty said...

This post was not only helpful but very useful too. Thank you for sharing this piece of your expertise with all of us. Cheers!

Thursday, December 08, 2011 5:39:00 PM  
Blogger Eran Smith said...

The .net Obfuscator is the best option while going in for protecting your .NET applications.

Thursday, December 22, 2011 12:50:00 PM  
Blogger ranjini said...

Thank you for the info. It sounds pretty user friendly. I guess I’ll pick one up for fun. thank u



Software Product Development

Friday, February 10, 2012 12:25:00 PM  
Anonymous Software Development said...

I am posting here just to let you know that you are doing a good job by keeping us posted about this. Please keep on posting such quality articles as this is a rare thing to find these days. I am always searching online for articles that can help me. Looking forward to another great blog. Good luck to the author! all the best!

Tuesday, February 28, 2012 10:08:00 AM  
Anonymous Renaissance seattle hotel said...

Really awesome post found here..This is really an amazing topic. Many thanks for your time and effort to share this wonderful article with us. I'm hoping for more impressive post next time.

Friday, March 16, 2012 10:19:00 AM  
Anonymous website designing development company chennai india said...

I have read this post. collection of post is a nice one ..that am doing website designing company chennai india and website development company chennai india. That I will inform about your post to my friends and all the best for your future posts..

Wednesday, March 28, 2012 7:30:00 AM  
Anonymous nancy said...

Your blog always create some informational and amazing things, which add in my knowledge and experience.But I am a bit confuse. Thanks for sharing.Waiting for next post...

Friday, July 06, 2012 10:01:00 AM  
Blogger chhipa said...

When one conceives the issue at hand, i have to agree with your endings. You intelligibly show cognition about this topic and i have much to learn after reading your post.Lot's of greetings and i will come back for any further updates.

Website Designing

Monday, September 17, 2012 8:37:00 AM  
Blogger Saad ali said...


I love your site! You will be in our prayers and thoughts! Nice and informative post
on this topic thanks for sharing with us.Thank you

Architectural Walkthrough
Architectural Visualization
Architectural Rendering
3D Animation
Product Animation

Monday, November 19, 2012 7:46:00 AM  
Blogger Flora Liza Geslani said...

Read all the related Posts:

64 Software Manual Testing Interview Questions

Answers To Common Job Interview Questions

Behavioral Questions In Interviews

Questions to Ask at an Interview

Competency based Interview Questions


Read all the related Posts:

How to avoid missing defect in Software Testing?

Defect Management Process

What is the difference between a Test Strategy and Test Plan?

Beginners Guide to ETL Testing

Step by step guide from Test Case Development to Test Execution

Thursday, December 06, 2012 8:03:00 AM  
Blogger Flora Liza Geslani said...

Read all the related Posts:

64 Software Manual Testing Interview Questions

Answers To Common Job Interview Questions

Behavioral Questions In Interviews

Questions to Ask at an Interview

Competency based Interview Questions


Read all the related Posts:

How to avoid missing defect in Software Testing?

Defect Management Process

What is the difference between a Test Strategy and Test Plan?

Beginners Guide to ETL Testing

Step by step guide from Test Case Development to Test Execution

Thursday, December 06, 2012 8:04:00 AM  
Blogger Flora Liza Geslani said...

Read all the related Posts:

64 Software Manual Testing Interview Questions

Answers To Common Job Interview Questions

Behavioral Questions In Interviews

Questions to Ask at an Interview

Competency based Interview Questions


Read all the related Posts:

How to avoid missing defect in Software Testing?

Defect Management Process

What is the difference between a Test Strategy and Test Plan?

Beginners Guide to ETL Testing

Step by step guide from Test Case Development to Test Execution

Thursday, December 06, 2012 8:06:00 AM  
Blogger Sara Umair said...

Latest Hot Entertainment News, Latest update about Bollywood, hollywood, pakistani Girls
hotentertainnews.blogspot.com

Monday, January 21, 2013 2:31:00 PM  
Blogger Atta Rehman said...

Valuable information and excellent design you got here! I would like to thank you for sharing your thoughts and time into the stuff you post!! Thumbs up
Surgical instruments
Dental Instruments
Beauty instruments
Neurosurgery Instruments
ENT instruments
Gynecology instruments
Orthopedic instruments
Ophthalmology
Hollow wear Utensils
Veterinary instruments
Surgery Sets

Tuesday, February 19, 2013 8:33:00 AM  
Blogger Sidra shahid said...

It’s great to see good information being shared and also to see fresh, creative
ideas that have never been done before.
CCTV karachi
Security equipment
Surveillance System

Saturday, March 02, 2013 8:10:00 AM  
Anonymous Benjamin Hunt said...

Companies are faced with a lot more difficulties and business risks due to fast developments in technology and increasing demands on edges.

Monday, March 18, 2013 8:36:00 AM  
Blogger Beechers Josh said...

One worthwhile task carried to a successful conclusion is worth half-a-hundred half-finished tasks.
Ground Coffee
Best Coffee
original coffee
American coffee
Retail Coffee
Coffee Aroma
special coffee
Coffee beans
Coffee wholesale
CSR activity in Coffee business

Monday, April 29, 2013 3:52:00 PM  
Blogger Muhammad hussain said...

I recently came across your blog and have been reading along. I thought I would leave my first comment. I dont know what to say except that I have enjoyed reading. Nice blog.
I will keep visiting this blog very often.

Web Hosting Pakistan
Web Hosting Karachi
Website Hosting
Hosting Services Karachi
Web Hosting

Thursday, September 05, 2013 10:43:00 AM  
Blogger Big Name Brand said...

I can see that you are putting a lot of time and effort into your site and
detailed articles! I am deeply in love with every single piece of information you post here

Mens Watches
Kenneth Cole Watches
DKNY Watches
Ted Baker Watches
Guess Watches
Michael Kors Watches
Ben Sherman Watches
Henleys Watches

Tuesday, September 10, 2013 11:51:00 AM  
Blogger Saif austin said...

I love your site! You will be in our prayers and thoughts! Nice and informative post
on this topic thanks for sharing with us.Thank you

POLISHED CONCRETE SYDNEY
CONCRETE RESURFACING SYDNEY
FLOOR LEVELLING SYDNEY
CONCRETE REPAIRS SYDNEY
EPOXY COATINGS SYDNEY
CONCRETE POLISHING SYDNEY

Thursday, September 12, 2013 1:27:00 PM  
Blogger JAMES DEAN said...

Great information and well written.
Even a complete newbie like me understood it.
Keep up the good work.
advertising agencies in pakistan | advertising agencies in Lahore | advertising agencies in Karachi

Tuesday, October 08, 2013 12:09:00 PM  
Anonymous Buy Youtube Comments said...

Another great post, I appreciate all the work you put into this site, helping out others with your fun and creative works.

Friday, October 25, 2013 6:27:00 AM  
Anonymous Buy Vine Likes said...

Thanks for the awesome share, It is really great piece of data. one of my favorite web as well. Thanks for your stuff.

Friday, October 25, 2013 6:29:00 AM  
Blogger Phobos Lms said...

Good post. Good information shared. I really like your post.

lms software development services

Thursday, November 07, 2013 8:37:00 AM  
Blogger muneeb khan said...

change youself into UnI....... as unique

Thursday, February 27, 2014 12:43:00 PM  

Post a Comment

Read more about Software Quality at the <<Software Quality Weblog Home