Deciding the software development life cycle procedure (according to iso12207)
-
Upload
fatih-alguen -
Category
Education
-
view
817 -
download
3
description
Transcript of Deciding the software development life cycle procedure (according to iso12207)
![Page 1: Deciding the software development life cycle procedure (according to iso12207)](https://reader033.fdocuments.us/reader033/viewer/2022052522/5487b6f85906b5ce0c8b4610/html5/thumbnails/1.jpg)
Deciding the Software Development Life Cycle Procedure (According to ISO12207)
ISO/IEC 12207Software life cycle processes
Fatih ALGUN
Bogazici University
![Page 2: Deciding the software development life cycle procedure (according to iso12207)](https://reader033.fdocuments.us/reader033/viewer/2022052522/5487b6f85906b5ce0c8b4610/html5/thumbnails/2.jpg)
• 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.
Introduction
![Page 3: Deciding the software development life cycle procedure (according to iso12207)](https://reader033.fdocuments.us/reader033/viewer/2022052522/5487b6f85906b5ce0c8b4610/html5/thumbnails/3.jpg)
Project Failure Reasons
Canceled - 31% ($ 80B)
Successful - 16% ( $ 40B)
Over Schedule & Budget - 53 % ( $ 120B)
Ref: Standish Group data
Annual expenditures on software projects in the USA is $ 250B
![Page 4: Deciding the software development life cycle procedure (according to iso12207)](https://reader033.fdocuments.us/reader033/viewer/2022052522/5487b6f85906b5ce0c8b4610/html5/thumbnails/4.jpg)
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
![Page 5: Deciding the software development life cycle procedure (according to iso12207)](https://reader033.fdocuments.us/reader033/viewer/2022052522/5487b6f85906b5ce0c8b4610/html5/thumbnails/5.jpg)
– 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)
Two types of software projects ( ISO/IEC 12207)
![Page 6: Deciding the software development life cycle procedure (according to iso12207)](https://reader033.fdocuments.us/reader033/viewer/2022052522/5487b6f85906b5ce0c8b4610/html5/thumbnails/6.jpg)
– 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 ?
![Page 7: Deciding the software development life cycle procedure (according to iso12207)](https://reader033.fdocuments.us/reader033/viewer/2022052522/5487b6f85906b5ce0c8b4610/html5/thumbnails/7.jpg)
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.
![Page 8: Deciding the software development life cycle procedure (according to iso12207)](https://reader033.fdocuments.us/reader033/viewer/2022052522/5487b6f85906b5ce0c8b4610/html5/thumbnails/8.jpg)
Process Architecture
– Modular: Handle all types of projects
– Cohesion: One process for one major function
– Responsibility: One process for one party
12207 Concepts
![Page 9: Deciding the software development life cycle procedure (according to iso12207)](https://reader033.fdocuments.us/reader033/viewer/2022052522/5487b6f85906b5ce0c8b4610/html5/thumbnails/9.jpg)
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
![Page 10: Deciding the software development life cycle procedure (according to iso12207)](https://reader033.fdocuments.us/reader033/viewer/2022052522/5487b6f85906b5ce0c8b4610/html5/thumbnails/10.jpg)
Initiation - Selecting a Project
• Requirements
• Organization policy & Methods
• Legal Needs
• Time
• Process Standard
• Life Cycle Model
• Project Life Cycle
• Project Plan
• Contract
TAILORING
START PROJECT
![Page 11: Deciding the software development life cycle procedure (according to iso12207)](https://reader033.fdocuments.us/reader033/viewer/2022052522/5487b6f85906b5ce0c8b4610/html5/thumbnails/11.jpg)
A simple project - 12207 Processes
MANAGEMENT
DEVELOPMENT OPERATIONS MAINTENANCE
REQUIREMENTSDESIGNCODETEST
INSTALLACCEPTANCE
CONFIGURATION MANAGEMENTJOINT REVIEWVERIFICATION
![Page 12: Deciding the software development life cycle procedure (according to iso12207)](https://reader033.fdocuments.us/reader033/viewer/2022052522/5487b6f85906b5ce0c8b4610/html5/thumbnails/12.jpg)
Major Parties
Supplier
Developer
Operator
Maintainer
AcquirerProvides the product to
the acquirer Acquires the product
Defines and develops theproduct
Maintains the software product
USER
![Page 13: Deciding the software development life cycle procedure (according to iso12207)](https://reader033.fdocuments.us/reader033/viewer/2022052522/5487b6f85906b5ce0c8b4610/html5/thumbnails/13.jpg)
• Defines the activities of the acquirer,– the organization that acquirers a system, software
product or software service
1. Initiation2. RFP ( tender) preparation3. Contract preparation and update4. Supplier monitoring5. Acceptance and completion
The Acquisition Process
![Page 14: Deciding the software development life cycle procedure (according to iso12207)](https://reader033.fdocuments.us/reader033/viewer/2022052522/5487b6f85906b5ce0c8b4610/html5/thumbnails/14.jpg)
Organizational Processes
Employed by organization to establish and implement an underlying structure of ..Processes and personnel, and continuously improve the structure and processes.
•Management•Infrastructure
•Improvement•Training
PROJECTLIFE CYCLE
![Page 15: Deciding the software development life cycle procedure (according to iso12207)](https://reader033.fdocuments.us/reader033/viewer/2022052522/5487b6f85906b5ce0c8b4610/html5/thumbnails/15.jpg)
• “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
Management process
![Page 16: Deciding the software development life cycle procedure (according to iso12207)](https://reader033.fdocuments.us/reader033/viewer/2022052522/5487b6f85906b5ce0c8b4610/html5/thumbnails/16.jpg)
• “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
Infrastructure process
![Page 17: Deciding the software development life cycle procedure (according to iso12207)](https://reader033.fdocuments.us/reader033/viewer/2022052522/5487b6f85906b5ce0c8b4610/html5/thumbnails/17.jpg)
Supporting processes
PROJECTLIFE CYCLE
•Documentation•Configuration management•Quality assurance•Problem resolution
•Verification•Validation•Joint review•Audit
Employed by any Primary process or another supporting process
![Page 18: Deciding the software development life cycle procedure (according to iso12207)](https://reader033.fdocuments.us/reader033/viewer/2022052522/5487b6f85906b5ce0c8b4610/html5/thumbnails/18.jpg)
• “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
Quality Assurance (QA)
![Page 19: Deciding the software development life cycle procedure (according to iso12207)](https://reader033.fdocuments.us/reader033/viewer/2022052522/5487b6f85906b5ce0c8b4610/html5/thumbnails/19.jpg)
• “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
Configuration Management
![Page 20: Deciding the software development life cycle procedure (according to iso12207)](https://reader033.fdocuments.us/reader033/viewer/2022052522/5487b6f85906b5ce0c8b4610/html5/thumbnails/20.jpg)
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
![Page 21: Deciding the software development life cycle procedure (according to iso12207)](https://reader033.fdocuments.us/reader033/viewer/2022052522/5487b6f85906b5ce0c8b4610/html5/thumbnails/21.jpg)
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 - Planning
![Page 22: Deciding the software development life cycle procedure (according to iso12207)](https://reader033.fdocuments.us/reader033/viewer/2022052522/5487b6f85906b5ce0c8b4610/html5/thumbnails/22.jpg)
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
![Page 23: Deciding the software development life cycle procedure (according to iso12207)](https://reader033.fdocuments.us/reader033/viewer/2022052522/5487b6f85906b5ce0c8b4610/html5/thumbnails/23.jpg)
11 Silver bullets - Control
9. Peer reviews ( walkthroughs and inspections)
10. Independent verification and validation
11. Software engineering assessments and
capability evaluation
![Page 24: Deciding the software development life cycle procedure (according to iso12207)](https://reader033.fdocuments.us/reader033/viewer/2022052522/5487b6f85906b5ce0c8b4610/html5/thumbnails/24.jpg)
– 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
Conclusions