System Diagrm
System Diagrm
1
Corresponding author
SARAVANAN: SYSTEMS DEVELOPMENT METHODOLOGIES: CONCEPTUAL STUDY
Planning
Analysis
Logical De-
sign
Physical De-
sign
Implementation
.
Maintenance
HLD IT
Figure 5: Prototype Model
LLD CT Spiral Model
Spiral Model is a blend of traditional me-
Coding Unit Test thodology and prototype model. It comprises of four
quadrants as shown in Figure 6. The first quadrant
“Planning” is the phase where requirements are ga-
thered. This is followed by risk analysis where proto-
Code types are developed to get acceptance from custom-
ers. Once the prototype is accepted, ‘engineering and
evaluation phase’ continues where coding and testing
happens. Once the incremental version of system is
ready, it will be evaluated by customer. Next step
Figure 4: V- Model
again starts with planning and follows same sequence
Prototype Model as explained above.
This model is widely used when the custom- Spiral model emphasizes more on risk anal-
ers are unclear of their requirements. The initial re- ysis and is used in projects which are prone to high
quirements are gathered from the customers followed risks like Defence, Aviation and Space related appli-
by a quick design. A prototype is developed and cations
shown to the customer for evaluation. Once the cus-
tomer is satisfied, full-fledged systems development
will be done as shown in Figure 5.
The prototype developed is of two types – Plan- Risk Analy-
Throwaway and Evolutionary. If the prototype is de- ning sis
veloped only to get acceptance from customer and
discarded further, then it is known as ‘Throwaway
Prototype’. The Prototype which will be further de-
veloped as the actual system is referred as ‘Evolutio-
nary Prototype’.
Customer Engineering
Evaluation and Evalua-
tion
Requirements None
Planning
Awaiting
Construction
Under Re-
Under Revi-
Cutov- sion
er Baseline
Done
Figure 7: RAD Model
aspects, which implement system functionality that nents which are readily available with required func-
may be required at several different places in a pro- tionality and are suitable for integration with other
gram [33]. ‘Aspects’ are cross-cutting functionality software.
that can be used in different parts of the application
In component based development, initially,
and woven to core functionality as and when re-
the architecture of the system is made ready. This is
quired. This method helps in reuse of aspects without
followed by searching for components in COTS. If
regard where the code is used. Figure 9 depicts the
the component that matches the requirement is avail-
cross-cutting functionality.
able, then integration issues are considered followed
by integration and testing of the entire system [4].
Resources This method helps to improve productivity and re-
duce cycle time.
Joint Application Design and Development
Joint application design was first developed
Elabora- by Dan Gielan in 1974 and Joint application devel-
Construc- Transition
tion opment was introduced and popularized by Chuck
Incep- tion
Morris and Tony Crawford in the late 1970s.
tion
JAD is a team oriented approach that fo-
Tim cuses on involving customers to understand the need
e of business and helps to develop a joint solution.
Figure 8: RUP Development Instead of identifying the requirements from stake-
holders individually, JAD recommends facilitated
Core Functionalities workshop and partnerships to develop systems.
Though JAD is considered to be a develop-
ment methodology, it is formalized for only the
analysis and design phases of SDLC. In a typical
Cross-Cutting JAD life cycle, four participants - Executive Sponsor,
functionality IT Representative, Scribe and user are involved.
Scribe is responsible for documentation and act as
facilitator to conduct JAD Sessions. JAD life cycle
include the following phases: Definition, Preparation,
Cross-Cutting
Design and Finalization. Used effectively, JAD helps
functionality
to accelerate design, enhance quality and reduces
development cost.
SDM from 1993 to 2002
From 1993 to 2002, three development
Figure 9: Aspect Oriented Development methodologies became popular and are being adopted
by companies till today. The methodologies are Ser-
Formal Methods vice Oriented Architecture, Agile Methodologies and
Formal methods or Cleanroom approach Open Source Development.
uses mathematical and statistical techniques to de- Service Oriented Architecture (SOA)
velop quality software [5]. Each step in the develop-
ment employs precision of mathematics including Gartner defines ‘SOA as a software architec-
specification of requirements, designing and testing. ture that starts with an interface definition and builds
The ultimate result is improved reliability of the the entire application topology as a topology of inter-
software developed. faces, interface implementations and interface calls
[9]’. It is an approach of building a System by bun-
Component based Development dling various components providing generic func-
Component based development focus on tions. SOA advocates the concept of software reuse
reuse of existing components. This method employs and promotes collaboration. It became very popular
Commercial off the Shelf (COTS) software compo- with the introduction of Web Services by Microsoft.
The relationship between SOA and web services is
highly influential [10]. The potential benefits of SOA oper concentrates on code design and tester concen-
include facilitation of rapid application development trates on code standards. ‘Continuous integration’ is
through service assembly, high ROI due to reuse of another aspect of XP. At the end of the cycle, an in-
services and the ability to use legacy services through cremental version of software is released and ‘project
communication networks [1]. velocity’ is computed. Project Velocity helps to un-
derstand whether the estimation was optimal.
Agile methods
Agile is dynamic, content specific, aggres-
sively change embracing and growth oriented Plan- Design
[4].Agile manifesto held in 2001 defined the 12 prin-
ciples to be followed to achieve agility. Typically
agile development methodologies are adopted in or-
ganizations which are very dynamic and who build
Agile teams. Working Test Code
Soft-
An Agile team include the following charac-
teristics – Common focus, decision making and fuzzy
problem solving skills, competency and collaborative
work environment, each and every member giving
mutual respect and trust [4].
Unlike traditional methods, Agile methods Figure 10: eXtreme Programming (XP)
appreciate changes, involves users throughout the
entire life cycle, divides the development into shorter Scrum
cycles of having 2-4 weeks, promotes the concept of Scrum, developed in 1993 is an agile meth-
early delivery, advocate continuous integration to odology employed for completing complex projects
improve quality and is the most highly adopted prac- [12]. In scrum, the requirements of the system to be
tice in industry. There are a number of variations developed are termed as ‘product backlog’. From the
available in agile methods. Among them, some are product backlog, requirements are prioritized for do-
discussed here. ing a ‘Sprint’ – a 30 days scrum cycle which ulti-
eXtreme Programming (XP) mately delivers incremental software. The backlog of
sprint is referred as ‘Sprint backlog’. The require-
XP started in 1996 is one of the highly suc- ments of sprint backlog is analyzed, designed, coded
cessful agile development models. Extreme Pro- and tested by a sprint team as a collaborative effort.
gramming emphasizes teamwork. Managers, custom- Every 24 hours, a scrum meeting coordinated by
ers, and developers are all equal partners in a collabo- Scrum Master with the participation of entire team
rative team [11]. XP comprises of 4 phases as shown will happen as shown in Figure 11.
in Figure 10.
During the Planning phase, user stories are
built with customer involvement in such a way, each Sprint
story can be completed within 2 weeks. An Estimate Retrospect
is made and a schedule is prepared to develop the
identified user stories and the team commits for de- 24
velopment. Hours
This is followed by design phase where ‘Keep it Scrum Scrum
Sprint
Simple’ philosophy is followed. XP encourages reuse Meeting Review
Plan
by adopting ‘Class – Responsibility Collaborator’ Sprint
concepts and whenever a risk is seen, prototypes (i.e., Backlog Software
‘spike solutions’) are built to get customer consensus. Product Increment
‘Refactoring’ is another characteristic of XP. Backlog
The purpose of the Scrum Meeting is to un- In FDD, a ‘feature’ is a client valued func-
derstand the achievements made since last scrum tion that can be implemented in two weeks or less’. It
meeting, discuss and resolve any obstacles for the consists of 5 collaborative framework processes as
work to be accomplished and also get commitment of shown in Figure 13. It emphasizes on project man-
deliverables before next scrum meeting. It is a col- agement and defines six milestones during the design
laborative exercise and is a proven successful model. and implementation of a feature – design walk-
through, design, design inspection, code, and code
Adaptive Software Development (ASD)
inspection, promote to build [4].
Adaptive Software development developed
Dynamic System Development Methodology
by Highsmith comprises of three phases – speculate,
collaborate and learn as shown in Figure 12. During Developed in 1994, DSDM is an agile de-
Speculation, project is initiated and basic require- velopment methodology and adopts Pareto Principle
ments are defined [4]. Duringcollaboration, the re- such that 80% of project comes from 20% of re-
quirements are analyzed, designed, coded and tested quirements [14]. Follows the concept of MoSCoW
as a collaborative team and during learning, formal for prioritizing requirements which stands for Must,
technical reviews are done, focused groups get feed- Should, Could, Won’t have requirements. DSDM
back from customers and post-mortem is done with suggests an iterative software process and consists of
the intent of learning and improving. ASD empha- three iterative cycles and two life cycle activities. The
sizes in the formulation of self organizing teams, in- iterative activities include functional model iteration,
terpersonal collaboration, individual and team learn- design and build iteration and Implementation. Life
ing cycle activities include Feasibility Study and Busi-
ness Study.
Specula- Crystal Methodologies
tion Developed in mid-1990s by Alistair Cock-
burn, Crystal methods are referred as ‘lightweight
methodologies’ [14]. It focuses on people, interac-
tion, skills, community, talents and communications.
Working Learning Collabora-
Processes are given secondary focus and people’s
Software tion
interaction, talent are given a major focus.
Figure 12: Adaptive Software Development
Feature Driven Development (FDD) The methodology uses colors to denote the
‘weight’ of methodology to use. The different colors
Feature driven development introduced in in the family include Crystal Clear, Crystal Yellow,
1999 is a client-centric, architecture-centric, and Crystal Orange, Crystal Red, Crystal Maroon, Crystal
pragmatic software process [13]. Diamond and Crystal Sapphire. The larger a project
gets, darker the color. The seven properties of crystal
methodology include frequent delivery, reflective
improvement, close communication, personal safety,
Develop Build a Plan by
focus, easy access to expert users and technical envi-
overall Features Feature ronment with case tools.
Plan List
Open Source System Development
It is the process in which the source code of
Completed the developed software is publicly available for study,
Build Develop
Value- change and improvement. This new style of devel-
by by Feature
added opment became popular after Tim Berners-Lee made
Fea-
function his HTML code as the platform for the development
of World Wide Web. Typically an open source project
will be initiated by anyone who senses that there is a
need for Software to be developed. The initial code
Figure 13: Feature Driven Development is shared with public and it is followed by identifica-
tion of volunteers to chalk out the development plan.
Full-Fledged code development, review, code docu- Agile Unified Process (AUP)
mentation, testing and code commitment is then
Developed by Scott Ambler, AUP is a sim-
made. The software is released and enters into con-
plified version of Rational Unified Process consisting
tinuous improvement.
of four phases and seven disciplines. AUP advocates
There are different types of open source small increments over ‘big bang’ approach by releas-
development projects. In Garden variety, standalone ing the system in portions into production as shown
software programs are developed for a specific pur- in Figure 14.
pose. In Distribution project, the common source
program is distributed which can further be custom-
ized. In BSD model, the software development will
be done using one revision control system developed Development Release
by a single team. Standalone documentation projects
develop documentation for open source software Production Release
which has already been developed.
Figure 14: Agile Unified Process
SDM from 2002 onwards
The first production release may take twelve
From 2002 onwards, six development meth- months, the second release may take nine months and
odologies became popular and are being adopted by subsequent releases take six months. Continuous
companies till today. These include Test Driven De- learning, experience makes the system to be devel-
velopment, Behavior Driven Development, Agile oped quickly. In AUP, phases are large and disci-
Unified Process, Kanban Software Development, plines are iterative and small. AUP works on the phi-
Scrumban and Disciplined Agile Delivery. losophy of agility, simplicity, trust in staff, focused on
Test Driven Development high value items and can be tailored as per the need.
AUP is not for everyone and should be chosen as per
Introduced in 2003 by Keny Beck of eX- the requirement of the development team.
treme programming, TDD advocates preparation of
tests before code is written. It emphasizes specifica- Kanban Software Development
tion more than validation which is the traditional fo- Inspired by the Toyota Production System
cus of testing. and Lean manufacturing, Kanban software develop-
It comprises of four steps – add a test, run ment originated in 2004 is a visual process manage-
ment system that aids decision making concerning
the test, make a little change in code to make the tests
what to produce? When to produce? and How much
pass and again run the test to ensure the tests passes
to produce? [16]. It works on four key practices:
and again repeat the cycle. It focuses on refactoring -
Visualize the workflow, Lead using a team approach,
tuning the code without any changes in the appear-
ance of the feature. In simple words, TDD is test first reduce the batch size of your efforts, learn and im-
development added with refactoring. prove continuously. It uses a Kanban board for visu-
alization and control mechanism.
Behavior Driven Development
Scrumban
Introduced in 2003 by Dan North, BDD is
Scrumban is a combination of Scrum meth-
an extension of Test Driven Development. North de-
fines BDD as “a second-generation, outside–in, pull- odology and Kanban methodology as shown in Fig
based, multiple-stakeholder, multiple-scale, high- 15. Scrumban is a Scrum or Scrum-like process
which is being improved by Kanban [18]. Fundamen-
automation, agile methodology”. It describes a cycle
tally, Scrumban is a management framework that
of interactions with well-defined outputs, resulting in
emerges when teams employ Scrum as their chosen
the delivery of working, tested software that matters.
way of working and use the Kanban Method as a lens
It works on the principle of getting the behavior of
software from stakeholders and uses ‘should’ to de- through which to view, understand and continuously
scribe the behaviour and ‘ensure’ for assigning the improve how they work
responsibility. It implements examples to describe the
behaviour and uses automation to provide quick
feedback and regression testing.