Choosing a software development methodology
During the consideration process of a software development
organisation to create your bespoke application you should consider what
development methodology they plan to use.
Broadly speaking there are 2 main mechanisms which many
other methodologies and made up from. The first method is "linear" this
is the oldest and traditional method and is most commonly seen
as the waterfall approach. The second is the "iterative" method where the
development process takes the form where the piece of work is added to in a
iterative fashion. These basic types of mechanism are then recombined into
different frameworks to produce hybrid that are known by more familiar names, for example:
- Iterative Prototyping
- Design, Specify and Builld (Waterfall)
- Incremental
- RAD (Rapid Application Development)
Have you considered the next generation methodology? When
producing Web 2.0 applications where the time to market is the key driver a new
idea is required. This is where Agile development comes into play.
The Agile method combines may of the earlier methods such as
rapid and incremental but the process makes use of shorter iterations and involves
the customer representative in the day-to-day creation of the software.
The key parts of the Agile methodology are that:
- Sprints - these are small iterations
- Work planning performed before each iteration
- Each iteration produces a working application
- A customer representative is involved directly
and work at the same location/room - Importance driven i.e. prioritization of tasks agreed
by the customer representative by requirements with the highest benefit
An example of the Agile process would be to look at
the development of a web application. Perhaps consider your favourite web site;
perhaps Facebook? You will have a number of iterations during the development
process each delivering the following:
Sprint 1 Welcome page, registration page, add a find your
friends page
Sprint 2 Add a photo gallery, add an area where you
post your activities to your wall
Sprint 3 Add a people you may know area, add functionality
to send a message to someone (poke)
Sprint 4 Add more functionality etc
The point would be that after the end of each sprint within
the Agile methodology the web site is functional and complete.
So how does this help me?
The key consideration is that if you have a software
development assignment then the Agile approach should be choosen.
It provides quicker viewable results and allows you to get your product to
market before the competition and quickly.
Consider the Agile approach for your software development
assignment.
No comments:
Post a Comment