Pages

Thursday, 26 July 2012

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.

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.

Michael is a recent Computer Science graduate with a 1st class honours degree from City University London. He is currently employed in Software engineer specialising in Oracle Portal and SOA development. His career goal is to develop as many new skills and strengths as possible while demonstrating those that he already possesses. Additionally, he works part-time as a volunteer IT Consultant, Graphic/Web Designer and Artist. Tennis, gliding and origami are among some of his hobbies and personal interests. Throughout his career Michael, have demonstrated a high level of drive, motivation and determination by always keeping his mind stimulated with differing positions be it volunteering or employment. Interacting and communicating with others on a personal and professional level helps him stay connected with a network of industry professionals and maintain great relationships with peers, employers, friends and clients.