Deciding the Software
Development Life Cycle Procedure
    (According to ISO12207)

           ISO/IEC 12207
     Software life cycle processes


              Fatih ALGUN
            Bogazici University
                Istanbul
            algun.fatih@gmail.com
Introduction

• Scope: Management of software development projects

• Software projects have a poor success record

   – YET ! The problems can be solved.

• Concepts from the ISO/IEC 12207 standard can help the
  software project manager achieve greater success.
Project Failure Reasons
        Annual expenditures on software projects in the USA is $ 250B

Canceled - 31%                                  Successful - 16%
    ($ 80B)                                         ( $ 40B)




                                            Over Schedule & Budget - 53 %
                                                      ( $ 120B)



  Ref: Standish Group data
Major Issues
• PLANNING
  – Software requirements - not clear
  – Cost & schedule estimation - difficult
  – Projects function - not planned
     • Control Management, Quality Assurance
  – Planning viewed as “non-productive”
• CONTROL
  – poor methods for tracking progress
  – poor indicators to measure productivity, quality
Two types of software projects
                    ( ISO/IEC 12207)

– Development
   • Developing or modifying a software-intensive system to
     meet contractual requirements (satisfies user needs )
– Acquisition
   • Contractually obtaining from a group ( supplier), a
     software-intensive system for use by another group
     (user)
What is ISO/IEC 12207 ?
– The major world-wide standard for software
  related processes
      – activities and tasks
– Tailored for any organization or project
– High level process architecture
   • An ‘inventory’ of processes from which to
     choose
For the first time - a world-wide agreement on
what activities make up a software project.
What is ISO/IEC 12207 ?
Concepts from the ISO/IEC/IEEE 12207
 standard can help the software
 director and the business in general to
 achieve greater success with their
 employees.
12207 Concepts
Process Architecture

  – Modular: Handle all types of projects

  – Cohesion: One process for one major function

  – Responsibility: One process for one party
Defining the Project Strategy
• The first step is to choose/tailor a project life
  cycle by choosing the appropriate set of
  processes defined in ISO/IEC 12207
   – Waterfall,
   – Iterative,
   – Rapid Application Development,
   – Incremental
Initiation - Selecting a Project
• Requirements

• Organization policy
  & Methods                         • Project Life Cycle

• Legal Needs           TAILORING   • Project Plan

• Time                              • Contract

• Process Standard

• Life Cycle Model                  START PROJECT
A simple project - 12207 Processes
               MANAGEMENT




DEVELOPMENT    OPERATIONS    MAINTENANCE


REQUIREMENTS
   DESIGN      CONFIGURATION MANAGEMENT
    CODE
     TEST
                      JOINT REVIEW
   INSTALL            VERIFICATION
 ACCEPTANCE
Major Parties

 Provides the product to
                                              Acquires the product
       the acquirer




Defines and develops the
         product


                       Maintains the software product
The Acquisition Process
• Defines the activities of the acquirer,
  – the organization that acquirers a system, software
    product or software service

  1. Initiation
  2. RFP ( tender) preparation
  3. Contract preparation and update
  4. Supplier monitoring
  5. Acceptance and completion
Organizational Processes
      •Management            •Improvement
      •Infrastructure        •Training

                     PROJECT
                    LIFE CYCLE

Employed by organization to establish and
implement an underlying structure of ..
Processes and personnel, and continuously
improve the structure and processes.
Management process
• “The purpose of the management process is to
  organize, monitor and control the initiation and performance
  of any processes or functions within the organization to
  achieve their goals and the business goals of the organization
  in an effective manner”

Activities:
•   Initiation and scope definition
•   Planning
•   Execution and control
•   Review and evaluation
•   Closure
Infrastructure process
• “The purpose of the infrastructure process is to maintain a stable
  and reliable infrastructure that is needed to support the
  performance of any other process. .. May include
  hardware, software, methods, tools, techniques, standards, facili
  ties for development, operation, or maintenance.”

