KEMBAR78
System Diagrm | PDF | Software Development Process | Agile Software Development
0% found this document useful (0 votes)
83 views11 pages

System Diagrm

The document discusses the evolution of systems development methodologies from 1970 to the present. It reviews various methodologies that emerged over the years for developing software applications through distinct phases like planning, analysis, design, implementation and maintenance. Key methodologies discussed include waterfall model, agile methods, open source development, and recent hybrid agile-waterfall approaches.

Uploaded by

ermiyasgr27
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
83 views11 pages

System Diagrm

The document discusses the evolution of systems development methodologies from 1970 to the present. It reviews various methodologies that emerged over the years for developing software applications through distinct phases like planning, analysis, design, implementation and maintenance. Key methodologies discussed include waterfall model, agile methods, open source development, and recent hybrid agile-waterfall approaches.

Uploaded by

ermiyasgr27
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 11

Indian J.Sci.Res.

14 (1): 27-37, 2017 ISSN: 0976-2876 (Print)


ISSN: 2250-0138 (Online)

SYSTEMS DEVELOPMENT METHODOLOGIES: CONCEPTUAL STUDY


K. SARAVANAN1
Assistant Professor, Sree Vidyanikethan Institute of Management, India
ABSTRACT
Today, we are in the era of Mobile computing. There is an increasing trend in the use of software applications
through smart phones, laptops, PDA’s, tablets and other mobile devices. To fulfill this increasing demand in the market,
software applications are getting developed and upgraded in rocket speed. IT Companies are employing various system
development methodologies to develop quality software. Development methodologies and practices serve as one of the
critical components in Systems development. Over the years, several methodologies have evolved to cater to the varying
requirements of systems development and two styles of system development have emerged – the conventional closed-
source development and the progressive open-source development. Today, open source development is adopted as sup-
plement to closed source development. This paper has two objectives. The first objective is to review the literature re-
lated to system development methodologies that have evolved over the years. The second objective is to make distinc-
tion between the two styles of development, cite examples of companies which are successful in adopting open source
development.
KEYWORDS: Closed Source development, Open Source development, Systems development methodology,
Systems development style
Systems development methodology (SDM) During ‘Planning’, the IS planned for devel-
is a standard process followed in an organization to opment is identified and prioritized. This is followed
conduct all the steps necessary to analyze, design, by ‘Analysis’ where the requirements of the system to
implement and maintain information systems (IS) [1]. be developed will be determined and structured by
It is highly beneficial for organizations to adopt a Systems Analysts (SA). Once the requirements are
systems development methodology to develop IS. structured, the Inputs, Interfaces, databases and Out-
puts of the IS are ‘designed’. The baselined design
Systems development life cycle (SDLC) is a
serves as input for ‘Implementation’ where full
framework composed of distinct steps or phases in
fledged coding and testing takes place. Implementa-
the development of an Information System [5].
tion also includes Documentation and Training. ‘Do-
SDLC consists of five stages which include Planning,
cumentation’ on the system is prepared and the sys-
Analysis, Design, Implementation and Maintenance
tem is installed for use. ‘Training’ on how to use the
as shown in Figure 1.
system is provided to customers. This completes the
Systems development and the system is moved to
Planning ‘Maintenance’ phase where improvement to the exist-
ing system is undertaken.
REVIEW OF LITERATURE
Maintenance Analysis
The evolution of Systems development me-
thodologies dates back to 1970 when W.W.Royce
introduced the traditional Waterfall model of systems
development [8]. Till that time, systems were devel-
Implementation Design
oped adopting less disciplined approaches. Only for-
mal methods using mathematics and component
based concepts of software development were
adopted during those times.
With system development being made as a
formalized process through the introduction of water-
Figure 1: Systems Development Life Cycle
fall model, many models started emerging either to
fix the drawbacks of waterfall model or to improve
the efficiency and quality of the overall systems de-
velopment process.

1
Corresponding author
SARAVANAN: SYSTEMS DEVELOPMENT METHODOLOGIES: CONCEPTUAL STUDY

Figure 2 and table 1 provide a snapshot on Architecture


