Strand 3.10 – IT systems and organizations HL Extension

A: Project Development Methodologies: Agile Vs. Waterfall development
Project development methods are classified into two main types: the classical (old, established)
method called the waterfall model and the new (much appreciated and realistic) method called the
agile model.
The waterfall model is a linear and sequential approach to software design and systems
development: the linear approach is basically a stage by stage approach where each stage progresses
to the next until the project is complete.
The Agile model involves breaking down a large problem into smaller bits then tackling the bits one
by one – it’s more of a divide and conquer method with rapid delivery of a functioning product as its
main goal.
 Agile methods do not have specific life-cycle model, Instead, they laid out a group of
underlying principles
 Agile methods are characterized by:
 Less emphasis on analysis and design
 Earlier implementation (working software is considered more important than
 Responsiveness to change
 Close collaboration with the client
 Agile processes demand fixed time, not fixed features
The difference between the two models lies in the fact that the waterfall model supports
predictability while the agile model supports adaptability. The main differences between the two
models are:
1. In the waterfall model, once a stage is completed, there is no going back, while agile model
allows for change at the end of each section or component because testing is done for every
2. In agile model, there is a functioning product at the end of each component where testing is
done; the waterfall model assumes that there is only one product to be delivered and testing
is only done at a particular stage
3. The agile model is modular in nature – each component being referred to as module where
customers see full functioning product for each component and get satisfaction, the waterfall
model only allows the customer/client to see product towards the end of the project which
may cause client dissatisfaction.
In conclusion, though on the plus side, waterfall’s defined stages allow for thorough planning,
especially for logical design, implementation and deployment, Agile methodology is a sound choice
for software development and web design projects. More and more firms are becoming Agile!
Examples of Agile Methods
1.XP: Extreme programming is a software development method that attempts to support quicker
development of software. It consists of a series of principles for developing software rapidly rather
than through a step-by step methodology.
We can also define XP as a discipline of software development with values of simplicity,
communication, feedback and courage.
 A principle of XP is to minimize the number of features
 There is no need to build a product that does any more than what the client actually needs
2.RAD: Rapid Application Development, just like XP, was developed due to the problems that were
encountered using the traditional waterfall model. RAD is defined as an approach to building and
maintaining computer – based systems, which combines effective use of tools and techniques,
prototyping and tight project delivery timescale. RAD is a method that develops a software system in
bits or components (called timeboxes), beginning with the most essentials parts being developed
first. A key feature of RAD, therefore, is to deliver software product rapidly and often, though in bits.
3.DSDM: Dynamic System Development Method, (DSDM), just like RAD attempts to solve the
problem of software taking very long to produce. DSDM is basically a framework of controls for
building and maintaining systems which meet tight time constraints and provide a recipe for
repeatable RAD success.
Examples of Waterfall Methods
SDLC: See earlier notes on this on what it is and the stages
STRADIS: STRuctured Analysis, Design, and Implementation of Information System (STRADIS) is a
structured approach to system software development that uses DFDs to describe system designs. It is
a method used to develop computer systems in a structured way, from beginning to the end,
through functional decomposition, also called top-down design.
Evolutionary Development: This is a common term used to describe the spiral model and the
incremental model. Evolutionary development method is a staged or incremental approach that
periodically delivers a system that is increasingly complete. Some people hold the view that
evolutionary approach falls between the waterfall model and the agile model due to the fact that it is
partially structured and partially delivers a complete subset of the entire product before completing
all the phases.
JSD: Jackson Systems Development (JSD) is a systems design method that uses decomposition
diagrams (See earlier notes on decomposition diagram) to design a system in three phases: modeling
phase, network phase and implementation phase.
B:Some Examples of Project management methodologies:
Project Management Body of Knowledge is a publication guide produced by Project Management
Institute (PMI) to be used by project managers as a guide when doing projects. The PMBoK
document has specific requirements, techniques and principles that must be followed when
managing projects. For more info, please Google up PMBoK or the its full meaning.
Structured Systems Analysis and Design Method (SSADM) has seven stages (numbered o to 6) within
a five module framework. The modules cover the life cycle from feasibility study to design, but not
implementation and maintenance: it is assumed that planning has been completed and the stages
following the design are presumably seen as installation specific and therefore not covered by
The following bullet points refer to the modules while the numbers refer to the stages of SSADM
 Feasibility Study
0. Feasibility
 Requirements analysis
1. Investigation of current environment
2. Business system option
 Requirements specification
3. Definition of requirements
 Logical System specification
4. Technical System options
5. Logical design
 Physical Design
6. Physical design
Capability maturity model (CMM) is a framework (or a set of strategies) for evaluating processes
used to develop software projects. The strategies are:
 SW–CMM for software
 P–CMM for human resources (“people”)
 SE–CMM for systems engineering
 IPD–CMM for integrated product development
 SA–CMM for software acquisition
These strategies are unified into capability maturity model integration (CMMI). Computer
professionals normally use the software component of the strategies (SW-CMM). SW-CMM has five
levels identified as:
1. Level 1. Initial Level
2. Level 2. Repeatable Level
3. Level 3. Defined Level
4. Level 4. Managed Level
5. Level 5. Optimizing Level
Project in Controlled Environments 2 (PRINCE2) is an enhanced version of PRINCE. It is a structured
approach for project management where a project is seen as having a defined and unique set of
products called deliverables. These deliverables have at the end and during their development a set
of activities, a sequence to construct them, appropriate resources to undertake them, finite lifespan
and an organizational structure with defined activities.
The management structure of a PRINCE2 project consists of a project board with a senior executive
as a member along with a senior user but a project manager fulfills the day to day management with
team leaders reporting to the project manager.
Detailed plans are also involved while implementing PRINCE2.
Time and cost are factored in when planning and executing a PRINCE2 project.
PRINCE2 also produces a set of reports which help control the monitoring of actual progress against
plan and against the business case. PRINCE2 projects end with a project closure report which lists the
project’s achievements in terms of deliverables, performance in terms of comparison of actual
against forecast duration, cost and resource usage and quality in terms of errors or exceptions.