Objectives:
• establish and maintain a well-defined software
  engineering environment (SEE)…..
• tailor the SEE top the needs of the project...
• develop a SEE that supports project team members
• implement a defined and deployed strategy for reuse
Supporting processes
•Documentation              •Verification
•Configuration management   •Validation
•Quality assurance          •Joint review
•Problem resolution         •Audit

                PROJECT
               LIFE CYCLE



   Employed by any Primary process
   or another supporting process
Quality Assurance (QA)
• “The purpose of the quality assurance process is to
  provide assurance that work products and processes
  comply with their specified requirements and adhere to
  their established plan”.

Objectives:
• identify, plan and schedule QA activities
• identify quality standards, methods and tools identify
  resources and responsibilities
• establish and guarantee independence of those..
• perform the QA activities
• apply organizational quality management systems
Configuration Management
• “The purpose of configuration management is to
  establish and maintain the integrity of the work
  products of a process or product”.
Objectives:

•   identify, define and control all relevant items
•   control modifications
•   record and report status
•   ensure completeness of items
•   control storage handling , release and delivery
Making a project a success

• “There are NO Silver bullets “

• Implement the 11 techniques below
  rigorously on a software project for every
  chance for success
11 Silver bullets - Planning
1. Requirements engineering
   – documented
   – traceability
2. Task, cost and schedule determination based
    on requirements
3. Risk management, with
   – problem tracking
4. Incremental development
11 Silver bullets - Control
5. Work packages with visible progress
  measurement
           - WBS, Work package specifications
           - Earned value tracking
6. Software metrics;
           - size, efforts, schedule, quality
7. Software configuration management
8. Software quality assurance and standards
11 Silver bullets - Control

9. Peer reviews ( walkthroughs and inspections)
10. Independent verification and validation
11. Software engineering assessments and
capability evaluation
Conclusions
– 12207 provides a reference point for all types of
  IT projects containing software
– It demands good PM practices
– A basis for establishing a mature process and
  successful
– A roadmap for process and project improvements