the various systems development methodologies that Feature Driven 1997 Jeff de Luca
have evolved along with the timelines. It can be ob- Development
served that till late 1990s, the paradigm was conven- Crystal Methodol- 1998 Alistair Cock-
tional closed-source development and today we are ogy burn
witnessing progressive open-source development Open Source De- 1998 Eric S.Raymond
acting as supplement to closed-source development velopment
eXtreme Pro- 1999 Kent Beck
• Formal Methods gramming
Till 1970s
• Component based develop- Adaptive Software 1999 Jim Highsmith
ment concepts Development
• Linear Sequential Models Agile Unified 2002 Scott Ambler
• Incremental Iterative Models Process
1970 - 1993
• OOAD Test Driven De- 2003 Kent Beck
• Specialized Methods velopment
• Agile Methods Behavior Driven 2003 Dan North
1993 - 2000 • SOA Development
• Open Source development Kanban Software 2004 David Anderson
Development
2000s • Recent Agile Methods
Disciplined Agile 2009 Scott Ambler
Delivery and Mark Lines
Figure 2: Evolution of SDM
Scrumban 2009 Corey Ladas

Table 1: SDM – Year and Contribution


In this paper, review of literature on SDM is
SDM Year Contribution done in three parts based on the evolution of devel-
Formal Methods 1967 Robert W.Floyd opment style. The first part discusses on SDM which
Component based 1968 Douglas Mcllroy originated in the period 1970 to 1993. During this
Development period, the style was completely closed source devel-
Waterfall Model 1970 W.W.Royce opment. The second part focuses on discussing SDM
Prototype Model 1970s Not Available originated between 1994 till 2002. In this period,
Joint Application 1974 Dan Gielan, open source style of development emerged and agile
Design and Devel- Chuck Morris, methodologies became popular. The third part fo-
opment Tony Crawford cuses on methodologies developed after 2003 where
V-Model 1982 Ottobrunn open source development is adopted as supplement to
Spiral Model 1986 Barry Boehm closed source development.
Aspect Oriented 1990s Gregor Kiczales SDM from 1970 to 1993
Software Devel-
opment Till early 1990s, six development method-
Rapid Application 1991 James Martin ologies were adopted by organization Till Linear Se-
Development quential models originated, systems development was
less formalized. Concepts of. Formal methods and
W-Model 1993 Paul Herzlich
component based development concepts were in use
Scrum 1993 Jeff Sutherland
but systems development became more formal after
and Ken Schwa-
the introduction of Waterfall model in 1970 by
ber
W.W.Royce.
Concurrent Devel- 1994 Davis and Sita-
opment ram Linear Sequential Methods
Dynamic Systems 1994 DSDM consor- Linear Sequential methods of Systems de-
Development tium velopment advocate gathering the requirements well
Method in advance of the Systems life cycle and baseline the
Rational Unified 1996 Philippe Kruch- same. Customers are not appreciated to change the
Process ten requirements and are not involved during Systems
Service Oriented 1996 Gartner Development. Once the System is developed, cus-

Indian J.Sci.Res. 14 (1): 27-37, 2017


SARAVANAN: SYSTEMS DEVELOPMENT METHODOLOGIES: CONCEPTUAL STUDY

tomers were allowed to use the system and requested V- Model


to provide feedback. These methods are highly useful
V-Model is a variation of the Waterfall mod-
in larger and complex projects where the require-
el aimed at improving the quality of system by giving
ments are well known in advance and the team size is
more focus to testing throughout the lifecycle. In this
more than hundred. The problem with the traditional
model, each activity of development in the left side
method is that as customers are not involved in the
has a corresponding testing activity in the right side
life cycle, maintenance cost is very high. Three varia-
as shown in Figure 4.
tions of linear sequential methods include Waterfall
Model, V-Model and W-Model. Coding activity in the left side has Unit Test-
ing (UT) activity performed in the right side. Low
Waterfall Model
level design (LLD) documents serve as input for
In waterfall model, each phase of develop- component Testing (CT). High level design (HLD) is
ment should be completed for the next phase to begin the input for Integration Testing (IT). System Testing
as shown in Figure 3. It follows a down-hill fashion (ST) is performed by considering Systems Require-
and each phase interacts with the next phase through ment Specifications (SRS) as input. Acceptance Test-
documentation. Proposed by W.W.Royce [1], this ing (AT) is performed by customers based on Busi-
model is useful in situations where requirements do ness Requirements Specification (BRS) document. V-
not change and work proceeds in a linear fashion. Model is a highly successful model and is widely
adopted in companies which have a dedicated testing
team

