Deciding the software development life cycle procedure (according to iso12207)
1. 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
2. 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.
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 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)
6. 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.
7. 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.
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 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
10. 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
11. A simple project - 12207 Processes
MANAGEMENT
DEVELOPMENT OPERATIONS MAINTENANCE
REQUIREMENTS
DESIGN CONFIGURATION MANAGEMENT
CODE
TEST
JOINT REVIEW
INSTALL VERIFICATION
ACCEPTANCE
12. Major Parties
Provides the 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
• “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
16. 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, facilities 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
• “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
20. 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
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 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