ieee 12207
TRANSCRIPT
IEEE 12207
Introduction to IEEE 12207
Information technology - Software life cycle processes
Scope: Management of Software Development Projects
IT project management ISO/IEC 12207
IT software projects have a poor success record YET ! The problems can be solved with this standard.
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
Knowledge from Standards & books:
IEEE Standard 12207:2008, Information Technology - Software Life Cycle Processes
IEEE Standard 1062, Recommended practice for software acquisition
IEEE Standard 1058, Standard for software project management plans
BooksSoftware engineering project management, Edited by R. Thayer, IEEE Computer Society, 1997.
Software Engineering by IAN Sommerville
Professionalism and Economics
SW requirements
SW design
SW construction
SW testing
SW maintenance
IT and software
Just about every modern product or service depends on softwareSoftware intensive products/services include:As local as embedded software
As wide as the World Wide Web
transportation of all kinds
financial markets
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
Known Disadvantage
70 - 80 % of companies do not have a process able to support the demands of project control
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,
money,
technology,
quality,
business.
Software Engineering
Business
Money
Technology
Quality
Time
ProfitBudgetPlatform & DomainReliabilitySchedule
Why are software projects difficult ?
Invisible product
Lack of physical constraints
Inadequate systems engineering
Changing requirements
Co-ordination of intellect-intensive teams
Insufficient technical staff
Lack of project management skills
Project Failure Reasons
Major Issues
PLANNINGCONTROL
Project Failure Reasons
PLANNING:
Software requirements - not clear
Cost & schedule estimation - difficult
Projects function - not planned
CM, QA, computing facilities
Planning viewed as non-productive
Project Failure Reasons
CONTROL:
poor methods for tracking progress
poor indicators to measure Productivity
Quality
Time
Quotes
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 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.
Interim Report to the President, August, 1998
Software remains a major cause of system failures
Complexity is growing
Keeping up with new techniques & procedures ?
Software engineering foundation
Two types of software projects ( IEE12207)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)
What is IEEE 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
12207 Concepts
Process ArchitectureModular: 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 12207Waterfall,
Iterative,
Rapid Application Development,
Incremental
Initiation - selecting a project
Requirements
Organization policy & methods
Legal Needs
Time
Process Standard
Life Cycle Model
TailoringProject Life Cycle
Project Plan
Contract
Start Project
Project Processes
MANAGEMENTDEVELOPMENTOPERATIONSMAINTANENCE
CONFIGURATION MANAGEMENT,JOINT REWIEW
VERIFICATIONRequirementsDesignCode/TestInstall/Acceptance
Major Parties
SUPPLIERProvides the Product to the partiesACQUIRERAcquires the Product
OPERATORUSERMAINTAINERMaintains the Software Product
DEVELOPERDefines the Developed 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
PROJECT LIFE CYCLE
Employed by organization to establish and implement an underlying structure of .. Processes and personnel, and continuously improve the structure and processes
MANAGEMENTIMPROVEMENT
INFRASTRUCTURETRAINING
Management process
Activities:Initiation and scope definition
Planning
Execution and control
Review and evaluation
Closure
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
Infrastructure process
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
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.
Management & Infrastructure process standards
IEEE Std 982.1 - Standard dictionary of measures to produce reliable softwareIEEE Std 1045 - Software productivity metricsIEEE Std 1058 - Software project management plans
IEEE Std 1045 - Recommended practice for the adoption of CASE toolsISO/IEC 14102 - Guidelines for the evaluation and selection of CASE toolsAbove Standards provide the detail of what to do
Supporting processes
PROJECT LIFE CYCLE
DocumentationVerification
Configuration ManagementValidation
Quality AssuranceJoint Review
Problem ResolutionAudit
Employed by any primary process or any supporting process
Quality Assurance (QA)
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
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.
Configuration Management
Objectives:identify, define and control all relevant items
control modifications
record and report status
ensure completeness of items
control storage handling , release and delivery
The purpose of configuration management is to establish and maintain the integrity of the work products of a process or product.
Making a Project a Success
Planning 1. Requirements engineeringdocumented
traceability
2. Task, cost and schedule determination based on requirements
3. Risk management, with problem tracking
4. Incremental development
Making a Project a Success
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 (walk through and inspections)
10. Independent verification and validation
11. Software engineering assessments and capability evaluation
Implement the 11 techniques above rigorously on a software IT project - every chance for success
Outlook for the future
Range of team skills on software projects:Licensed Software Engineers
Certified software practitioners
Skilled software workers
A stable Software Engineering Model
A doubling of software workers10 today to 50 or 100 in the future
with an adequate level of competence
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 and successful process
A road map for process and project improvements