Copyright:
Michael Lashley, Computer Science Student, City university
London
Business Systems
19th March 2012
Introduction
System
development methodologies are the approaches use to design, develop, and create
software as a solution in problem domains. In this essay we compare and contrast
two related but different software development methodologies. Both agile and
plan driven system development methodologies command their space in the field
of system development as they both have advantages and disadvantages. It is
said that “Managementtteamstthatllacktthe ability to work well with plan-driven approaches mayllacktthe
discipline required of agile approaches.”(Wilson,
2006-10: 7)1 This shows that our ability to work with one of these
methodologies is dependent on our skills in working with the other.
Advantages
“Projects need to be
managed because professional software engineering is always subject to
organisational budgets and schedule constraints.”(Summerville, 2011:
594)2 Plan driven project developments takes full advantage of
organisation through heavy documentation in order to meet client’s needs. An
advantage of plan-driven software development is that it caters for long term
problems such as management team change as new teams can embark on projects run
by previous teams with little disruption or delay due to the availability of
documentation about a project.
“Agile
methods are incremental methods that focus on rapid development, frequent
releases of the software, reducing process overheads and producing high-quality
code.”(Summerville,
2011: 77)2 As
represented in the below diagrams agile software develop presents a platform
that allows developers to complete projects in tight deadlines as the level of documentation is vastly reduced
compared to plan driven development methods.
Disadvantages
The heavy documented
nature of plan-driven methodologies can be a disadvantage under certain
circumstances, as compiling the documentation is a very timely process and does
not lend itself well to future modification. “Supporters of the agile methods
argue that documentation is frequently not kept up to date and is not of much
use for long term system maintenance.”(Summerville, 2011:
64)2Another disadvantage to plan driven development is that once the
implementation process has started making modifications is problematic and will
involve the adjustment of the original specification, budget, and
deadlines.
Agile software development
is dependent on a very skilled and experienced team as software models and
iterations are development on a weekly basis. Whereas plan-driven development
relies on the documented specifications and testing established at the
beginning of the project thus being less demanding on the teams skill set.
Suitability
“Agile methods are most
effective when the system can be developed with a small co-located team who can
communicate informally.”(Summerville, 2011: 63)2 Scrum
agile software developments is said to be one of the most used agile software
development methods. As shown in the diagram below the project is divided by
the scrum master into sprints which can be reviewed and edited making this
method of development suitable for small projects.
A very
popular and widely used plan based development method is the waterfall method.
This software development method would be most suited for large scale projects
operating at different locations as the high level of organisation helps with
coordinating large teams and monitoring progress.
Conclusion
Before
software development methods are chosen for any project the following must be
considered “Type of software being developed, the capabilities of the development
team, and the culture of the company developing the system.” (Summerville,
2011: 77)2 In my opinion the
key to a successful completion of any project when using development method is
the relationship and communication between management and the team members. The
determining factors in deciding which methodology to use must always be the
nature of the project the budget available and the time available for
completion.
References
2. I. Summerville, Software Engineering, Ninth Edition,
copyright 2011, 2006, 2005 2001, 1996 Pearson Education, Inc., publishing as
Addison Wesley
Chapter 22, Page 594
and Chapter 3, Pages 77, 64 and 63
Image 2, Chapter 3,
Page 63, Figure 3.2 (Plan-driven and agile specification)
Image 3, Chapter 3,
Page 73, Figure 3.8 (The scrum process)
3. City University, Software Engineering, Lecture Slides,
copyright 2000, 2012 (Attributed to Winston W. Royce (1970)) Image 4, Slide 2.9
Copyright:
Michael Lashley, Computer Science Student, City university London
Business Systems
19th March 2012