Development Methodologies
Before considering what Development methodologies are it is important to get an idea of what a method is. All of us use methods in our day to day life to accomplish various things. As said by Syed (2013), A method can simply be identified as systematic set of activities for a product or service to surprimize the performance.
A lot of authors consider method and methodology as synonyms. However as said by Professional Dissertation Writers(2013), 'method' is a procedure which is definite, established and logical. Also can be termed as a systematic way of accomplishing something. However, a 'methodology' is referred to as a theoretical analysis of methods appropriate to a particular field of study or to the body of methods which are used in a certain branch of knowledge. Simply, according to the author's understanding method is a techniques while methodology is an application of this technique.
Why use a Method?
It is very important to use a method in crucial activities to make sure they succeed. Following are a few reasons why one should adopt a successful method to accomplish their tasks.
- To define what is done by the doer
- To define the way in which the things are done
- To improve productivity using the right method
- To provide milestones
WATERFALL DEVELOPMENT METHOD
As said by McCormick(2012), since the time this methodology was first published in 1970 by Winston W. Royce it was widely used in the field of software development. Following is an image depicting the different steps of the waterfall methodology.
|
Waterfall Methodology
(Source: McCormick(2012))
|
According to McCormick(2012), in the waterfall method it is designed in a manner in which until the preceding phase is completed one cannot move to the next phase of development. This method flows in downward, similar to water rushing in a waterfall from a height.
Imbuesys(2013), says that a waterfall methodology structures a project into distinct phases with defined deliverables from each phase. The phases are named different, depending on the companies requirement and particular flavor. But the basic idea of each stage is as defined below.
- Phase 1: Capture what the system will do, requirements
- Phase 2: How the program will be designed
- Phase 3: The actual Programming
- Phase 4: Full System Testing
- Phase 5: Implementation
- Phase 6: Review and Maintenance
(Imbuesys,2013)
EVOLUTIONARY PROTOTYPING
Evolutionary prototyping is another method of system development used. As said in Huibao Technology (2013), in Evolutionary Prototyping a requirements phase is conducted and from the results collected from that phase software system design is produced. Then the design phase is conducted from the deliverables of the architecture including hardware and software, communication, software design (UML is produced here). Implementation code is produced from the deliverables of the design phase. This phase is the longest phase of the software development life cycle. This phase is the longest and the main focused phase of the life cycle because this is where the code is produced. Next comes the Testing phase. The implementation is tested against the requirements to make sure that the product is actually solving the needs addressed and gathered during the requirements phase.
Given below is an image defining the evolutionary prototyping graphically.
|
Source: CrackMBA (2012) |
SPIRAL METHODOLOGY
"The spiral methodology reflects the relationship of tasks with rapid prototyping, increased parallelism, and concurrency in design and build activities. The spiral method should still be planned methodically, with tasks and deliverables identified for each step in the spiral." (Imbuesys,2013)
As said in Burback(1997), the spiral methodology fixes some of the problems introduced by the waterfall methodology. SQA (2007), in their letter speaks of a few advantages of spiral methodology. The design flexibility in spiral method allows changes to be implemented at several stages of the project; the process of building up large systems in small segments makes it easier to do cost calculations; and the client, who will be involved in the development of each segment, retains control over the direction and implementation of the project. Also the client's knowledge of the project grows as the project grows, so that they can interface effectively with management.
Following is an image given in Imbuesys (2013) of the Spiral Methodology
|
Spiral Methodolgy Source: Imbuesys (2013) |
Given below are a few other methodologies given in Imbuesys(2013)
- Adaptive Project Framework
- Agile Software Development
- Crystal Methods
- Dynamic Systems Development Model (DSDM)
- Extreme Programming (XP)
- Feature Driven Development (FDD)
- Information Technology Infrastructure Library (ITIL)
- Joint Application Development (JAD)
- Lean Development (LD)
- PRINCE2
- Rapid Application Development (RAD)
- Rational Unified Process (RUP)
- Scrum
- Spiral
- Systems Development Life Cycle (SDLC)
- TenStep Project Management Process
- Waterfall (a.k.a. Traditional)
References
CrackMBA (2012) Evolutionary Prototype Model. [online] Available at: http://crackmba.com/evolutionary-prototype-model/ [Accessed: 10 Jan 2013].
Huibao Technology (2013) evolutionary prototyping model. [online] Available at: http://www.huibao.com.tw/plastic-injection-molding/mockup/evolutionary-prototyping-model.htm [Accessed: 10 Jan 2013].
imbue systems (2013) Methodologies. [online] Available at: http://imbuesys.com/QA%20Docs/Methodologies.pdf [Accessed: 10 Jan 2013].
mccormickpcs (2012) Waterfall vs. Agile Methodology. [online] Available at: http://www.mccormickpcs.com/images/Waterfall_vs_Agile_Methodology.pdf [Accessed: 20 Jan 2013].
Professional Dissertation Writers (2013) Understanding The Difference Between Method And Methodology With Professional Dissertation Writers. [online] Available at: http://www.professionaldissertationwriters.com/topical-tips-from-professional-dissertation-writers/understanding-the-difference-between-method-and-methodology-with-professional-dissertation-writers/ [Accessed: 10 Jan 2013].
SQA- UK (2007) Advantages of the Spiral Model. [online] Available at: http://www.sqa.org.uk/e-learning/SDM01CD/page_10.htm [Accessed: 10 Jan 2013].
Stanford Edu (1997) Spiral Methodology. [online] Available at: http://infolab.stanford.edu/~burback/water_sluice/sluice6.25.97/ws/node53.html [Accessed: 10 Jan 2013].