Geek Counter

mod_vvisit_countermod_vvisit_countermod_vvisit_countermod_vvisit_countermod_vvisit_countermod_vvisit_counter

Who's Online

We have 5 guests online

Donate to TechnoGeek

Polls

Would you consider using Agile Methodology in your next software development project?

 

Search Site

Sponsored Links

Agile Methods

By Pak-Tjun Chin, on 31-10-2008 10:54

Views : 407    

Favoured : 32


 Agile Manifesto

We are uncovering better ways of developing software by doing it and helping others do it.

  • Individuals and interactions over processes and tools.
  • Working software over comprehensive documentation.
  • Customer collaboration over contract negotiation.
  • Responding to change over following a plan.

That is, while there is value in the items on the right, we value the items on the left more.

If you would like to sign the Agile Manifesto, kindly go to http://www.agilemanifesto.org/sign/signup.cgi  and add your name to the signatory list.

12 Principles of Agile

  1. High priority to customer satisfaction via early and continuous delivery of valuable software.
  2. Welcome changing requirements.
  3. Deliver working software frequently.
  4. Continuous working relationship between developers and business stakeholders.
  5. Projects are built around motivated individuals, who should be trusted.
  6. Frequent face-to-face conversations.
  7. Working software is the primary measure of progress.
  8. Promotes sustainable development.
  9. Continuous attention to technical excellence and good design.
  10. Simplicity.
  11. Self-organizing teams.
  12. Constant adaptation to changing circumstances.

 

Agile vs Waterfall

Agile  Waterfall
Adaptive - welcomes change. Predictive - resist change.
People-focussed. Process-focussed.
Working software is the primary measure of progress. Comprehensive documentation is the primary measure of progress
Produce completely developed and tested features (but a very small subset of the whole) every few weeks or months. Development and testing phases consume a relatively longer time and generally not broken up into smaller chunks.
Constant communication between all project team members throughout the project lifecycle. Communication is 'compartmentalized' and infrequent.
Customer collaboration. Contract negotiation.
Responds to change. Follows strictly to a plan.
 














Suitability of Projects Using Agile 

Agile  Waterfall
Low criticality. High criticality.
Mostly senior developers. A mix between junior and senior developers.
Relatively higher requirements change. Relatively lower requirements change.
Small number of developers. Large number of developers. 
Culture that thrives on chaos.  Culture that demands order.

 

Key Success Factors of Agile Projects

  1. The culture at the organization must be supportive of negotiation.
  2. People must be trusted.
  3. Fewer but more competent people.
  4. Projects must live with developers' decisions.
  5. Project must have an environment that facilitates and promotes communication between team members.
  6. Project size should be fewer than 20 to 40 people.

Agile Development Best Practices

Collaboration

Collaboration 

So, what are some practical aspects of Agile that we, as developers, could start adopting from today?

Well, we could start by setting up a wiki page to allow for collaboration of ideas and information related to a particular project or application.

I recall the first couple of months after rejoining the ED&IA (Enterprise Document & Imaging Archive) Asset Team at National Australia Bank Ltd and working with Mark Ng to uplift the jLetters application. At that time, there was not much, if any documentation on what jLetters was, how jLetters worked and why it worked that way.

Thus, one of the first things that we did was to set up a wiki section dedicated to jLetters, with the objective of ensuring that any new developer that joined the ED&IA team as a jLetters developer would be able to set-up a working development environment and be productive within a week, and not weeks.

Since then, we had a new jLetters developer join the team, I think he lasted only about a month, well, his short stay had nothing to do with work, but the point I would like to make is that this developer managed to start coding after a few days, large due to the information contained in the wiki.

Communication

Communication is one of the key success factors of Agile. Direct and constant  communication with business stakeholders, with testers, with infrastucture designers, or with anyone else that is part of a project delivery team should be encouraged.

communication.jpg 

For one of the projects that I was a part of, the Dynamic Pricing Calculator Project at National Australia Bank Ltd, we had daily stand-up meetings in which even business stakeholders participated. Stand-up meetings cover 3 things:

  1. Things I have done since yesterday's meeting.
  2. Things I am going to get done today.
  3. Obstacles that I need someone to remove.

