<$BlogRSDURL$>

Musings of a Software Development Manager

M. Kenneth Clark

Thursday, July 15, 2004

The Case for Agile Development 

I’ve put this document together as a result of my recent attendance to the Agile Developers Conference. The purpose of this document is to convince my company that the Agile methodologies make a lot of sense, and that we should adopt them. I’ve put it on my blog in the hopes that it may help others.

The paper covers two topics: Project Management and Agile Teams. Both go hand in hand, in that you can’t be successful in one without success in the other. As always, I welcome all comments.

Project Management, the traditional way

The "Traditional," or "Waterfall" method of project management has been in use, in some form, since the term Project Management has been around. The basic steps of this method, in software development are:

1. Plan – Simply planning and securing the resources needed for a project
2. Analyze – Gather the requirements for the project
3. Design – Perform the technical design or model for the project
4. Code – Write the software
5. Test – Test the software with some sort of QA methodology
6. Deploy – Deliver the project to the customer
7. Customer Acceptance – The customer accepts the project as complete


The term "waterfall" is used when viewing the above steps in the following chart: 



The application of the waterfall method requires each step of the process to be completed prior to starting the next step. Think of the steps above as a container that can hold water. Once the planning step is full of water, it will then spill over to the next container, which will fill up, and so on.

There are several benefits to this approach of project management:
Once the Design piece is complete, a fairly accurate estimate can be given for the project in both resource time and duration.
Everyone on the team is working from the same analysis and design specifications, so everyone understands the "big picture."
When the project is deployed, the customer has a complete product with which to work.

There are also some disadvantages to this approach of project management:
High risk – Once the design piece is complete, and an estimate is give, there is a risk that the project will not continue. At that point, the time spent, even if funded, is wasted.
High risk – The possibility exists at any point in this cycle for a problem to be found that was not considered in the analysis or design phase. If this occurs, it may be necessary to back up some steps and start from that point again.
Due to resource allocation, there may be a lag from the time one step ends and the next step begins.
The customer must wait until all six development steps are complete before they have access to the product.
The customer is forced to do all of their testing on all features of the product at once, at the end of the development cycle.
The customer must wait until all seven steps are complete and accepted before they have a usable product.


Even with these disadvantages, there are some projects that will work perfectly well following the waterfall method. These tend to be very small projects - since they are short term, the risks, as shown above, tend to be smaller.



Project Management, the agile way

The Agile Manifesto was created in the late 1990s by a group of developers and project managers that realized a need in their community to simply make things better. They focused on massaging the traditional method of project management. Remember, when used on small projects, the traditional method works just fine. The basis of the agile way is "iterative releases," and when you take a new look at the project management chart, with the same steps, you can begin to see the advantages:



The only thing that has changed in the model is that instead of completing each step for the whole project before moving on to the next step, each step is done based on a single functional point. All the players from the waterfall method are still playing, but their playing with a much smaller ball. In fact, each feature should be able to go from the analysis phase to the deployment phase in no longer than two weeks (10 working days). Once of the fundamental reasons this works, is that it’s easier to work with a "thing" than with an "idea."

There are some pretty hefty advantages to this method, when compared to the waterfall method:

The customer now gets to try out each feature as they are completed. This allows them to add their input at the very early stages of the process, instead of at the end.
Resources in each category are not waiting around for all of the previous phase to be completed, which means that programmers are always coding on the project and testers are always testing, etc.
The interaction between the phases is on a much quicker pace – i.e. a feature is tested immediately upon its completion, while it’s still fresh in everyone’s mind.
The customer sees the progress of the project based on the functionality they see, rather than a "progress report."
Most of the risk that was stated as disadvantages from the waterfall method are gone completely, or greatly minimized.

Even with these advantages, there are some disadvantages:

The customer will no longer be able to get the "fairly accurate estimate" up front.
The customer has to accept that they will be testing and evaluating the features throughout the project’s life cycle, and be prepared to give feedback.


Project Management with Feature Driven Development

The third method of project management is called Feature Driven Development (FDD). The FDD method builds off the "Agile" method, but has one major difference: The planning and analysis are done in their entirety before the coding begins.



