|
|
|
|
|
Introduction
Processes
General
Collaboration
Contracts
Other Topics
|
Articles
Introduction
What is agile software development? The industry has tried "quick-and-dirty" programming; we've also tried bureaucratic processes. In both cases success has proved elusive. Agile development exists between chaos and bureaucracy. It's the bit in the middle that actually works.
Of course, that's a gross oversimplification. Agile development is defined by an emphasis on simple, iterative collaboration. Agile processes are designed to leverage people's strengths. Agile processes also increase people's skills.
The One-Page Guide to Agility describes what agile development is, why you can trust it, and why you should use it.
This page contrasts agile and traditional approaches.
There is a widespread misconception that agility is about Pair Programming and Test-Driven Development. That's not really what it's about, as this page explains
While agile development is really about people, not process, we still find it helpful to have some guiding principles written down. The Crystal Clear methodology is one such collection of guiding principles, tailored for small teams. I have illustrated how it fits into the "world" of methodologies here.
I will add articles on other agile methodologies too.
Many people wonder how to use agile processes in a commercial context, particularly where fixed price contracts are concerned. Contrary to popular belief, you can use agile processes on fixed price contracts. Alternatively, you can use a flexible contract like this. You can even mix and match alternative contract structures.
But what ever you do, beware of choosing the lowest price. It hurts you, and I argue that it also hurts the industry as whole.
There's a lot of hype around agile processes. I've written about maintaining a balanced viewpoint and described some reasons why agility works. One important reason is the style of negotiation encouraged by agile processes, a style proven to work at the highest levels of business and international politics - it's great for software too.
Agile development is made up of many interrelated aspects. One of the most important, yet one of the most often overlooked, is trust.
Sometimes the simplest techniques are the best. Here's a great way to keep track of your team's progress, even in the face of scope creep and effort creep.
Other Topics
Occasionally, I'll write an article or two that's not about agile development. For instance, the pendulum of IT fashion has swung to web development. It's swung too far, and here's why.
Updates
This site is a work in progress. As I add new articles, I'll link to each one from this page. I'll also note significant updates in the site's change log and RSS feed.
Additional Keywords: traditional software development comparison XP trust
|
|
|
Copyright (c) 2003-2007, John Rusk.
|
||