Mapping Agile Software Development Onto Iso12207
Mapping Agile Software Development Onto Iso12207
Abstract
This document describes the agile software
development mapping with the Industry
Implementation of International Standard
ISO/IEC 12207.
Status
Final
Confidentiality
Public
Page : 1 of 12
Version: 1.0
AGILE document template Date : 20.02.06
Deliverable ID: N.N.X-N
Status : Final
Confid : Public
TABLE OF CONTENTS
CHANGE LOG................................................................................................................................2
1. Introduction..........................................................................................................................3
2. Research Context ................................................................................................................3
2.1 Research Goals ..............................................................................................................................3
2.2 Data Collection for the Analysis.......................................................................................................3
2.3 Description of the Case Projects .....................................................................................................4
3. Mapping Between Agile Software Development and ISO 12206.......................................5
4. Conclusions and Future Work ..........................................................................................10
5. References .........................................................................................................................10
Version: 1.0
AGILE document template Date : 20.02.06
Deliverable ID: N.N.X-N
Status : Final
Confid : Public
CHANGE LOG
Vers. Date Author Description
0.1 26.5.05 Minna First full draft created
Pikkarainen
0.2 13.2.2006 Minna Comments from Tuomas Ihme
Pikkarainen
1.0 20..2. 2006 Mi nna Final Version based on comments from Outi Salo
Pikkarainen
Version: 1.0
AGILE document template Date : 20.02.06
Deliverable ID: N.N.X-N
Status : Final
Confid : Public
1. INTRODUCTION
This document reports the results of the agile assessment results mapping (based on the experience of four
projects) with the traditional software development standard (Industry Implementation of International
Standard ISO/IEC 12207). The purpose of this document is to support the standardization of agile software
development.
The document is composed as follows: section 2 presents the research goals and a short description of the
case projects, section 3 and 4 illustrate the agile software development mapping results between the ISO
12207 standard. The last section concludes the document with final remarks and outlines future actions.
2. RESEARCH CONTEXT
Agile practices (such as XP Planning Game (Beck 2000), Test Driven Development (TDD) (Beck 2000) and
post-iteration workshops (Salo, Kolehmainen, et al. 2004)) have been offered as a promising way to meet
the needs of rapid external changes in the dynamic market situations, lower the defect rates and make the
development times faster (Beck 2000; Boehm and Turner 2003; Highsmith 2004). Agile methods have also
been claimed to increase customer satisfaction (Boehm and Turner 2003) and the motivation of the software
developers (Beck 2000; Greene 2004). Only few organizations or projects can, however, take a selected
agile method in use as proposed (Lindvall, Muthig, et al. 2004; Williams 2004). In many cases, the best way
is to use a hybrid method where the most suitable practices from the agile and plan-driven (Boehm and
Turner 2003) methods are integrated based on the organization needs (Boehm and Turner 2003; Lindvall,
Muthig, et al. 2004; Williams 2004)(Boehm and Turner 2003; Lindvall, Muthig, et al. 2004; Williams 2004)[2,
6, 7]. Both agile and plan-driven (Boehm and Turner 2003)(Boehm and Turner 2003) approaches, however,
have the situation dependent shortcomings that, if left unaddressed, can lead to project failure (Boehm and
Turner 2003). The organizations need to see compelling evidence on the hybrid projects' efficiency before
the agile practice is deployed in a larger scale (Lindvall, Muthig, et al. 2004). Therefore, when an
organization is building up its own method this way, a systematic agile assessment approach is useful.
Agile Assessment in all cases was based on Agile Assessment method including the following steps: 1)
focus definition, 2) agility evaluation, 3) data collection planning, 4) data collection, 5) analysis and 6) final
workshops. In the first step, the goals are set for adopting agile methods. The second step provides a better
understanding on how suitable and effective the various agile methods would be in the specific projects.
The agile assessment data was collected using interviews, agile assessment workshops, and from the
recorded iterative SPI actions (Post-Iteration Workshop data) and improvement opportunities (from project
postmortems). In addition, various metrics data was utilized in the analysis. The agile assessment
workshops were conducted in order to identify the strengths and weaknesses of the software development
process and to discuss the possibilities of increasing the agility of the development process together with the
project stakeholders. The assessment workshops thus supported the project and organizational learning
between different projects and also the development of a agile software development model on the
organizational level. The agile assessor was from VTT and well aware of the available agile methods, as well
as of the agile assessment method. (Pikkarainen, Salo, et al. 2005).
Version: 1.0
AGILE document template Date : 20.02.06
Deliverable ID: N.N.X-N
Status : Final
Confid : Public
Scrum Projects
The first evaluated project used the Scrum (Schwaber 1995) method The project team consists of six
persons including four software engineers, a Scrum master/project manager. The core of project 1
(developers) works in an open office space. The project had been going on for over a year conducting three
Sprints. The Scrum method has been used in the project for about five months until now within the following
principles:
The second evaluated project also used the Scrum method for their software development. The idea of
piloting the Scrum method was based on the excellent experiences of project 1 on the Scrum method use.
The project team of project 2 consists of four persons. One of them works as a Scrum master as well as a
project manager, and the other three project members are software engineers who are focused on
development work as well as unit testing activities. The project team has been operated for about four
months. The Scrum methodology had been successfully utilized in the project for about three months until
now.
Mobile-D Project
The third evaluated project used the Mobile-D (Abrahamsson, Hanhineva, et al. 2004) method. The core of
the case project consisted of four software developers and one tester who worked in an open office space.
The team conducted five software development iterations in all (1x1 week, 3x2 weeks, and 1x1 week). The
team leader of the project was an expert of the Mobile-D process and was provided by the research
organization. Thus, the team had constant support and coaching available on adopting the new agile
process model and its practices and tools.
Version: 1.0
AGILE document template Date : 20.02.06
Deliverable ID: N.N.X-N
Status : Final
Confid : Public
Phase in ISO Key Activities Scum projects XP, Mobile-D and Mobile-D project
12206 Scrum integration
project
Acquisition Requirements were Not possible to Requirements were
defined in the product answer with the defined in product
backlog (i.e. list of current knowledge backlog by customer
product level features and product manager.
that is gleaned from
vision document and
gathered from
brainstorming session).
Product owner collected
the requirements from
the several customers.
NA NA NA
Supply
Process Selection of the agile Used Agile Mobile-D was selected
Implementati life cycle model based Practices were because of its good
on on Scrum literature. described in the use experiences in
Information mobile SW
Developers and Radiators on the development and the
management read walls of the Open possibility of getting
Scrum book Workspace process model
deployment support
Development (from VTT)
System Product Backlog Product Backlog Product Backlog
Requirement
Analysis Requirements for the Requirements for Product level
whole product were the whole product Requirements were
defined and listed in the were defined for analysed and
product backlog. They using the prioritized by the
were analysed and traditional customer, product
prioritized by the methods, manager and the
product owner and Requirements technical architect
Scrum master before were documented before the planning
the Sprint planning as user stories day. Priorities were
documented in the
product backlog
System Traditional System Traditional
Architectural architecture was
Design Architecture design developed during Architecture was
was implemented by the project. It was implemented by the
the developers using updated and product architect who
the standard layer refactored during made an architecture
architecture solutions. the second baseline (prototype)
Version: 1.0
AGILE document template Date : 20.02.06
Deliverable ID: N.N.X-N
Status : Final
Confid : Public
Version: 1.0
AGILE document template Date : 20.02.06
Deliverable ID: N.N.X-N
Status : Final
Confid : Public
Mobile-D method)
Software Continuous, hourly Continuous nightly Continuous integration,
Integration Integration environment integration release days at the end
was implemented of each iteration
during the project. Hour
level integration helped
the iterative testing
work.
Software Quality Engineer made Refactoring when Refactoring when
Qualification the integration tests needed needed, overall system
Testing after the each sprint was tested after the
development phase .
Project had the
separated external
quality engineering
team which purpose
was to do iterative
integration testing
System Automated Continuous Automated System testing was
Integration Integration Continuous implemented when the
Integration first version of the
overall product was
ready.
System Traditional Traditional Traditional
Qualification
Testing Testing was done Customer and System testing was
feature by feature, roles project manager started after the eight
and responsibilities of made the tests for weeks development
the quality engineering the product parts period. The
team was unclear developed by the management purpose
during the project previous iteration was to to implement it
concurrently with the
project
Software NA NA NA
Installation
Software NA NA NA
Acceptance
support
Operation NA
Maintenance NA Traditional NA
As simple as possible, As simple as Product Backlog, user
only based on external possible, simple stories, tasks cards
needs, documentation architecture which were both in
was taken as a part of description, tasks electronic format and in
prioritization in the and project status the information radiator
planning day. in information
radiators.
The architecture
documentation was Any criteria or
implemented by the needs for the
external team based on documentation in
the workshop with the agile project, was
Documentation developers not defined
NA Traditional version NA
management
Configuration system was used.
management Everybody had
Version: 1.0
AGILE document template Date : 20.02.06
Deliverable ID: N.N.X-N
Status : Final
Confid : Public
possibility to make
changes in the
code.
Quality engineer Reflection Traditional QE,
participated in the workshops Post-iteration
project team Workshops
Project had
The product was reflection Project conducted
system tested two workshops where iteratively post-iteration
weeks after the last the used practices workshops where the
development sprint were discussed used agile practices
and improved for were discussed,
Retrospective each iteration improvement ideas
workshops were were defined,
implemented after each implemented and
iteration. They were systematically
used as a mechanism validated.
for defining any agile
Quality practices for the next
assurance iteration
Sprint Planning Planning Games Planning Days, Post-
meeting, Daily Scrum Iteration Workshops,
meetings, Product The project status Product Backlogs
Backlog was discussed and
evaluated in The project status was
Other Scrum project: Planning Games, iteratively discussed
weekly meetings where where the next and evaluated in
the technical status of user stories were Planning Days (post-
the project was selected for the iteration workshops +
discussed with the next iteration, daily iteration planning
development team. discussion with the including the task and
Both projects had the project manager effort definition), where
daily scrum meetings and development the next user stories
including discussion of team. Status was were selected for the
the technical status of defined in next iteration. Daily
the project if needed. information wrap up meetings
radiators. Product where the technical
backlogs included status was discussed
the description of with the development
possible future team. Product backlogs
features. included the
description of possible
Joint review future features
Agile assessments: Agile assessments: Agile assessments:
improvement purpose improvement improvement purpose
purpose
Audit
Daily technical problem Daily technical Daily technical problem
resolution in daily problem resolution resolution in daily wrap
Scrum meetings and in daily wrap up up meetings and in
daily discussions in the meetings (technical discussions in open
open office space. viewpoint) and in office space. Problems
Problems were resolved discussions in were resolved
immediately. open office space. immediately.
Problems were
Problem resolved Post-Iteration
resolution immediately. workshops were used
Version: 1.0
AGILE document template Date : 20.02.06
Deliverable ID: N.N.X-N
Status : Final
Confid : Public
as a technique for
iterative improvement
needs definition and
problem solution
Version: 1.0
AGILE document template Date : 20.02.06
Deliverable ID: N.N.X-N
Status : Final
Confid : Public
the first Sprint. The used agile who were familiar with
methods were the agile methods (i.e.
Scrum and Crystal described in the coaching throughout
trainings were information the project).
organized for the radiators on the
developers wall of the open Mobile-D™ trainings
office space, some were organized for the
practices were development team at
trained by VTT and the beginning of the
others were project
discussed in the
workshop together
with the project
manager and the
development team.
In future, the mapping should be continued with the ISO 15288 standards. Any influence of the agile
methods should be defined in acquisition, supply and maintenance process areas (for instance, using the
workshops). Also, the mapping work could be extended to the future agile assessment results and new
project experiences.
5. REFERENCES
Abrahamsson, P., A. Hanhineva, et al. (2004). Mobile-D: An Agile Approach for Mobile Application
Development. 19th Annual ACM Conference on Object-Oriented Programming, Systems,
Languages, and Applications (OOPSLA'04), Vancouver, British Columbia, Canada.
Beck, K. (2000). Extreme Programming Explained: Embrace Change, Addison Wesley Longman, Inc.
Boehm, B. and R. Turner (2003). Using Risk to Balance Agile and Plan-Driven Methods. Computer, IEEE
Computer Society.
Cockburn, A. (2004). Crystal Clear, A Human-Powered Methodology for Small Teams.
Greene, B. (2004). Agile Methods Applied to Embedded Firmware Development. Agile Development
Conference, Salt-Lake city.
Highsmith, J. (2004). Agile Project Management, Creating innovative products, Addison-Wesley.
Lindvall, M., D. Muthig, et al. (2004). "Agile Software Development in Large Organizations." Computing
Practices: 38-46.
Pikkarainen, M. and U. Passoja (2005). An Approach for Assessing Suitability of Agile Solutions:A Case
Study. The Sixth International Conference on Extreme Programming and Agile Processes in
Software Engineering, Sheffield University, UK.
Pikkarainen, M., O. Salo, et al. (2005). Deploying Agile Practices in Organizations: A Case Study. EuroSPI
2005.
Version: 1.0
AGILE document template Date : 20.02.06
Deliverable ID: N.N.X-N
Status : Final
Confid : Public
Salo, O., K. Kolehmainen, et al. (2004). Self-Adaptability of Agile Software Processes: A Case Study on
Post-Iteration Workhops. 5th International Conference on Extreme Programming and Agile
Processes in Software Engineering (XP 2004), Garmisch-Partenkirchen, Germany, Springer.
Schwaber, K. (1995). Scrum Development Process. OOPSLA'95 Workshop on Business Object Design and
Implementation, Springer-Verlag.
Schwaber, K. and M. Beedle (2002). Agile Software Development With Scrum. Upper Saddle River, NJ,
Prentice-Hall.
Williams, L. A. (2004). "Extreme Programming Practices: What's on Top." Agile Project Management
Advisory Service 5(12).