Planning

Analysis

Logical De-
sign

Physical De-
sign

Implementation

.
Maintenance

Figure 3: Waterfall Model


W- Model opment activity is mirrored by a testing activity such
that static testing is focused during development and
Developed by Paul Herzlich in 1983, W-
dynamic testing is focused during testing phase of
Model is an attempt to address the shortcomings of
systems development.
V-Model. Unlike V-Model which gave more impor-
tance to dynamic testing, W-Model focuses both on Incremental-Iterative Methods
static testing as well as dynamic testing. Every devel-
One of the problems with traditional me-

Indian J.Sci.Res. 14 (1): 27-37, 2017


SARAVANAN: SYSTEMS DEVELOPMENT METHODOLOGIES: CONCEPTUAL STUDY

thods is the lack of customer involvement throughout


the system life cycle which led to higher maintenance Prototype
cost. The other problem is requirements were not
allowed to be changed which led to customer dissa-
tisfaction. To overcome these problems, Incremental
– Iterative models were developed in which the sys- Customer
tem was evolved or incremented over a period of Initial Quick Evaluation
time with customer involvement. There are four vari- Req. Design
ations of this methodology: Prototype Model, Spiral
Model, Rapid Application Development Model and Customer
Concurrent development. Satisfied
Review
and Upda-
BRS AT tion

SRS ST Mainten- Test- Development


ance ing

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

Figure 6: Spiral Model

Indian J.Sci.Res. 14 (1): 27-37, 2017


SARAVANAN: SYSTEMS DEVELOPMENT METHODOLOGIES: CONCEPTUAL STUDY

RAD Model veloped. OOAD works on the principles of abstrac-


tion, encapsulation, inheritance and polymorphism
Rapid Application Development Model de-
and advocates software reuse. OOAD is extensively
veloped in 1980s increases customer involvement, employed in application development using object
encourages development of prototypes and extensive- oriented programming languages like Java, C++. One
ly employs computer aided software engineering of the variations of OOAD is Rational Unified Proc-
(CASE) tools. ess (RUP) [1] which is explained below.

Requirements None
Planning

User De- Under Develop-


sign

Awaiting
Construction
Under Re-

Under Revi-
Cutov- sion
er Baseline

Done
Figure 7: RAD Model

It consists of 4 stages as shown in Figure 7.


Figure 12: Concurrent Development
The first stage ‘requirement planning’ is succeeded
by ‘design’ and ‘construction’ which occurs iterative-
Rational Unified Process (RUP) Model
ly till the user gets satisfied. ‘Cutover’ phase includes
handing over the system. RAD model is suitable for RUP model comprises of four phases as
applications which are to be developed very quickly. shown in Fig 8. During Inception, the scope of the
project is decided and requirements are gathered.
Concurrent Development Model During the Elaboration phase, the requirements gath-
Concurrent Engineering model defines a ered are analyzed, prioritized and the architecture is
series of events that will trigger transitions from state developed. In the construction phase, coding and test-
to state for each of the software engineering activi- ing will happen with the beta version of the project
ties, actions or tasks [4]. At a specific time, analysis, deployed. This is followed by transition where user
design, development and testing may be happening training is given and client approval is obtained. Each
and the deliverables may be at different states which of the phases undergoes series of iterations till the
include ‘under development, under review, awaiting next phase is reached. During the analysis phase,
changes’ and so on. Concurrent engineering OOAD concepts are adopted which are further im-
represents the overall picture of the current state of a plemented in the construction phase.
project. Fig 12 shows the state of one of the Systems Specialized Methods
development activity.
Specialized models have narrow focus and are
Object Oriented Analysis and Design not widely adopted in all development projects. They
adopt some of the characteristics of conventional mod-
OOAD methodologies combine data and
processes into single entities called objects [1]. Ob- els [5] but are applied to specific projects.
jects correspond to real life entities and helps in im- Aspect oriented Software Development
proving the security and quality of systems been de-
AOSD is based around abstractions called

