Professional Documents
Culture Documents
Page 1
ABSTRACT
Sometimes, a new software development project requires selecting or
proposing a particular model, methodology, or method, called
generically a Set of Practices (SoP). In this paper, we provide a twodimensional model for classifying and thus better understanding where
the different SoPs fit in for software development. The model is applied
to 27 different SoPs and the results are used to generate basic guidelines
for decision support. SoPs vary in both complexity (height) and
specialization (width). The larger the area (height x width) the more
time needed for implementation of the SoP. We suggest the following
advice: Make sure to establish a well-planned implementation project.
Make sure the SoP contains everything you need. Combining SoPs can
lead to success or failure, so be careful. Consider quality, productivity
and volatility of requirements in your decision. Decide whether you
need an SoP for one project or permanently. Dont design an SoP
yourself, at least not for the first time.
General Terms
Management, Standardization, Theory.
L5 Compendium
Keywords
Software engineering, software lifecycle, development methods, project
management, CMMI, Cleanroom.
L4
- Methodology
L3
- Method
L2
- Practice
by Shakespeare.
L1
Technique
1. INTRODUCTION
When facing a new software development project, sometimes
stakeholders are challenged with the decision of choosing the right
methodology or method. Selecting the wrong one can lead to problems
in the project and following the latest buzzword may not be the best
approach. There is also a risk that the selected methodology or method
does not contain everything we need for our software development
project. In this work we establish a way for stakeholders to distinguish
among different proposals (models, methodologies, standards and
methods), which we call Sets of Practices (SoP). In order to do this, we
define two classification schemes: one based in the complexity level of
each SoP (height) and the other based on how many specialization areas
are covered (width). Then we proceed to classify each SoP.
2. CLASSIFICATION MODEL
2.1 Complexity Levels (Height)
Not all SoPs contain the same amount of information. Some include just
a few practices while others have dozens of them. More practices lead
to more complexity and longer implementations. In order to
DOI: 10.1145/2579281.2579299
http://doi.acm.org/10.1145/2579281.2579299
Page 2
3. Analysis
Using our 2D model, we classify 27 SoPs grouped into 5 super-sets:
1.
2.
Agile
3.
4.
5.
Core
practices
Project
Process
Organizational
management management management
CMMI
PSP
TSP
A. Management practices
A1.Organizational
management
Figure 2. Specialization areas
2.3 2D Model
Using these two classification schemas we now can visualize a 2dimensional model for the SoPs based on their area:
B. Core practices
Height
B1. Requirements
engineering
B4. Coding
C2. Configuration
management
L5 - Compendium
L4 - Methodology
L3 - Method
C. Support practices
L2 - Practice
L1 - Technique
Width
DOI: 10.1145/2579281.2579299
http://doi.acm.org/10.1145/2579281.2579299
Page 3
The IEEE has also developed many specific standards [10] related to
software development, for instance 1012 (Software verification and
validation), 828 (Software configuration management plans), 829
(Software test documentation), 730 (Software Quality management
Plans), and 1016 (Recommended Practice for Software Design
Descriptions).
Table 3. Sets of practices by specialization: Specific ISO/IEC and
IEEE
PRACTICES
XP
Specific
ISO/IEC
15504
33014
16326
14143
16085
B. Core practices
AUP
A. Management practices
A1.Organizational
management
B1. Requirements
engineering
29148
42010
C. Support practices
25000
29119
18018
C2. Configuration
management
B4. Coding
C2. Configuration
management
DOI: 10.1145/2579281.2579299
1012
829
730
828
C. Support practices
C1. Quality management
1016
B4. Coding
B. Core practices
B1. Requirements
engineering
Specific
IEEE
A. Management practices
A1.Organizational
management
PRACTICES
http://doi.acm.org/10.1145/2579281.2579299
Page 4
This SoP was later used as a basis for the development of the ISO/IEC
29110 standard.
Table 4. Set of practices by specialization: 12207, 29110 and
MoProSoft
PRACTICES
12207
29110
PRACTICES
Cleanroom
SE
RUP
B4. Coding
MoProSoft
A. Management practices
A1.Organizational
management
PMBOK
C. Support practices
B1. Requirements
engineering
B4. Coding
C2. Configuration
management
C2. Configuration
management
C3. Change management
B. Core practices
C. Support practices
PMBOK
Cleanroom
SE
RUP
A. Management practices
A1.Organizational
management
4. CONCLUSIONS
In this paper we present a two-dimensional model for understanding the
different proposals that contain practices for software development and
related areas. Our goal is to help stakeholders select the best SoP for
their particular needs. Some guidelines:
1.
2.
B. Core practices
B1. Requirements
engineering
DOI: 10.1145/2579281.2579299
http://doi.acm.org/10.1145/2579281.2579299
Page 5
4.
5.
6.
7.
Make sure the SoP contains everything you need. Other than
for the simplest projects, you will surely need Quality,
Configuration and Change management practices, which are
not included in all SoPs. Only some SoPs include specific
techniques, which means you may have to do some research.
The IEEEs Guide to the Software Engineering Body of
Knowledge (SWEBOK) [14] is a great source for practices
and techniques related to software development. No SoP, with
the exception of IBMs RUP, contains references to tools.
PMBOK covers project management and support practices,
but does not include core practices for software development.
Combining SoPs can lead to success or failure, so be careful.
Some SoPs are frequently used in combination, like SCRUM
and XP. Others were designed to work together, like TSP and
PSP. SCRUM, XP, Cleanroom SE, PSP and TSP can be
embedded in CMMI-Dev [15] [16] [17]. However, trying to
combine methodologies can be very hard while combining
compendiums is almost impossible.
Consider quality, productivity and volatility of requirements
in your decision. SoPs like Cleanroom approach and TSP and
PSP are oriented to projects where managers must prove they
develop high quality software, while Agile SoPs are more
suitable for projects that need to accommodate frequent
changes in requirements.
Decide whether you need an SoP for one project or
permanently. If you are in search of permanent improvement
in your organization, then look for SoPs that include practices
for Process management, like CMMI-Dev, ISO/IEC 12207 or
MoProSoft.
Dont do it yourself, at least not for the first time. You can, of
course, decide to develop your own SoP, but be willing to
accept that it can take you many months (even years) and that
it is a separate area of specialization.
[4] Ken Schwaber and Jeff Sutherland, July 2013, The SCRUM Guide,
The Definitive Guide to Scrum: The Rules of the Game, seen at
www.scrum.org
[5] Lee Copeland, December 3, 2001, Extreme programming.
Computer World. Seen at
http://www.computerworld.com/s/article/66192/Extreme_Program
ming
[6] http://www.ambysoft.com/unifiedprocess/agileUP.html
[7] http://www.iec.ch/about/
[8] http://www.iso.org/iso/catalogue_ics
[9] https://supportcenter.ieee.org/app/answers/detail/a_id/190
[10] http://standards.ieee.org/findstds/standard/software_and_systems_e
ngineering_all.html
[11] http://standards.ieee.org/findstds/standard/12207-2008.html
[12] http://www.pmi.org/en/PMBOK-Guide-and-Standards/StandardsLibrary-of-PMI-Global-Standards.aspx
[13] Rational Software, Rational Unified Process: Best practices for
software development teams, 1998, Cupertino, CA. Seen at
http://www.ibm.com/developerworks/rational/library/content/03Jul
y/1000/1251/1251_bestpractices_TP026B.pdf
[14] IEEE Computer Society, Guide to the Software Engineering Body
of Knowledge, 2004 Version. Seen at
http://www.computer.org/portal/web/swebok/htmlformat
[15] AgileDigm Incorporated, Agile/SCRUM Development using the
CMMI framework, 2010. Seen at
http://www.nasa.gov/ppt/482611main_2010_Tuesday_4_cmmi_Jo
hnson_Kent_Agile%20Scrum%20Development%20Using%20CM
MI%20v1.4a.ppt
[16] Hurtado y Bastarrica, Implementing CMMI using a combination of
Agile methods, CLEI Electronic Journal, Volume 9, Number 1,
Paper 7, June 2006
[17] Koch S. Alan, TSP can be the building blocks for CMMI,
Crosstalk, The Journal of Defense Software Engineering, March
2005
5. REFERENCES
[1] http://www.sei.cmu.edu
[2] www.agilemanifesto.org
[3]
DOI: 10.1145/2579281.2579299
http://doi.acm.org/10.1145/2579281.2579299