Each participant should only be allowed a couple minutes to speak and try not to let participants go into solution mode during the stand-ups.

Continuous Build

A continuous build (or some would call it Continuous Integration) environment encourages the practice of frequently committing code change to a central source control system (ClearCase for example). Having a continuous build environment has numerous advantages:

  • Bugs may be uncovered when unit test fails. Developers would be notified as soon as this happens and they would have options of either fixing the bug immediately or reverting to a previous working version of code.
  • Issues with integration would be detected early and investigated as soon as they crop up. This reduces the risk of integration issues cropping up during Systems Integration Testing (SIT).
  • Avalability of an up-to-date working codebase at any time.

For the ED&IA (Enterprise Document & Imaging Archive) Asset Team, we have adopted Cruise Control for this purpose.

In the next couple of screenshots, you are being presented with a summary screen of all the projects that are part of a continuous cycle. From this page, we would have a snapshot of each projects build status, frequency of builds, etc.

Should there be a build failure, CruiseControl has been configured to spam relevant developers until the issue is resolved. Recently, a couple of red and green lava lamps have been integrated to our CruiseControl server that servers as a visual representation of build status. If you are interested in its details, please read the Integrating Lava Lamps to CruiseControl article.

continuous_build_-_1.jpg

continuous_build_-_2.jpg


Automated Testing

A continuous build environment with automated test execution is really of great benefit to me personally. I recall one project, VOL2, that I led earlier this year.

Due to the extensive coverage of unit test cases, the VOL2 code yielded only 4 low-level defects throughout the SIT, UAT, PPTE and SAT phases of the project. The project also cut down its SIT cycles from 3 to 2, and UAT took just a couple of days for business sign-off, instead of the planned 2 weeks.

VOL2 has since been in production for about 6 months (as at September 2007) and we have yet to have any further functional or performance defects raised against the application.

automated_testing_-_1.jpg

automated_testing_-_2.jpg

automated_testing_-_3.jpg 

automated_testing_-_4.jpg

Responding to Change

Finally, Agile is a real proponent of constant face-to-face communication between project team members.

Key team members should meet regularly with business stakeholders to go through previous action items. Valuable feedback from business stakeholders assist in bettering documentation and processes, which are continuously refined.

responding_to_change.jpg

References

http://agilemanifesto.org - Agile Manifesto
http://en.wikipedia.org/wiki/Agile_methodology - Agile Software Development Methodology
http://www.martinfowler.com/articles/newMethodology.html - The New Methodology


Last update: 03-11-2008 15:53

Favoured Print Send to friend

Quote this article on your site

To create link towards this article on your website,
copy and paste the text below in your page.




Preview :


Friday, 31 October 2008

Powered by QuoteThis © 2008


Add this page to your favorite Social Bookmarking websites
Reddit! Del.icio.us! JoomlaVote! Google! Live! Facebook! StumbleUpon! Yahoo! Free social bookmarking plugins and extensions for Joomla! websites!
Attachments:
FileDescriptionFile sizeLast Modified
Download this file (Agile Project Selection Criteria.xls)Agile Project Selection Criteria.xlsAgile Project Selection Criteria56 Kb31/10/08 21:44
Comments
Add New
+/-
Write comment
Name:
Email:
 