Indian J.Sci.Res. 14 (1): 27-37, 2017


SARAVANAN: SYSTEMS DEVELOPMENT METHODOLOGIES: CONCEPTUAL STUDY

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

Indian J.Sci.Res. 14 (1): 27-37, 2017


SARAVANAN: SYSTEMS DEVELOPMENT METHODOLOGIES: CONCEPTUAL STUDY

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

During coding, unit test scripts are devel-


oped first followed by code generation. XP advocates Figure 11: Scrum Framework
‘Pair Programming’ where both developers and test-
ers work together in the same terminal. The devel-

Indian J.Sci.Res. 14 (1): 27-37, 2017


SARAVANAN: SYSTEMS DEVELOPMENT METHODOLOGIES: CONCEPTUAL STUDY

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.

Indian J.Sci.Res. 14 (1): 27-37, 2017


SARAVANAN: SYSTEMS DEVELOPMENT METHODOLOGIES: CONCEPTUAL STUDY

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.

Indian J.Sci.Res. 14 (1): 27-37, 2017


SARAVANAN: SYSTEMS DEVELOPMENT METHODOLOGIES: CONCEPTUAL STUDY

available only for selected developers in the organi-


zation and so it may not be reliable to the extent of
the software developed using open source develop-
Scrum Scrumban Kanban ment model.
Raymond lists 19 lessons to create open
source software in his work.
Open Source development involves volun-
Figure 20: Scrumban
teers and advocates collaborative work. The follow-
Disciplined Agile Delivery (DAD) ing lists the characteristics of open source develop-
ment:
Scott Ambler started to work on DAD form
2009 and defines ‘Disciplined Agile Delivery (DAD) • The Source code is available for public to view,
process as a decision framework concerned with peo- modify and distribute
ple-first, learning-oriented hybrid agile approach to • The community of developers are volunteers and
IT solution delivery. It has a risk-value delivery life-
are spread across the globe
cycle, is goal-driven, is enterprise aware, and is scal-
able DAD is a process decision framework for Lean • The focus is collaborative development of soft-
Enterprises’. DAD is a hybrid approach of many de- ware to improve the quality and reliability of
velopment methodologies like Scrum, Kanban, XP, software
and RUP and so on. The focus of DAD is on delivery • Release early and release often
consisting of three phases which results in an incre-
mental system. There are four versions of DAD The following table provides the difference
which includes Agile/basic version, Advanced/Lean between Open Source development & Closed Source
Version, Lean continuous delivery cycle and an Ex- Development:
ploratory Lean startup cycle. The development team
Criteria Open Source Closed Source
can choose any of the versions and tailor it as per the
Development Development
requirement. DAD advocates the philosophy of goal-
Software Freely available Using License
driven, enterprise aware team and scaling Agile.
Access
OPEN-SOURCE DEVELOPMENT VS Software In the growth phase Accepted by all
CLOSED-SOURCE DEVELOPMENT Accep- of acceptance
tance
Eric Steve Raymond in his work, “The Ca- Philosophy Improve Quality of Holding intellectual
thedral & the Bazaar: Musings on Linux and Open software through copyrights within
Source by an Accidental Revolutionary” discusses on collaborative open the company
the two styles of development – Conventional Closed community
Source development and Progressive Open Source Motivation Contribution Commercial
development. to Society business
Raymond compares closed source develop- Evolution 1998 onwards 1960s onwards
ment to the building of a cathedral where the entire of Style
cathedral is built before the doors are open and he Market Wider Market Narrow Market
says that the software is developed over the internet Focus
through crowd sourcing in open source development, Business Revenue through Revenue through
Model Support Services software licenses
In Cathedral model, the source code is only
Source Can be Viewed Can be Viewed
available during release of the software and it is
code View
available with only exclusive group of developers
Source Can be modified Trade secret, cannot
during development. But in case of Bazaar model, the
code be modified by
code is available to the public during development
Modifica- public
itself.
tion
He emphasizes that software developed Develop- Across globe Company specific
through bazaar model is more reliable as the source ment developers
code is available for public testing and scrutiny. In community
case of open source development, the source code is Software Allowed Not Allowed

