1 _____ ___ ____ _____ ____ ____ ____ ____ ____ The application of ISO 9001 to agile software...

17
1 The application of ISO 9001 to agile software development Geir Kjetil Hanssen, NTNU/SINTEF Tor Stålhane, NTNU

Transcript of 1 _____ ___ ____ _____ ____ ____ ____ ____ ____ The application of ISO 9001 to agile software...

Page 1: 1 _____ ___ ____ _____ ____ ____ ____ ____ ____ The application of ISO 9001 to agile software development Geir Kjetil Hanssen, NTNU/SINTEF Tor Stålhane,

1

The application of ISO 9001 to agile software development

Geir Kjetil Hanssen, NTNU/SINTEF

Tor Stålhane, NTNU

Geir Kjetil Hanssen
lagt til master med logo
Page 2: 1 _____ ___ ____ _____ ____ ____ ____ ____ ____ The application of ISO 9001 to agile software development Geir Kjetil Hanssen, NTNU/SINTEF Tor Stålhane,

2

Agile development - 1

Page 3: 1 _____ ___ ____ _____ ____ ____ ____ ____ ____ The application of ISO 9001 to agile software development Geir Kjetil Hanssen, NTNU/SINTEF Tor Stålhane,

3

Agile development - 2

ISO 9001 is document driven. The Scrum process can generate the following set of documents:

• At the start of the project: Process adaptation• Before each iteration: New and changed

requirements – the product backlog• After each iteration:

– Evaluation of conformity to requirements– Review of process conformity– Problems and their causes

Page 4: 1 _____ ___ ____ _____ ____ ____ ____ ____ ____ The application of ISO 9001 to agile software development Geir Kjetil Hanssen, NTNU/SINTEF Tor Stålhane,

4

ISO 9001 requirements - 1

• The supplier must have a quality assurance management process to ensure an explicit development process and process conformance

• Product quality is the responsibility of the company’s management

• The supplier must have one or more documented development processes. The process must produce documents that can be – Reviewed for acceptance by the customer– Used as proof of conformance

Page 5: 1 _____ ___ ____ _____ ____ ____ ____ ____ ____ The application of ISO 9001 to agile software development Geir Kjetil Hanssen, NTNU/SINTEF Tor Stålhane,

5

ISO 9001 requirements - 2

• All reports of non-conformance both for product and for process shall be reported and must lead to corrective actions

Page 6: 1 _____ ___ ____ _____ ____ ____ ____ ____ ____ The application of ISO 9001 to agile software development Geir Kjetil Hanssen, NTNU/SINTEF Tor Stålhane,

6

What have we done

To identify the problem areas for ISO 9001 vs Agile development, we combined the results from two processes. We went through:

• All available literature

• All items of ISO 90001 and identified possible relevant agile practices

Page 7: 1 _____ ___ ____ _____ ____ ____ ____ ____ ____ The application of ISO 9001 to agile software development Geir Kjetil Hanssen, NTNU/SINTEF Tor Stålhane,

7

The problem areas

Problems pertaining to ISOI 9001 and agile development stems from the fact that:

• Agile development focus on making code – not documents

• ISO 9001 uses documents to establish confidence in– Process conformance– Product quality

Page 8: 1 _____ ___ ____ _____ ____ ____ ____ ____ ____ The application of ISO 9001 to agile software development Geir Kjetil Hanssen, NTNU/SINTEF Tor Stålhane,

8

The challenge - 1

The main challenge in ISO 9001 certifying an agile development process is to balance two opposing goals:

• ISO 9001’s need for documentation of all process steps

• Agile development’s reluctance of excessive document production, taking resources and focus away from code development

Page 9: 1 _____ ___ ____ _____ ____ ____ ____ ____ ____ The application of ISO 9001 to agile software development Geir Kjetil Hanssen, NTNU/SINTEF Tor Stålhane,

9

The challenge - 2