Title:
UBBCode:
[b] [i] [u] [url] [quote] [code] [img] 
 
 
Please input the anti-spam code that you can read in the image.
wer   |222.125.192.xxx |2008-12-30 04:07:55
???????????. ?????? ??????. ???? ??????????????. ?????? ??????????. ?? ????. ???? ???????????. ?? ??????????????????. ?? ??????????????????????????????????????. ??????????. [url=http://www.zhanshenbb.com]???? ???????????????????????. ???? ????????????. [url=http://www.zhanshenbb.c... ????????????????. ?????? ????????????????. ???? ??????????????????. ???? ????????????. ????????. ????. ??????. ????????.
wer   |222.125.192.xxx |2008-12-30 04:07:17
e can also reverse. 20gb mp3 player this observation. buy cheap wow gold One question we might ask about successful nongame uses of. buy eve isk virtual worlds is. cheapest wow gold whether they too are . Cheapest wow gold special cases. digital mp3 player One obvious example. gamecard world of warcraft is erotic imagery. guild wars gold The zaftig avatar has. guild wars gold been a trope of 3D rendering . lord of the rings online gold since designers have been able to scrape. lotro gold together enough. lotro gold polygons to model a torso. lotro po but examples start far. powerleveling earlier than virtual worlds. powerleveling wow In fact, visual representation. serveur wow of voluptuous womanhood. world of warcraft 60 day predates the invention. world of warcraft time card of agriculture by the. wow game card same historical. wow game cards interval as agriculture. wow gold predates the present. wow gold This is a deep pattern. wow gold cheap It is also a ...
wer   |222.125.192.xxx |2008-12-30 04:06:45
After three hours it. 1GB MP3 PLAYER became apparent that. 1GB MP3 PLAYER in a world as vast. 1gb mp3 players as WoW there seemed. 2GB MP3 PLAYER to be something. best mp3 player for everybody to do. buy mp3 player Out subject had little. buy mp3 players time for the actual. cheap mp3 player core values of the game. cheap wow power leveling becoming a more powerful. des po wow character etc and instead. gold wow focussed on activities. gold wow that made her happy . wearing clothes. and picking flowers. mp3 mp4 player A stereotype of a. female in a male. mp3 player 2gb video dominated gameworld. mp3 player wholesale perhaps stereotypes. exist for a reason.  Interestingly. mp4 players our subject was reluctant. po wow to interact with other. power level characters and . world of warcraft card was moderately intimidated. WOTLK LEVEL by those ranked higher than her. wow leveling service Everyone else seem. wow lvl to know what they are doing. wow lvl 60 ...
wer   |222.125.192.xxx |2008-12-30 04:06:11
Saving up the gold. 2GB MP3 PLAYER to get a mount. 4GB MP3 PLAYER was a real challenge. 8GB MP3 PLAYER for me and I started. buy cheap wow gold saving when I was. canon digital camera level 39 and. carte wow finally had enough . cd key gold at level 41. cheap mp3 players So off I ran to. cheap world of warcraft gold the Easvale logging. dvd player camp east of Goldshire. gold wow to pay for. karte wow my training and. mp3 player to buy my horse. mp3 player I chose the Chestnut Mare. mp4 player which I love. play war games If you are an. world of warcraft buy gold alliance player. world of warcraft card you are familiar. wotlk with Goldshire. wotlk It is the place. WOTLK Power leveling where you play the. wow account early game. wow europe You are a level 5 running . wow geld around discovering this. wow gold wonderful world of warcraft. wow gold You fight your first. wow gold verkaufen wolves here, and adventure. wow kaufen into your first mines here. wow le...
wer   |222.125.192.xxx |2008-12-30 04:05:39
World of Warcraft mods. buy wow gold are extensions to. buying gold world of warcraft World of warcraft. cheap wow gold WoW Mods serves many purposes. cheap wow gold from giving you a. cheap wow gold new look to your interface . cheapest wow gold to displaying additional. clé cd info to help you in raids. compte wow Mods also makes your life. eve isk easier giving you. free online war games options that Blizzard. mp3 players never dreamed of. portable mp3 player The authors. portable mp3 players of WoW mods are. sell wow gold fans of the game. world of warcraft gold taking it upon themselves. wow to create modifications. wow for World of Warcraft and. wow acc sharing it with the. wow authentication online community. wow card Most of the WoW Mods. wow compte on this website are . wow gold standalone mods meaning . wow gold you need nothing other than. wow gold the game itself. wow gold to get it to work. wow gold Others are addons to. wow gold an already existin...
qanlyp  - 123456   |123.145.172.xxx |2008-12-23 22:14:32
wow power leveling,

3.26 Copyright (C) 2008 Compojoom.com / Copyright (C) 2007 Alain Georgette / Copyright (C) 2006 Frantisek Hliva. All rights reserved."