The two things that come out of the analysis phase of this method are an overall model of the project, and a detailed features list. The model is the 10,000 foot view of the project. The features list is a categorized list of features that are to be delivered. The features in this list are put into the following categories: Must have; Should have; Could have; Won’t have. The features are worked on based on their priority from this list. It’s important to note that once this features list is accepted by the customer, a "hard" need-by date for the project can be scheduled, with the understanding the there may be some of the C and S features missing.

An Agile Development Team

An agile team is a subset of a department of agile developers. It’s also a team where the most talented programmers are still programming, and not forced into a management or supervisory position. A typical agile department is set up like this:





The Manager of the department is responsible for resource allocation, staffing, and supervision of everyone in the department. When a project is required, it is the manager that will assign the project to a Chief Programmer.

The Chief Programmer is the person responsible for getting the technical aspects of the project completed. The CP will model the processes and features, and then pull resources from the Programming Staff, with the approval of the Manager.
During the project, the CP monitors the work being done, does some coding him/herself, and conducts code reviews with the programmers.
At the end of each project, the CP will submit a review of programmers’ performance for that project to the Manager. This provides regular feedback to the manager about a programmer.

The Programmer is a resource used to complete the project, under the guidance of the Chief Programmer. There can be varying levels of programmers (trainee, senior), and different areas of expertise (interface design, business logic, database). Because the Chief Programmer is providing the design for the programmer to work from, and because the programmer is working on individual features, they do not have to be product experts.

This team design does not force the best developers into supervisory positions. It keeps them where they are most useful (and profitable). Some studies have shown that the "A-list" programmers in an organization can have between a 10:1 and 50:1 productivity advantage over average programmers. Based on this, there’s no reason to force someone into a position outside of development. As a CP, they are working on the projects directly and are able to mentor others.

The agile development team will use development practices to obtain the goal of project completion. Some of these practices are:

Test Driven Development – Writing test cases BEFORE the coding for a feature is begun. You have to know what you’re trying to accomplish before you set out to accomplish it.
Pair Programming/Code inspection – Having two sets of eyes on every piece of code. This has been described as the single most effective way to catch bugs in software.
Refactoring – Software evolves as time goes on.
Collective Ownership – Everyone on the team is responsible for the entire project.
Continuous Integration – New features are added constantly. No feature should take more than two weeks from design to deployment.
YAGNI - You Aint Gonna Need It! The art of not writing software is as important as writing software.
Wait – Make final decisions as late in the cycle as possible. I.e. a GUI and business logic can be designed and written independently, and the last step can be how they communicate with one another.


Conclusion
The position of this document is that in order for us to write better, more robust, more bug-free software, we must adopt these practices. All groups within the Product Development department (Business Analysis, Software Development, and Quality Assurance) must change at the same time in order for this to work efficiently. The majority of work must be done in projects, and these projects must have a team of dedicated people working towards the goal of project completion. The Product Managers, the Developers, and the Testers would need to all be working on the project at the same time in order to create the iterative releases that are so vital to these methodologies.


posted by Ken  # 8:08 AM
Comments:
Ye man, that is how my own development of projects has developed,although I am working mostly on my own.The detailspec to client at the beggining is fundamental to the prospect of completing the job, dont mind being on time. I dont have any formal training in any methodology of approach to development but it seems a very reasonable approach that you are espousing. - from the perspective of the one man band.
 