Indian J.Sci.Res. 14 (1): 27-37, 2017


SARAVANAN: SYSTEMS DEVELOPMENT METHODOLOGIES: CONCEPTUAL STUDY

Distribu- Today, most of the companies have started


tion adopting open source development as a supplement
Vendor No Yes to their closed source development to improve the
Lock-in reliability of the systems developed and to employ
Bug fix Based on open As per SLA crowd sourcing. They have also started adopting open
source community source software tools to aid in their development ef-
Security Better than Closed Secured forts. With development community spread across the
Source globe, to grab a wider market and to improve col-
Software Stable Better than Open laborative systems development, open source devel-
Stability Source opment style is embraced as a supplement to closed
Customi- Highly Possible Possible with re- source development.
zation quest to vendor CONCLUSION
General Small and Medium Large Enterprises
Preference Enterprises This paper gave an overview of all the sys-
Documen- Online documenta- Guides & Help files tem development methodologies that have evolved
tation tion along with software till date. It attempted to distinguish the two major
Ease of use Good Good styles of development – closed source, open source
Support Available through Tailored to the re- and also highlighted the characteristics of open
online blogs quirement source development. The change in landscape from
Cost Free Expensive closed source development to open source develop-
Risk Moderate Less risk ment was discussed. It also cited several examples of
systems developed adopting open source develop-
ment style. Today open source development is being
Today, Open source development is a proven
adopted as supplement to closed source development
style of systems development. The Open source de-
velopment era started in 1989 when World Wide Web is also explained.
was born and Tim Berners-Lee gave his HTML code REFERENCES
for development to the public. This was followed by
Linus Torvalds bringing this style of development to Chen W.K., 1993. Linear Networks and Systems.
the world through his Linux Operating system in Belmont, Calif.: Wadsworth, pp. 123-135.
1991. Linux is widely accepted, stable and highly (Book style)
popular open source operating system used world- Poor H., 1986. “A Hypertext History of Multiuser
wide today. Dimensions,” MUD History, http://www.ccs
The next stage of recognition to open source .neu.edu/home/pb/mud-history.html.
development came when Raymond inaugurated the Coming D.S. and Staadt O.G., 2008. "Velocity-
open source community in 1998 and Netscape Com- Aligned Discrete Oriented Polytopes for
munication Corporation announced starting its open Dynamic Collision Detection," IEEE Trans.
source Mozilla project. This is the period when Visualization and Computer Graphics,
Apache group’s open source web server became the 14(1):1-12, doi:10.1109/TVCG.2007.70405.
market leader grabbing 65% of market share in 1999. (IEEE Transactions)
Even today, apache runs several open source projects
successfully catering to different aspects of software Williams J., 1993. “Narrow-Band Analyzer,” PhD dis-
development process. sertation, Dept. of Electrical Eng., Harvard
Univ., Cambridge, Mass. (Thesis or disserta-
Another major breakthrough of open source tion)
development is given by Google. Google’s open
source mobile operating system, Android started in Hubert L. and Arabie P., 1985. “Comparing Parti-
2003 is the market leader in mobile market. It is the tions,” J. Classification, 2(4):193-218.
highly reliable and adopted mobile operating system Vidmar R.J.,1992. “On the Use of Atmospheric Plasmas
today. In the browser world, Google Chrome, the as Electromagnetic Reflectors,” IEEE Trans.
open source browser, is the widely used browser and Plasma Science, 21(3):876-880, available at
is the market leader. Started in 2008, Chrome, the http://www.halcyon.com/pub/ journals/ 21ps03-
open source development browser from Google has vidmar.
reached the number one position out beating Micro-
soft’s Internet Explorer.

Indian J.Sci.Res. 14 (1): 27-37, 2017

You might also like