Agile development is flexible – if a project requires that a certain document should be produced this requirement it can be included in the project

BUT

Agile development will stop being agile when it is required to develop a large amount of documents

Page 10: 1 _____ ___ ____ _____ ____ ____ ____ ____ ____ The application of ISO 9001 to agile software development Geir Kjetil Hanssen, NTNU/SINTEF Tor Stålhane,

10

ISO 9001 vs. Agile development

• For 31 sections no change was necessary.

• For 15 sections there was some disagreement between ISO 9001 and agile development.

• For 4 sections there was a total disagreement between ISO 9001 and agile development.

Geir Kjetil Hanssen
bør vi også ha en slide for "What we did and how we did it"? - for å forklare hvordan vi hr gjort vurderingen vår
Page 11: 1 _____ ___ ____ _____ ____ ____ ____ ____ ____ The application of ISO 9001 to agile software development Geir Kjetil Hanssen, NTNU/SINTEF Tor Stålhane,

11

What should be done - 1

Agile development needs to document more. In particular, we will need documents from:

• The initial planning activities• Definition of measurable quality objectives, e.g.

ala Evo• All activities for use as proof of conformance• High level and low level design• Reviews of each iteration

Page 12: 1 _____ ___ ____ _____ ____ ____ ____ ____ ____ The application of ISO 9001 to agile software development Geir Kjetil Hanssen, NTNU/SINTEF Tor Stålhane,

12

What should be done - 2

ISO 9001 must be more flexible in that the standard

• Needs to change its interpretation of “document inspection”

• Expand its definition of what is appropriate documentation, e.g. for proof of conformance

Page 13: 1 _____ ___ ____ _____ ____ ____ ____ ____ ____ The application of ISO 9001 to agile software development Geir Kjetil Hanssen, NTNU/SINTEF Tor Stålhane,

13

Example – agile development is OK

ISO 9001 – 4.2.1d: “...include documents needed by the organization to ensure the effective planning , operation and control of its process.”

Agile development always starts by defining how the methodology shall be used in a project

Page 14: 1 _____ ___ ____ _____ ____ ____ ____ ____ ____ The application of ISO 9001 to agile software development Geir Kjetil Hanssen, NTNU/SINTEF Tor Stålhane,

14

Example – more documents

ISO 9001 – 5.4.1: “...The quality objectives shall be measurable and consistent with the quality policy.”

Enhancement of agile development: all agile methods should use a measurement regime comparable to the one used in the agile development method Evo

Page 15: 1 _____ ___ ____ _____ ____ ____ ____ ____ ____ The application of ISO 9001 to agile software development Geir Kjetil Hanssen, NTNU/SINTEF Tor Stålhane,

15

Example – changed definition

ISO 9001 – 7.7.2: “The organization shall review the requirements related to the product. The review shall be conducted prior to the organization’s commitment to supply a product...”

We believe that it is impossible to get a complete overview of all details up front; instead the most important aspects should be documented.

In our opinion, ISO 9001 should be changed accordingly

Page 16: 1 _____ ___ ____ _____ ____ ____ ____ ____ ____ The application of ISO 9001 to agile software development Geir Kjetil Hanssen, NTNU/SINTEF Tor Stålhane,

16

Example – expanded definition

ISO 9001 – 7.3.1a: “...the organization shall determine the design and development changes.”

The challenge to agile development is proof of conformance – have we really done this?

Documents that should be accepted as evidence of conformance are e.g. pictures of the whiteboard showing requirements planned or work completed

Page 17: 1 _____ ___ ____ _____ ____ ____ ____ ____ ____ The application of ISO 9001 to agile software development Geir Kjetil Hanssen, NTNU/SINTEF Tor Stålhane,

17

Conclusions

Agile development will be more and more important in a world that is changing faster and faster

ISO 9001 certification will be more and more important to build confidence as more and more customers will lack IT competence

It is unwise of one of these two ideas to ignore the other