Deciding the software development life cycle procedure (according to iso12207)

  • 1.
    Deciding the Software DevelopmentLife Cycle Procedure (According to ISO12207) ISO/IEC 12207 Software life cycle processes Fatih ALGUN Bogazici University Istanbul algun.fatih@gmail.com
  • 2.
    Introduction • Scope: Managementof software development projects • Software projects have a poor success record – YET ! The problems can be solved. • Concepts from the ISO/IEC 12207 standard can help the software project manager achieve greater success.
  • 3.
    Project Failure Reasons Annual expenditures on software projects in the USA is $ 250B Canceled - 31% Successful - 16% ($ 80B) ( $ 40B) Over Schedule & Budget - 53 % ( $ 120B) Ref: Standish Group data
  • 4.
    Major Issues • PLANNING – Software requirements - not clear – Cost & schedule estimation - difficult – Projects function - not planned • Control Management, Quality Assurance – Planning viewed as “non-productive” • CONTROL – poor methods for tracking progress – poor indicators to measure productivity, quality
  • 5.
    Two types ofsoftware projects ( ISO/IEC 12207) – Development • Developing or modifying a software-intensive system to meet contractual requirements (satisfies user needs ) – Acquisition • Contractually obtaining from a group ( supplier), a software-intensive system for use by another group (user)
  • 6.
    What is ISO/IEC12207 ? – The major world-wide standard for software related processes – activities and tasks – Tailored for any organization or project – High level process architecture • An ‘inventory’ of processes from which to choose For the first time - a world-wide agreement on what activities make up a software project.
  • 7.
    What is ISO/IEC12207 ? Concepts from the ISO/IEC/IEEE 12207 standard can help the software director and the business in general to achieve greater success with their employees.
  • 8.
    12207 Concepts Process Architecture – Modular: Handle all types of projects – Cohesion: One process for one major function – Responsibility: One process for one party
  • 9.
    Defining the ProjectStrategy • The first step is to choose/tailor a project life cycle by choosing the appropriate set of processes defined in ISO/IEC 12207 – Waterfall, – Iterative, – Rapid Application Development, – Incremental
  • 10.
    Initiation - Selectinga Project • Requirements • Organization policy & Methods • Project Life Cycle • Legal Needs TAILORING • Project Plan • Time • Contract • Process Standard • Life Cycle Model START PROJECT
  • 11.
    A simple project- 12207 Processes MANAGEMENT DEVELOPMENT OPERATIONS MAINTENANCE REQUIREMENTS DESIGN CONFIGURATION MANAGEMENT CODE TEST JOINT REVIEW INSTALL VERIFICATION ACCEPTANCE
  • 12.
    Major Parties Providesthe product to Acquires the product the acquirer Defines and develops the product Maintains the software product
  • 13.
    The Acquisition Process •Defines the activities of the acquirer, – the organization that acquirers a system, software product or software service 1. Initiation 2. RFP ( tender) preparation 3. Contract preparation and update 4. Supplier monitoring 5. Acceptance and completion
  • 14.
    Organizational Processes •Management •Improvement •Infrastructure •Training PROJECT LIFE CYCLE Employed by organization to establish and implement an underlying structure of .. Processes and personnel, and continuously improve the structure and processes.
  • 15.
    Management process • “Thepurpose of the management process is to organize, monitor and control the initiation and performance of any processes or functions within the organization to achieve their goals and the business goals of the organization in an effective manner” Activities: • Initiation and scope definition • Planning • Execution and control • Review and evaluation • Closure
  • 16.
    Infrastructure process • “Thepurpose of the infrastructure process is to maintain a stable and reliable infrastructure that is needed to support the performance of any other process. .. May include hardware, software, methods, tools, techniques, standards, facili ties for development, operation, or maintenance.” Objectives: • establish and maintain a well-defined software engineering environment (SEE)….. • tailor the SEE top the needs of the project... • develop a SEE that supports project team members • implement a defined and deployed strategy for reuse
  • 17.
    Supporting processes •Documentation •Verification •Configuration management •Validation •Quality assurance •Joint review •Problem resolution •Audit PROJECT LIFE CYCLE Employed by any Primary process or another supporting process
  • 18.
    Quality Assurance (QA) •“The purpose of the quality assurance process is to provide assurance that work products and processes comply with their specified requirements and adhere to their established plan”. Objectives: • identify, plan and schedule QA activities • identify quality standards, methods and tools identify resources and responsibilities • establish and guarantee independence of those.. • perform the QA activities • apply organizational quality management systems
  • 19.
    Configuration Management • “Thepurpose of configuration management is to establish and maintain the integrity of the work products of a process or product”. Objectives: • identify, define and control all relevant items • control modifications • record and report status • ensure completeness of items • control storage handling , release and delivery
  • 20.
    Making a projecta success • “There are NO Silver bullets “ • Implement the 11 techniques below rigorously on a software project for every chance for success
  • 21.
    11 Silver bullets- Planning 1. Requirements engineering – documented – traceability 2. Task, cost and schedule determination based on requirements 3. Risk management, with – problem tracking 4. Incremental development
  • 22.
    11 Silver bullets- Control 5. Work packages with visible progress measurement - WBS, Work package specifications - Earned value tracking 6. Software metrics; - size, efforts, schedule, quality 7. Software configuration management 8. Software quality assurance and standards
  • 23.
    11 Silver bullets- Control 9. Peer reviews ( walkthroughs and inspections) 10. Independent verification and validation 11. Software engineering assessments and capability evaluation
  • 24.
    Conclusions – 12207 providesa reference point for all types of IT projects containing software – It demands good PM practices – A basis for establishing a mature process and successful – A roadmap for process and project improvements