Skip to content

Agile Software Development one pager

March 5, 2007 by Artem

Agile software development is a set of core values. Iterative, incremental software development methods (ASDM) are based on these values. If I had to boil the overview down to the three most important items, these would be the following:

1. Iterative planning and releasing
ASDM recognize that it is rarely if ever possible to accurately plan software in advance. Customer priorities change, competitors force to release something early and even the best requirements obtained by pure thinking and analysis cannot be as good as the ones refined after seeing a running program. Instead of doing a single planning/analysis session for a couple of years ahead, ASDM plan iteratively as often as once a month or a week, refining the plans, schedules and priorities iteratively. It includes the ability to release the bug free software whenever market conditions require.

2. People-oriented processes
While ASDM recognize the value of documented requirements, they also recognize that such an uncertain thing as not yet existing software is best developed when a lot of human communication is involved. ASDM are based a lot on building a team spirit, having developers work face to face with testers, analysts and even customers. If a thing can be discussed and solved without a document, than it should be done without (or with minimal) bureaucracy.

3. Engineering practices
To make the above items possible there are certain engineering practices that are not strictly required, but recommended. Most of them tend to directly support the above two items. Test driven development and heavy amount of automated testing help to produce code that is always ready to release and that is easy to change if customer priorities change. Big charts and informative workspace help to share the project information instantly. Continuous integration helps to make sure that the code is always in a good shape. Pair programming allow for the fast knowledge sharing and for always having an extra pair of eyeballs seeing the code. Etc., etc.

Pointers to deeper intoductions
1. Scrum in five minutes (pdf) - One of the most popular agile methods put simple. Scrum is more of a project management method and is less concentrated on the engineering practices
2. Introduction to agile software development (pdf) - Similar style ten-pager
3. Extreme programming: A gentle introduction - an introduction to the eXtreme Programming (XP), one more popular method. This one is more focused on the engineering and communication practices, than on the project management

See also the Power of Limited Forecasting

Comments

Key Agile Principles

April 18, 2007 by Kelly Waters (not verified), 4 years 42 weeks ago
Comment id: 123

You or your readers may be interested in this blog all about agile development:

http://www.allaboutagile.com

In particular there is a description of 10 key principles of agile development irrespective of which methodology you may be using:

http://kw-agiledevelopment.blogspot.com/2007/02/10-things-you-need-to-kn...

And there's also an agile development forum "all about agile" for further discussion with peers:

http://www.groups.google.com/group/allaboutagile

I hope these resources are useful.

Kelly Waters
http://www.allaboutagile.com

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

By submitting this form, you accept the Mollom privacy policy.

Best of AgileSoftwareDevelopment.com