private health insurance plans [url=http://usadrugstoretoday.com/products/capoten.htm]capoten[/url] heart attack and diabetes http://usadrugstoretoday.com/categories/pain-relief.htm need to see what triamiterne pill looks like http://usadrugstoretoday.com/products/fosamax.htm
hypothalamic syndrome [url=http://usadrugstoretoday.com/products/menopause-gum.htm]menopause gum[/url] diabetic weight loss [url=http://usadrugstoretoday.com/products/clozaril.htm]photos of flacid penis[/url]
 
dennis quaid twins blood clotting [url=http://usadrugstoretoday.com/categories/antibiotics.htm]antibiotics[/url] diet drugs stronger and more effective than ephedra http://usadrugstoretoday.com/categories/arthritis.htm dillards give part time employees health benefits http://usadrugstoretoday.com/products/cipro.htm
cause of hair loss in human being [url=http://usadrugstoretoday.com/products/sumycin.htm]sumycin[/url] foot pain and deep vein thrombosis [url=http://usadrugstoretoday.com/products/generic-imitrex.htm]azaserine diabetes[/url]
 
dental assissting [url=http://usadrugstoretoday.com/products/purinethol.htm]purinethol[/url] carla breast cancer http://usadrugstoretoday.com/products/hangover-helper.htm vanadyl sulfate help build muscle http://usadrugstoretoday.com/products/female-viagra.htm
herbal and drug interactions [url=http://usadrugstoretoday.com/products/beconase-aq.htm]beconase aq[/url] stress and menstrual period [url=http://usadrugstoretoday.com/faq.htm]asthma small dogs[/url]
 
seduction while sleeping [url=http://usadrugstoretoday.com/products/pamelor.htm]pamelor[/url] hofstra medical staff http://usadrugstoretoday.com/products/adalat.htm how to get rid of yeats infection at home http://usadrugstoretoday.com/products/neurontin.htm
evista hair lossl [url=http://usadrugstoretoday.com/products/mevacor.htm]mevacor[/url] learn diet program [url=http://usadrugstoretoday.com/products/viagra.htm]drugs seriquil side effects[/url]
 
paget schroetter syndrome [url=http://usadrugstoretoday.com/products/maxalt.htm]maxalt[/url] maple grove health care center http://usadrugstoretoday.com/products/diclofenac.htm charter dental http://usadrugstoretoday.com/categories/erection-paquetes.htm
breast feeding my newborn [url=http://usadrugstoretoday.com/catalogue/h.htm]No prescription online pharmacy[/url] eating disorder specialist in greensboro nc [url=http://usadrugstoretoday.com/products/amoxil.htm]medical doctor levels t5[/url]
 
volkswagen parts catskill ny http://automotoportal.in/mercury/mercury-adhd auto research center san diego
[url=http://automotoportal.in/nissan/nissan-altima-coupe-review-compare]volkswagen factory museam[/url] nationwide auto centres [url=http://automotoportal.in/volkswagen/volkswagen-diesel-v6]volkswagen diesel v6[/url]
eddie bauer auto bucket seat parts http://automotoportal.in/lexus/lexus-wallpapers-1999-gs-300
[url=http://automotoportal.in/racing/mazda-6-racing-pedals]volkswagen 2008 runs on diesal[/url] volkswagen beetle generator vs alternator engines [url=http://automotoportal.in/radiator/pt-cruiser-radiator-parts]pt cruiser radiator parts[/url]
mercedes diecast http://automotoportal.in/maybach/maybach-tiger-engine
[url=http://automotoportal.in/saab]volkswagen pdf[/url] auto hauling jobs [url=http://automotoportal.in/saab/precision-motors-auto-bmw-saab-georgia]precision motors auto bmw saab georgia[/url]
 
outdoor shoes http://topcitystyle.com/green-white-casual-tops-color184.html matt and lauren harris [url=http://topcitystyle.com/skirts-women-category96.html]lirics tabaco y chanel[/url] aravon shoes
http://topcitystyle.com/35-classic-denim-size30.html gator shoes [url=http://topcitystyle.com/?action=products&product_id=2541]boys clothes[/url]
 
hentai 4 you http://theporncollection.in/masturbating/masturbating-on-a-harley-davidson
[url=http://theporncollection.in/lesbian-xxx/shanghai-lesbian]anal virgin free[/url] resumes of lubricants sales manager [url=http://theporncollection.in/gay-anal/free-gay-adult-toons]free gay adult toons[/url]
teen titans sex games hentai http://theporncollection.in/gay-porn/gay-sex-a-blast-from-the-past-no-rubbers
[url=http://theporncollection.in/gay-sex/gay-male-porno-pix]free adult movieswatch[/url] blooper photos adult [url=http://theporncollection.in/masturbating/when-masturbating-i-squirt]when masturbating i squirt[/url]
free games online adult http://theporncollection.in/gay-xxx/gay-sex-ed
[url=http://theporncollection.in/moms/punished-moms]fairview adult superstore[/url] larry the cucumber adult small t shirt [url=http://theporncollection.in/moms/poetry-about-moms-and-daughters]poetry about moms and daughters[/url]
adult toons flash http://theporncollection.in/mature-xxx
[url=http://theporncollection.in/gay-porn/gay-bath-houses-guides]ryuusei no rockman hentai[/url] toilet training an adult dog [url=http://theporncollection.in/gay-porn/foto-gay-pride]foto gay pride[/url]
 
lets get some shoes http://www.thefashionhouse.us/dark-grey-black-men-color22.html cool boys clothes [url=http://www.thefashionhouse.us/black-multi-gucci-color104.html]no shoes no shirt no problem guitar[/url] equator clothes processor
http://www.thefashionhouse.us/purple-dressy-tops-color37.html alfani shoes [url=http://www.thefashionhouse.us/lilac-white-shirts-color206.html]arley home fashions[/url]
 
drug store for sale [url=http://usadrugstoretoday.com/products/generic-motrin.htm]generic motrin[/url] co dependent borderline personality disorder http://usadrugstoretoday.com/products/activ8--energy-booster-.htm
symptoms of feline hypertension [url=http://usadrugstoretoday.com/products/cipro.htm]cipro[/url] how long will drugs stay in your blood system [url=http://usadrugstoretoday.com/products/diclofenac.htm ]schiff calcium magnesium vitamin [/url] breast milk length
bacardi and diet coke calories [url=http://usadrugstoretoday.com/products/dulcolax.htm]dulcolax[/url] discounted drugs http://usadrugstoretoday.com/products/haldol.htm
steps of venous blood draw from horses [url=http://usadrugstoretoday.com/products/vermox.htm]vermox[/url] bank blood finasteride [url=http://usadrugstoretoday.com/products/revia.htm ]ic diet [/url] males with erection photos
 
will anestisia affect heart disorder [url=http://usadrugstoretoday.com/products/proscar.htm]proscar[/url] kaposis syndrome in 8 month olds http://usadrugstoretoday.com/products/zithromax.htm
new york state health [url=http://usadrugstoretoday.com/products/floxin.htm]floxin[/url] health benefits of soy protein [url=http://usadrugstoretoday.com/products/zerit.htm ]ringworm of the penis [/url] carolinas college of health science
decco calcium chloride 405 [url=http://usadrugstoretoday.com/products/pletal.htm]pletal[/url] clean drywall with smoke damage http://usadrugstoretoday.com/products/diflucan.htm
nl presception drug plan [url=http://usadrugstoretoday.com/categories/ayuda-para-dormir.htm]ayuda para dormir[/url] fleerbubble gum [url=http://usadrugstoretoday.com/products/keftab.htm ]top ten used drugs in the us [/url] texas medicaid preferred drug list
 
designer babies http://www.thefashionhouse.us/dark-denim-blue-women-color165.html clothes steamer commercial [url=http://www.thefashionhouse.us/dolce-amp-gabbana-classic-brand2.html]backstage hair designer[/url] carter baby clothes
http://www.thefashionhouse.us/sweaters-men-category24.html alanah hill australian fashion designer [url=http://www.thefashionhouse.us/white-navy-blue-sport-zip-jacket-and-pants-color75.html]womens wide shoes[/url]
 
skreckers shoes http://topcitystyle.com/vae-victis-polo-shirts-brand47.html in thier shoes [url=http://topcitystyle.com/-sports-shoes-dolce-amp-gabbana-category67.html]manolo blahnik shoes[/url] gilda de laurentis what size bra does she wear
http://topcitystyle.com/?action=products&product_id=2073 lauren christine mosig [url=http://topcitystyle.com/women-winter-jackets-type3.html]opinion on best shoes for plantar fashiitis[/url]
 
casinos in cambodia http://lwv.in/casino-playing-cards/compag-playing-cards-plastic hit the jackpot
[url=http://lwv.in/lottery/mo-lottery-results]make your own bingo game[/url] bingo minnesota [url=http://lwv.in/poker-online/gavin-smith-poker-girlfriend]gavin smith poker girlfriend[/url]
biggest lottery http://lwv.in/roulette/roulette-and-statisticswheel-odds-and-statistics
[url=http://lwv.in/poker-online/poker-calc]ms word lotto lottery[/url] residential gambling treatment [url=http://lwv.in/baccarat/baccarat-crystal-great-uk-deals]baccarat crystal great uk deals[/url]
nj lottery scams http://lwv.in/slot/drifter-slot-download two rivers casino calendar [url=http://lwv.in/bingo/free-word-bingo-creator]free word bingo creator[/url]
 
dating roulette http://loveepicentre.com/articles.php australia dating site
 
windows 7 mobile device synch software http://buysoftwareonline.co.uk/fr/product-36221/Erfasoft-BitSec-Secure-Folder-2-6 wescom surveying software [url=http://buysoftwareonline.co.uk/category-12/Multimedia-and-Entertainment?page=123]mdv-241 digital camcorder software[/url] masterworks autodigitizing software
[url=http://buysoftwareonline.co.uk/product-31547/LittleSnapper-1-5-MAC]LittleSnapper 1.5 MAC - Cheap Legal OEM Software, Software Sale, Download OEM[/url] which is the best 3d software
[url=http://buysoftwareonline.co.uk/it/product-34791/Hamrick-VueScan-Pro-9-0-Multilingual-x32][img]http://buyoem.co.uk/image/3.gif[/img][/url]
 
blackberry pearl 8100 free software http://buysoftwareonline.co.uk/es/product-13180/Macromedia-JRun-4 sigma 3000 software [url=http://buysoftwareonline.co.uk/es/product-37227/Nufsoft-NatureStudio-2-5]skybot spyware software[/url] wii software and mods
[url=http://buysoftwareonline.co.uk/product-37244/PicturesToExe-Deluxe-5-5]PicturesToExe Deluxe 5.5 - Software Store[/url] gelco software
[url=http://buysoftwareonline.co.uk/category-200-207/Programming-and-Development][img]http://buyoem.co.uk/image/5.gif[/img][/url]
 
[url=http://certifiedpharmacy.co.uk/products/lysexl.htm][img]http://onlinemedistore.com/10.jpg[/img][/url]
zantac pharmacy http://certifiedpharmacy.co.uk/products/hard-on.htm pennsylvania pharmacy society [url=http://certifiedpharmacy.co.uk/catalogue/v.htm]pharmacy technician iv certification[/url]
cvs pharmacy annual report http://certifiedpharmacy.co.uk/products/pletal.htm pharmacy continuing education compounding [url=http://certifiedpharmacy.co.uk/products/cytoxan.htm]cytoxan[/url]
qsi pharmacy computer system http://certifiedpharmacy.co.uk/products/advair-diskus.htm free pharmacy technicians certification exams [url=http://certifiedpharmacy.co.uk/products/viagrx.htm]phentermine aciphex phentermine cvs pharmacy miami[/url]
pharmacy plus 220 abraham flexner louisville ky http://certifiedpharmacy.co.uk/products/prevacid.htm cheap canadian pharmacy [url=http://certifiedpharmacy.co.uk/products/vermox.htm]vermox[/url]
 
clear glass beer botttles bottom dating http://loveepicentre.com/taketour/ christian senior dating charlotte nc
why dating magazine [url=http://loveepicentre.com]afrikaans dating sites[/url] over sixty dating
french english online dating [url=http://loveepicentre.com/success_stories/]dating and breast cancer[/url] online jewish dating services [url=http://loveepicentre.com/user/qheyrul/]qheyrul[/url] negative views on interracial dating
 
Post a Comment

Archives

03/01/2004 - 04/01/2004   04/01/2004 - 05/01/2004   07/01/2004 - 08/01/2004  

This page is powered by Blogger. Isn't yours?