Software Development Methodologies
Software Development Methodologies
Agile
In order
der to develop software systems that are capable to change and satisfy continuous
requirements, a quick approach had to be defined. In the late 80s the RAD (Rapid
Application Development) was developed that was an approach of developing systems
quickly (we need it now and we need it quick). The spiral (link to Wikipedia) system
developing lifecycle is used for most part of the system (quickly developing prototypes and
adding to them). However, latest, the term RAD has been dropped and has been replaced by
the word Agile to represent better the intention of the project (a project must be agile). In
Agile projects, the system is divided and developed in parts and requirements can change
anytime. Generally, Agile does not include a specific set of rules, but a guideline to building
agile projects.
Generally Scrum can be considered as a set of timeboxed (fixed duration) actions (meetings
and sprints) using the following artifacts:
Listening
Designing
Coding and
Testing
Unit testing is used heavily in XP in order to ensure quality and unlike Scrum there are no
specific set of timebox rules.
Read more on Extreme programming at Wikipedia:
http://en.wikipedia.org/wiki/Extreme_programming
and Cunningham & Cunningham, Inc:
http://www.c2.com/cgi/wiki?ExtremeProgrammingRoadmap
Roles
Work products
Tasks
Develop iteratively
Manage requirements
Use components
Model visually
Verify quality
Control changes