Escolar Documentos
Profissional Documentos
Cultura Documentos
8, Issue 4, No 2, July 2011
ISSN (Online): 1694‐0814
www.IJCSI.org 441
1
Department of Computer Science
Singhania University, Jhunjhunu, Rajasthan, India
Abstract
Software has been playing a key role in the development, implementation, delivery, use and
development of modern society. Software industry maintenance. Software development usually
has an option to choose suitable methodology/process involves following stages (processes) as shown
model for its current needs to provide solutions to
in figure 1. A software process is a set of
give problems. Though some companies have their
own customized methodology for developing their activities that lead to the production of software
software but majority agrees that software product. Processes are also called as
methodologies fall under two categories that are methodologies helping to maintain a level of
heavyweight and lightweight. Heavyweight consistency and quality on a set of activities. A
methodologies (Waterfall Model, Spiral Model) are process is a collection of procedures that are
also known as the traditional methodologies, and used to a product by meeting a set of goals or
their focuses are detailed documentation, inclusive
standards.
planning, and extroverted design. Lightweight
methodologies (XP, SCRUM) are, referred as agile
methodologies. Light weight methodologies focused
mainly on short iterative cycles, and rely on the
knowledge within a team.
The aim of this paper is to describe the characteristics
of popular heavyweight and lightweight
methodologies that are widely practiced in software
industries. We have discussed the strengths and
weakness of the selected models. Further we have
discussed the strengths and weakness between the
two opponent methodologies and some criteria is also
illustrated that help project managers for the selection
of suitable model for their projects.
IJCSI International Journal of Computer Science Issues, Vol. 8, Issue 4, No 2, July 2011
ISSN (Online): 1694‐0814
www.IJCSI.org 442
Development speed (time to market) Objective setting – Specific objectives for the
Product quality and Project visibility project phase are identified.
Administrative overhead Risk assessment and reduction – Key risks are
Risk exposure and customer relations, etc. identified, analyzed and information is obtained to
reduce these risks. The aim is that all risks are
The paper is organized as: section 2 describes some resolved.
selected Heavy weight Models along their advantages Development and Validation – Once all possible
and disadvantages, section 3 discussed some selected risks have been identified the development of the
Light weight models along their strengths and software can begin, an appropriate model is chosen
weaknesses, section 4 Comparison of Heavy and for the next phase of development.
Light weight models in terms of differences and Planning – The project is reviewed and plans are
issues and section 5 discussed criteria for the drawn up for the next round of spiral.
selection of process models to develop a project.
Usage of Spiral Model
2. Heavy Weight Methodologies Following are the usage of Spiral model.
Heavyweight development methodology is based on • Large and high budget projects.
a sequential series of steps, such as requirements • When risk assessment is very critical.
definition, solution build, testing and deployment. • Requirements are not very clearly defined and
Heavyweight development methodology mainly complex.
focuses detailed documentation, inclusive planning, • When costs and risk evaluation is important
and extroverted design. Following are the most • For medium to high-risk projects.
popular Heavyweight development methodologies. • Long-term project commitment unwise because
of potential changes to economic priorities.
2.1 Spiral Model
This model is also known as Boehm's model, using 2.2 Rational Unified Process Model (RUP)
his model, process is represented as a spiral rather The Rational Unified Process (RUP), originated by
than as a sequence of activities with backtracking. Rational Software and later by IBM, is a heavy
The spiral has many cycles and each cycle represents iterative approach that takes into account the need to
a phase in the process. No fixed phases such as accommodate change and adaptability during the
specification or design – Loops, In the Spiral model development process. In RUP: a software product is
are chosen depending on what is required. Risks are designed and built in a succession of incremental
explicitly assessed and resolved throughout the iterations. Each iteration includes some, or most, of
process.The structure of the Spiral model is shown in the development disciplines like requirements,
the figure -2. analysis, design, and implementation and testing. It
provides a disciplined approach to assign tasks and
responsibilities within a software development
organization for the successful development of
software [1,2].
IJCSI International Journal of Computer Science Issues, Vol. 8, Issue 4, No 2, July 2011
ISSN (Online): 1694‐0814
www.IJCSI.org 443
Inception: (Understand what to build) In this With the Incremental model, portions of the total
phase project's scope, estimated costs, risks, business product might be available within weeks, whereas the
case, environment and architecture are identified. client generally waits months or years to receive a
Elaboration: (Understand how to build it) In product built using the Waterfall model. The gradual
this phase requirements are specified in detail, introduction of the product via the incremental model
architecture is validated, the project environment is saves time of client.
further defined and the project team is configured.
Construction: (Build the Product) In this
phase software is built and tested and supporting
documentation is produced.
IJCSI International Journal of Computer Science Issues, Vol. 8, Issue 4, No 2, July 2011
ISSN (Online): 1694‐0814
www.IJCSI.org 444
When we look at the lifecycle of a component, it The deployment stage address issues related to the
passes through the following global stages integration of component implementations in an
requirement analysis, design, development, executable system on some target platform. Finally,
packaging, testing, distribution, deployment and the execution stage deals with executing and possibly
execution. upgrading components.
Preliminary design entails component specification,
while detailed design consists of component search
and identification. For each application is
constructed, the developers need to manage all the
components used, along with their version
information. As developers frequently release
multiple versions of an application, it’s important that
they manage component versions used in applications
[4]
In the development stage, the design, specification,
implementation and meta-data of components is
constructed.
In the packaging stage, all information that is needed
for trading and deployment of the component
implementation grouped into a single package. Fig.5. Component-Based Application Integration
The distribution stage deals with searching, retrieval Life Cycle [4]
and transportation of components. For searching
components meta-data is needed that need to be
included in the packaging stage.
Table 1: Advantages and Disadvantages of some Heavy Weight Methodologies
Advantages
Spiral Model RUP Model Incremental Model Component Model
Emphasize planning for The iterative approach leads to With every increment Reduction of cost through
verification and higher efficiency. operational product is reuse of previously
validation of the delivered. Early increments developed assets in the
product in early stages can be implemented with development of new
of product development. fewer people. Systems.
Each deliverable must Testing takes place in each Testing and debugging In principle, more reliable
be testable. iteration, not just at the end of the during smaller iteration is systems, due to using
project life cycle. This way, easy. previously tested
problems are noticed earlier, and components.
are therefore easier and cheaper to
resolve.
Good for large and Managing changes in software More flexible – less costly Facilitating the maintenance
mission-critical requirements will be made easier to change scope and and evolution of systems by
projects. by using RUP, i.e. Change is requirements. Easy replacement of
more manageable. obsolete components with
new enhanced ones.
Software engineers can The development time required is Easier to manage risk This Model brings the
get their hands in and less due to reuse of components. because risky pieces are potential for enhancing the
start working on a identified and handled quality of enterprise
project earlier. during its iteration. software systems.
IJCSI International Journal of Computer Science Issues, Vol. 8, Issue 4, No 2, July 2011
ISSN (Online): 1694‐0814
www.IJCSI.org 445
Disadvantages
Spiral Model RUP Model Incremental Model Component Model
Does not easily handle Not suitable for small scale Each additional build has Difficulty in locating
concurrent events and industry and safety critical to incorporate into the suitable component.
iterations. projects. existing structure without
degrading the quality of
what has been released
earlier.
Doesn’t work well for This Model is too complex, too The planning the delivery Problem in understanding
smaller projects. difficult to learn, and too difficult increments are critical to such component.
to apply correctly if you don't the success. Wrong
have an expert project managers planning can result in a
or project members. disaster. Not suitable for
large, long-term projects.
Does not easily handle On cutting edge projects which Clients are required to Conversion cost to a “reuse
dynamic changes in utilize new technology, the reuse learn how to use a new situation” (tools, training,
requirements. of components will not be system with each culture)
possible. deployment.
Highly customized RUP is a commercial product, no Design issues may arise
limiting re-usability. open or free standard. Before because not all
RUP can be used, the RUP has to requirements are gathered.
be bought from IBM, which can
sometimes limit its use.
IJCSI International Journal of Computer Science Issues, Vol. 8, Issue 4, No 2, July 2011
ISSN (Online): 1694‐0814
www.IJCSI.org 446
A summary of XP terms and practices is listed below: together to form a powerful whole. In Scrum,
Planning – The programmer estimates the effort projects are divided into brief work cadences, known
needed for implementation of customer stories and as sprints. Each sprint is typically one week to four
the customer decides the scope and timing of releases weeks in duration. The Sprints are of fixed duration
based on estimates. and never extended, each of which results in a
potentially usable product with an added increment of
function.
Small/short releases – An application is
developed in a series of small, frequently updated
versions. New versions are released anywhere from
daily to monthly.
Metaphor – The system is defined by a set of
metaphors between the customer and the
programmers which describes how the system works.
Simple Design – The emphasis is on designing
the simplest possible solution that is implemented
and unnecessary complexity and extra code are
removed immediately.
Refactoring – It involves restructuring the system
by removing duplication, improving communication,
amplifying and adding flexibility but without
changing the functionality of the program.
a) Pair programming – All production code Fig.6 Lifecycle of the XP Process [5]
are written by two programmers on one The tasks for each sprint are set, in consultation with
computer. a stakeholder representative, during a sprint planning
b) Collective ownership – No single person meeting and cannot be added to during the sprint.
owns or is responsible for individual code Each task is typically expressed as a user story. Tasks
segments rather anyone can change any part of that are not able to accomplish in time are returned
the code at any time. by the team to the backlog for future consideration.
c) Continuous Integration – A new piece of The structure of the scrum model is shown in the
code is integrated with the current system as figure 7
soon as it is ready. When integrating, the system
is built again and all tests must pass for the
changes to be accepted.
d) 40-hour week – No one can work two
overtime weeks in a row. A maximum of 40-
hour working week otherwise it is treated as a
problem.
e) On-site customer – Customer must be
available at all times with the development team.
f) Coding Standards – Coding rules exist and
are followed by the programmers so as to bring
consistence and improve communication among
the development team. Fig.7 Scrum Software Development Model [7]
IJCSI International Journal of Computer Science Issues, Vol. 8, Issue 4, No 2, July 2011
ISSN (Online): 1694‐0814
www.IJCSI.org 447
For example developers may build a prototype main objective of Rapid Application Development is
system for key requirements to ensure that the to avoid extensive pre-planning, generally allowing
requirements are feasible and practical and discussed software to be written much faster and making it
with the customers by showing the prototype system , easier to change requirements.
if not, revisions are made at the requirements stage
rather than at the more costly testing stage.
Swift
project
Swift planning Swift
Evaluation & Modeling
development
Swift
Demo
Rapid Application Development (RAD) is an Strength and weakness of some of the popular light
incremental software development process model that weight methodologies are listed in Table 2.
emphasises a very short development cycle and
encourages constant feedback from customers
throughout the software development life-cycle. The
Table 2‐ Strength and weakness of some Light Weight Methodologies
Strength of some Light Weight Methodologies
Prototype Model (RAD) Model (XP) Model Scrum Model
Faster development Time to deliver is less. XP model suit small- It provides an open forum,
results in early delivery medium size projects. It where everyone knows who
and cost saving. mainly emphasis on is responsible for which item.
customer involvement: A
major help to projects
where it can be applied.
Can integrate with other Quick development results in Emphasis on good team Focus on team
models such as waterfall saving of time as well as cost. cohesion. communications, Team spirit
to produce effective and solidarity.
results.
Improved and increased Productivity with fewer people Emphasizes final product. Frequent demonstrations for
user involvement. in short time. early feedback from
stakeholders.
. Progress can be measured. Test based approach to Scrum is mainly useful for
requirements and quality fast moving web 2.0 or new
assurance. media projects.
IJCSI International Journal of Computer Science Issues, Vol. 8, Issue 4, No 2, July 2011
ISSN (Online): 1694‐0814
www.IJCSI.org 448
Weakness of some Light Weight Methodologies
Prototype Model (RAD) Model (XP) Model Scrum Model
Lack of documentation results Suitable only when Difficult to balance up to Decision-making is entirely
costly support for upgrading of requirements are well large projects where in the hands of the teams.
the software known. documentation is essential.
Rapid development often Requires user involvement Needs experience and skill To deliver the project in time
results in poor quality software throughout the life cycle. if not to degenerate into there is always a need of
code-and-fix. experienced team member’s
only.
Concentrate mainly on Only Suitable for project Lack of design Project development may be
experimenting with the requiring shorter documentation also effected hugely, If any of the
customer requirement may development times. programming pairs is team members leave during
results in poorly understood. costly. development.
It is a big cost saver in terms Product may lose its The XP method provides Present of Uncommitted team
of project budget as well as competitive edge because essentially no data- members may results in
project time and cost due to of insufficient core gathering guidance. project failure.
reusability of the prototypes. functionality and may
exhibit poor overall XP does not explicitly
quality. plan, measure, or manage
program quality.
Success depends on the Methods are only briefly Scrum requires a certain level
extremely high technical described, when the XP of training for all users, this
skilled developers. method fails in practice, can increase the overall cost
this is usually the cause. of the project.
4: Comparison of Heavy and Light Weight Models in terms of differences and issues
Comparison of Heavy and Light Weight Models in terms of differences and issues are listed in Table 3 [5,8].
IJCSI International Journal of Computer Science Issues, Vol. 8, Issue 4, No 2, July 2011
ISSN (Online): 1694‐0814
www.IJCSI.org 449
Documentation Light (replaced by face to face Heavy / detailed Explicit knowledge
communication)
Team members Co-location of generalist senior Distributed teams of specialists
technical staff
Client Involvement onsite and considered as a team Low involvement
member Active/proactive
Market Dynamic/Early market Mature/Main Street market
Measure of success Business value delivered Conformance to plan
5. Criteria for the Selection of Process model is correct only in the context of the
Model organization or the product under development.
Selection of the suitable software model to use Correct selection is to a great degree dependant
within an organization is critical for overall on having a clear understanding of the groups
success of the project. A project Manager can and types of development models. This is of
use the following criteria to select a suitable further importance given that it’s highly unlikely
model for the development of a new project as that any organization will follow a model
per needs. strictly. Most organizations will opt to use a
The selection of one model over the others is hybrid form that fits the capabilities of their staff
driven by Project size, Budget, Team size, and meets the needs of their business.
criticality of the project and a lot of other factors.
The different aspects which need to be kept in References
mind while selecting a suitable process model [1] M. Fowler, “The New Methodology,” Available at
can be summarized as follows:- http://www.martinfowler.com/articles/newMetho
dology.html Accessed on 25/03/2011.
[2] Ian Sommerville, Software Engineering, UK:
Reuse of existing Components? Component
Addison Wesley, 2004.
Based approach may be ideal choice.
[3] Julien Lemétayer “identifying the critical factors
Very large project with High risks or high cost of
in software development methodology FIT”,
failure? A Spiral process Model may be your
Victoria University of Wellington.
best choice.
[4] Padmal Vitharana, “risks and challenges of
Although your customer have defined business component-based software development”
goals but the requirement are not freeze yet communications of the ACM, Vol. 46, No. 8,
Agile (light Weight) Model will have the August 2003, pp. 67-72.
advantage over others as it has the flexibility to [5] NK. Beck, Extreme Programming explained:
change the requirement at any stage. Embrace change. Reading, Mass., USA: Addison-
All the developers are experts? And if the project Wesley, 2004.
is small enough, an agile approach may work for [6] M. Rizwan Jameel Qureshi and S.A Hussain, “An
you. Adaptive Software Development Process Model”,
Advances in Engineering Software, Elsevier Ltd
Want to keep stakeholders involved? An Amsterdam, The Netherlands, Vol.39, No. 8,
Incremental process Model may be what you 2008, pp. 654-658.
need. [7] “Scrum Agile Model” available at:
Don't have an on-site stakeholder to sit with the http://www.rightwaysolution.com/scrum-agile-
developers? Agile development model is not for development-model.html accessed on:
you. 24/04/2011
[8] M. Rizwan Jameel Qureshi and S.A Hussain, “A
Developers are not highly skilled? A Waterfall or Reusable Software Component-Based
Spiral process Model can help keep them on Development Process Model”, Advances in
track and out of trouble. Engineering Software, Elsevier Ltd, Amsterdam,
The Netherlands. Vol. 39, No. 2, 2008, pp. 88-94.
6. Conclusion
No one model is necessarily better or worse than
another. As always the selection of a particular
IJCSI International Journal of Computer Science Issues, Vol. 8, Issue 4, No 2, July 2011
ISSN (Online): 1694‐0814
www.IJCSI.org 450