Professional Documents
Culture Documents
Support practices are value-enhancing activities, including 3. Specific ISO/IEC and IEEE
Quality management, Configuration Management, Change 4. ISO/IEC 12207, ISO/IEC 29110 and MoProSoft
management, Human Resource management and Supplier
management. Quality management enhances a team’s hability 5. PMBOK, Cleanroom Software Engineering and RUP
to prevent failures and correct mistakes while Configuration
management helps keep products consistent across the whole 3.1 Software Engineering Institute SoPs
projects; Change management establishes a formal way to The Carnegie Mellon Software Engineering Institute (SEI) has been
identify, register and approve changes in the scope of a working for almost 30 years in “advancing the technologies and
project or set of products; Human Resource management practices needed to acquire, develop, operate and sustain software
includes recruitment, selection and development of team systems.” [1] Among the SoPs proposed by the SEI we can find the
members, and Supplier management involves practices for Capability Maturity Model Integrated for Development (CMMI-DEV),
establishing and supervising agreements with external the Personal Software Process (PSP) and the Team Software Process
suppliers. (TSP).
This schema allows identifying the scope of the SoPs. CMMI-DEV is a compendium of practices1 covering most of the needs
of a software development organization except for Organization
management practices.
PSP is a methodology for programmers, containing practices and
techniques for planning, detailed design, coding and quality
management.
TSP is a method and its techniques mainly focused on project
management practices. It was mainly designed for teams of
Support Core Project Process Organizational
practices practices management management management programmers trained in PSP.
Table 1. Sets of practices by specialization: SEI
PRACTICES CMMI PSP TSP
A. Management practices
A1.Organizational
management
Figure 2. Specialization areas A2. Process management
1
CMMI-Dev does not include techniques.
such as SCRUM, Extreme programming (XP), and Agile Unified The IEEE has also developed many specific standards [10] related to
Process, among others. software development, for instance 1012 (Software verification and
validation), 828 (Software configuration management plans), 829
The SCRUM method was first presented at the Business Object Design (Software test documentation), 730 (Software Quality management
and Implementation Workshop in 1995[3]. It is “a framework within Plans), and 1016 (Recommended Practice for Software Design
which people can address complex adaptive problems, while Descriptions).
productively and creatively delivering products of the highest possible
value.” [4] Table 3. Sets of practices by specialization: Specific ISO/IEC and
IEEE
Extreme Programming or XP is a methodology created by Kent Beck
[5]. XP includes practices for Requirements engineering and analysis, Specific Specific
PRACTICES
detailed design, coding, and testing. It also considers some practices for ISO/IEC IEEE
planning. A. Management practices
Agile Unified Process (AUP) is a simplified version of the IBM A1.Organizational
Rational Unified Process methodology. “It describes a simple, easy to management
understand approach to developing business application software using 15504
A2. Process management
agile techniques and concepts yet still remaining true to the Rational 33014
Unified Process.” [6] 16326
A3. Project management 14143
Table 2. Sets of practices by specialization: Agile 16085
PRACTICES SCRUM XP AUP B. Core practices
A. Management practices B1. Requirements
29148
engineering
A1.Organizational
management B2. Architectural design 42010
A2. Process management B3. Detailed design 1016
This SoP was later used as a basis for the development of the ISO/IEC PMBOK Cleanroom RUP
PRACTICES
29110 standard. SE
B2. Architectural design
Table 4. Set of practices by specialization: 12207, 29110 and
MoProSoft
B3. Detailed design
PRACTICES 12207 29110 MoProSoft
B4. Coding
A. Management practices
C. Support practices
A1.Organizational
management C1. Quality management
A2. Process management C2. Configuration
management
A3. Project management
C3. Change management
B. Core practices C4. Human resource
B1. Requirements management
engineering C5. Supplier management
B2. Architectural design
B3. Detailed design
3.6 An Integral view of SoPs
B4. Coding The following figure contains an integral view of SoPs classified using
C. Support practices 2D Model.
(selection and adoption). It is important to notice than the [4] Ken Schwaber and Jeff Sutherland, July 2013, The SCRUM Guide,
implementation project also requires good practices of project The Definitive Guide to Scrum: The Rules of the Game, seen at
management and that you will face change resistance from the www.scrum.org
members of your team or organization. [5] Lee Copeland, December 3, 2001, “Extreme programming.”
3. Make sure the SoP contains everything you need. Other than Computer World. Seen at
for the simplest projects, you will surely need Quality, http://www.computerworld.com/s/article/66192/Extreme_Program
Configuration and Change management practices, which are ming
not included in all SoPs. Only some SoPs include specific [6] http://www.ambysoft.com/unifiedprocess/agileUP.html
techniques, which means you may have to do some research.
The IEEE’s Guide to the Software Engineering Body of [7] http://www.iec.ch/about/
Knowledge (SWEBOK) [14] is a great source for practices [8] http://www.iso.org/iso/catalogue_ics
and techniques related to software development. No SoP, with
[9] https://supportcenter.ieee.org/app/answers/detail/a_id/190
the exception of IBM’s RUP, contains references to tools.
PMBOK covers project management and support practices, [10] http://standards.ieee.org/findstds/standard/software_and_systems_e
but does not include core practices for software development. ngineering_all.html
4. Combining SoPs can lead to success or failure, so be careful. [11] http://standards.ieee.org/findstds/standard/12207-2008.html
Some SoPs are frequently used in combination, like SCRUM [12] http://www.pmi.org/en/PMBOK-Guide-and-Standards/Standards-
and XP. Others were designed to work together, like TSP and Library-of-PMI-Global-Standards.aspx
PSP. SCRUM, XP, Cleanroom SE, PSP and TSP can be
embedded in CMMI-Dev [15] [16] [17]. However, trying to [13] Rational Software, Rational Unified Process: Best practices for
combine methodologies can be very hard while combining software development teams, 1998, Cupertino, CA. Seen at
compendiums is almost impossible. http://www.ibm.com/developerworks/rational/library/content/03Jul
y/1000/1251/1251_bestpractices_TP026B.pdf
5. Consider quality, productivity and volatility of requirements
in your decision. SoPs like Cleanroom approach and TSP and [14] IEEE Computer Society, Guide to the Software Engineering Body
PSP are oriented to projects where managers must prove they of Knowledge, 2004 Version. Seen at
develop high quality software, while Agile SoPs are more http://www.computer.org/portal/web/swebok/htmlformat
suitable for projects that need to accommodate frequent [15] AgileDigm Incorporated, Agile/SCRUM Development using the
changes in requirements. CMMI® framework, 2010. Seen at
6. Decide whether you need an SoP for one project or http://www.nasa.gov/ppt/482611main_2010_Tuesday_4_cmmi_Jo
permanently. If you are in search of permanent improvement hnson_Kent_Agile%20Scrum%20Development%20Using%20CM
in your organization, then look for SoPs that include practices MI%20v1.4a.ppt
for Process management, like CMMI-Dev, ISO/IEC 12207 or [16] Hurtado y Bastarrica, Implementing CMMI using a combination of
MoProSoft. Agile methods, CLEI Electronic Journal, Volume 9, Number 1,
7. Don’t do it yourself, at least not for the first time. You can, of Paper 7, June 2006
course, decide to develop your own SoP, but be willing to [17] Koch S. Alan, TSP can be the building blocks for CMMI,
accept that it can take you many months (even years) and that Crosstalk, The Journal of Defense Software Engineering, March
it is a separate area of specialization. 2005
5. REFERENCES
[1] http://www.sei.cmu.edu
[2] www.agilemanifesto.org
[3] Sutherland, Jeffrey Victor; Schwaber, Ken. 1995, Business object
design and implementation: OOPSLA '95 workshop proceedings.
The University of Michigan. p. 118. ISBN 3-540-76096-2