The Impact of ISO/IEC 12207 on IT project management
-
Upload
samuel90 -
Category
Technology
-
view
1.362 -
download
5
Transcript of The Impact of ISO/IEC 12207 on IT project management
The Impact of ISO/IEC 12207 on IT project management
ISO/IEC 12207, Information technology - Software life cycle processes
Peter VoldnerPeregrine Software Inc.Toronto, [email protected]: 416-526-3843
© Peregrine Software Inc. July 4, 2001 2
Introduction
Scope: Management of software development projects
IT 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
© Peregrine Software Inc. July 4, 2001 3
Knowledge
PMBOK SWEBOK
2000 2001www.swebok.com
Software engineering
© Peregrine Software Inc. July 4, 2001 4
SWEBOK - KAs Professionalism and
engineering economics
SW requirements SW design SW construction SW testing SW maintenance
SW Configuration management
SW engineering management
SW engineering tools and methods
SW engineering process
SW quality
© Peregrine Software Inc. July 4, 2001 5
IT and software Just about every modern product or service
depends on software Software intensive products/services include:
the Internettransportation of all kindsfinancial markets
© Peregrine Software Inc. July 4, 2001 6
Software competence
Companies dependent on IT projects need to master the software technology to stay competitive Produce quality products that satisfies user
needs Meet committed costs Meet the planned schedules
70 - 80 % of companies do not have a process able to support the demands of project control
© Peregrine Software Inc. July 4, 2001 7
What is software engineering?
Software engineering is concerned with applying scientific principles and management skills to develop software-intensive systems and products for use by society within the constraints of:
time: schedule money: budget technology: platform and domain quality: safety, security, reliability, . . . business: profit, stability, growth ethics: serving society
Acknowledgments: Dr. R.E. Fairley
© Peregrine Software Inc. July 4, 2001 8
Software Engineering - 2
Good software engineering
practices
Good PM practicesfor IT projects
Software engineering practices lead to more successful projects
© Peregrine Software Inc. July 4, 2001 9
Why are software projects difficult ?
Invisible productLack of physical constraintsInadequate systems engineeringChanging requirementsCo-ordination of intellect-intensive teamsInsufficient technical staffLack of project management skills
© Peregrine Software Inc. July 4, 2001 10
Project Failure Reasons
Successful - 16% ( $40B)Canceled - 31% ($ 80B)
Over schedule & budget - 53 %( $ 120B)
Annual expenditures on software projects in the USA is $ 250B
Ref: Standish Group data
© Peregrine Software Inc. July 4, 2001 11
Major Issues
PLANNING: Software requirements - not clear Cost & schedule estimation - difficult Projects function - not planned
CM, QA, computing facilities Planning viewed as “non-productive”
CONTROL: poor methods for tracking progress poor indicators to measure productivity, quality
© Peregrine Software Inc. July 4, 2001 12
Fred Brooks - quote
“ IN MANY WAYS, MANAGING A COMPUTER PROGRAMMING PROJECT IS LIKE MANAGING ANY OTHER UNDERTAKING - IN MORE WAYS THAN MOST PROGRAMMERS BELIEVE. BUT IN MANY OTHER WAYS IT IS DIFFERENT - IN MORE WAYS THAN MOST PROFESIONAL MANAGERS EXPECT ”
The Mythical Man-Month, Preface to the First Edition
© Peregrine Software Inc. July 4, 2001 13
“ .. the demand for software has grown at such an explosive rate, it now far outweighs the resources we have to produce it. ….. desperately needed software is not being developed…….. “
“ An interaction of factors has caused this ‘software gap’: accelerated demand for software, increased complexity of systems, …. labor shortages, and lack of adequate science and technology to support robust development. “
President’s Information Technology Advisory Committee, ‘Interim Report to the President’, August, 1998
Software’s future - A Quote
© Peregrine Software Inc. July 4, 2001 14
Recap …
Software remains a major cause of system failures
Complexity is growingKeeping up with new techniques &
procedures ?Software engineering foundation
“ We know why projects fail, we know how to prevent their failure -- so why do they still fail ? “
Martin CobbTreasury Board of Canada
© Peregrine Software Inc. July 4, 2001 15
Two types of software projects ( ISO/IEC 12207)
Developmentdeveloping 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)
© Peregrine Software Inc. July 4, 2001 16
IT Project Management view
CUSTOMERORGANIZATION
USERORGANIZATION
ACQUIRINGORGANIZATION
SUPPLIERORGANIZATION
“performing “
12207 defined roles
© Peregrine Software Inc. July 4, 2001 17
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
© Peregrine Software Inc. July 4, 2001 18
12207 Concepts
Process ArchitectureModular: Handle all types of projectsCohesion: one process for one major
functionResponsibility: One process for one party
18 processes
© Peregrine Software Inc. July 4, 2001 19
12207 processes [18]
ACQUISITION SUPPLY DEVELOPMENT OPERATION MAINTENANCE
MANAGEMENT INFRASTRUCTURE IMPROVEMENT TRAINING
JOINT REVIEW AUDIT V & V QUALITY ASSURANCE DOCUMENTATION
CONFIGURATION MANAGAMENT PROBLEM RESOLUTION TAILORING ( SPECIAL)
© Peregrine Software Inc. July 4, 2001 20
References
Standards and books: ISO/IEC 12207:1995, Information Technology -
Software Life Cycle Processes IEEE Standard 1062, Recommended practice
for software acquisition IEEE Std 1058, I Standard for software project
management plans Software engineering project management,
Edited by R. Thayer, IEEE Computer Society, 1997.
© Peregrine Software Inc. July 4, 2001 21
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, RAD, incremental
© Peregrine Software Inc. July 4, 2001 22
Initiation - selecting a project LC
Tailoring •Project Life cycle•Project Plan•Contract..
StartProject
•Requirements•Organization policy & methods•Legal needs•Time
PROCESS STANDARD
LIFE CYLEMODELS
© Peregrine Software Inc. July 4, 2001 23
A simple project - 12207 processes
Development
Configuration management,joint reviewverification
Operations Maintenance
Management
RequirementsDesignCode / TestInstall /Acceptance
© Peregrine Software Inc. July 4, 2001 24
Major Parties - Primary
Provides the product to the acquirer
Defines and developed theproduct Maintains the software product
Acquires the product
© Peregrine Software Inc. July 4, 2001 25
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
© Peregrine Software Inc. July 4, 2001 26
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
© Peregrine Software Inc. July 4, 2001 27
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” ( TR 15504-2)
Activities:Initiation and scope definitionPlanningExecution and controlReview and evaluationClosure
© Peregrine Software Inc. July 4, 2001 28
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.” ( TR 15504-2)
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
membersimplement a defined and deployed strategy for
reuse
© Peregrine Software Inc. July 4, 2001 29
Management & Infrastructure process standards
IEEE Std 982.1 - Standard dictionary of measures to produce reliable software
IEEE Std 1045 - Software productivity metricsIEEE Std 1058 - Software project management plans
IEEE Std 1045 - Recommended practice for the adoption of CASE tools
ISO/IEC 14102 - Guidelines for the evaluation and selection of CASE tools
Standards provide the details of what to do
© Peregrine Software Inc. July 4, 2001 30
Supporting processes
•Documentation•Configuration management•Quality assurance•Problem resolution
•Verification•Validation•Joint review•Audit
Employed by any Primary process or another supporting process:
© Peregrine Software Inc. July 4, 2001 31
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”. TR 15504-2)
Objectives:
identify, plan and schedule QA activitiesidentify quality standards, methods and tools identify resources and responsibilities establish and guarantee independence of those.. perform the QA activitiesapply organizational quality management systems
© Peregrine Software Inc. July 4, 2001 32
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 itemscontrol modificationsrecord and report statusensure completeness of itemscontrol storage handling , release and delivery
© Peregrine Software Inc. July 4, 2001 33
Making a project a success
“There are NO Silver bullets “ Here are 11 of them !!!
© Peregrine Software Inc. July 4, 2001 34
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
© Peregrine Software Inc. July 4, 2001 35
11 Silver bullets - control5. 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
9. Peer reviews ( walkthroughs and inspections)
10. Independent verification and validation
11. Software engineering assessments and capability evaluation
© Peregrine Software Inc. July 4, 2001 36
Wounding the software project Werewolf
Implement the 11 techniques above rigorously on a software IT project - every chance for success
© Peregrine Software Inc. July 4, 2001 37
Outlook for 2020
Range of team skills on software projects:Licensed Software EngineersCertified software practitionersSkilled software workers
A stable Software Engineering ModelA doubling of software workers
to 400,000 in Canada ( 20M worldwide)… with an adequate level of competence
© Peregrine Software Inc. July 4, 2001 38
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