Upload
lee-dickerson
View
212
Download
0
Tags:
Embed Size (px)
Citation preview
WEEK 2
A Quality Focus
Process
Methods
Tools
Process Series of predictable steps-a road map that helps create a timely and high quality entity
Software Process is a framework for the tasks that are required to build high quality software
Methods: Technical how-to’s for building software.Encompasses a broad array of tasks that include
requirement analysis, design, program construction, testing and support
Tools: Provision of automated or semi-automated support for the process and the methods. Computer aided software engineering (a system for
the support of software development)
Definition phase- WHAT, i.e., what information,
function, performance Development phase-HOW Support phase
Types of change Correction Adaptation Enhancement Prevention
Umbrella Activities
Phases of WorkAssociated With
Software Engineering
Definition Phase Support PhaseDevelopment Phase
Correction
Enhancement
Adaptation
Prevention
Software project tracking control
Formal technical reviews
Software quality assurance
Software configuration & management
Reusability management
Measurement
Risk Management
Software Process
Process Framework
Umbrella Activities
Framework activity # 1
Work tasksWork products
Quality assurance pointsProject deliverables
Work tasksWork products
Quality assurance pointsProject deliverables
Software engineering action # 1.1
Software engineering action # 1.k
Task sets
Task sets
Framework activity # n
Work tasksWork products
Quality assurance pointsProject deliverables
Work tasksWork products
Quality assurance pointsProject deliverables
Software engineering action # n.1
Software engineering action # n.m
Task sets
Task sets
.
.
.
.
.
.
.
.
.
.
A common process framework Established by defining a small number of
framework activities that are applicable to all software projects
Umbrella ActivitiesEncompasses a set of umbrella activities that are applicable
across the entire software process.
Framework Activities Establish the foundation for a complete software process by
identifying a small number of framework activities that are applicable to all software projects, regardless of their size or complexity.
Software Engineering Actions Each framework activity is populated by a set of
software engineering actions--- a collection of related tasks that produces a major software engineering work product (e.g. design is a software engineering action)
Task sets A collection of software engineering work tasks, project
milestones, work products, and quality assurance points that enable the framework activities to be adapted to the characteristics of the software project and the requirements of the project team.
Work Tasks Each action is populated with individual work tasks that
accomplish some part of the work implied by the action.
Communication Planning Modeling Construction Deployment
CommunicationHeavy collaboration with the customer
and stakeholders,Requirements gathering and other related
activities. Planning
Establish plan for s/w engineering workTasks to be conductedRisks that followWork products produced Work schedule
Modeling Creation of models that allow the developer
and the customer better understand the s/w requirements and the design that will achieve those requirements
Construction Code generation Testing to uncover errors
Deployment Delivery to the customer Customer evaluation and feedback
Modeling-(Framework activity)Analysis-(Software engineering action)
Requirements gathering-(work task) Elaboration-(work task) Negotiation-(work task) Specification-(work task) validation-(work task) Analysis model-(work product) Quality assurance points milestones
Modeling-(Framework activity)Design-(Software engineering action)
Data design-(work task) Architectural design-(work task) Interface design-(work task) Component-level design-(work task) Design model-(work product) Quality assurance points milestones
Software project tracking and control Risk management Software quality assurance Formal technical reviews Measurement Software configuration management Reusability management Work product preparation and production
Customer satisfaction Motto of many organizations.
Software quality To be induced into the software.
Fundamental problem Inability to manage the software process.
Commitments Consistently Missing Late Delivery Last minute crunches Spiraling costs
No Management visibility into Progress You’re always being surprised
Quality Problems Too much rework Functions do not work correctly Customer complaints after delivery
Poor Morale People frustrated Is anyone In charge?
The quality of a
system is highly
influenced by the
quality of the
process used to acquire, develop
and maintain it.
I. What is CMMI?
II. What is its Frame Work?
III. Explains its different levels with examples?
The Capability Maturity Model Integration (CMMI)
Developed by the Software Engineering Institute (SEI), a federally funded research & development center, located at Carnegie Mellon University in Pittsburgh
Based on surveys of successful software companies
The Capability Maturity Model Integration (CMMI) is a collection of best practices from leading engineering companies.
• It provides guidance on Systems and Software Engineering and encourages process improvements in organization of any structure.
• It is a model, which integrates and replaces multiple CMMs.
• It is a comprehensive process meta-model that is predicted on a set of system and software engineering capabilities that should be present as organization reach different levels of process capability and maturity.
Software process capability
Describes the range of expected results that can be achieved by following a software process.
The software process capability of an organization provides one means of predicting the most likely outcomes to be expected from the next software project the organization undertakes
Software process performance
Represents the actual results achieved by following a software process. This software process performance focuses on the results achieved, while software process capability focuses on results expected.
Software process maturity Is the extent to which a specific process is explicitly
defined, managed, measured, controlled and effective.
Maturity implies a potential for growth in capability and indicates both the richness of an organization’s software process and the consistency with which it is applied in projects throughout an organization.
Level of completeness + level of perfection
The CMMI represents a process meta-model in two ways.
1. Continuous Model2. Staged Model
A Process Area (PA) is a cluster of related practices in an area that, when performed collectively, satisfy a set of goals considered important for making significant improvement in that area.
Practices are actions to be performed to achieve the goals of a process area.
All CMMI process areas are common to both continuous and staged representations.
A Specific Goal (SG) applies to a process area and addresses the unique characteristics that describe what must be implemented to satisfy the process area.
A Specific Practice (SP) is an activity that is considered important in achieving the associated specific goal.
Practices are the major building blocks in establishing the process maturity of an organization.
A Capability Level is a well defined evolutionary plateau describing the organization's capability relative to a particular process area.
Each Process area is formally assessed against specific goals and practices and is rated according to the following capability levels
Level 0: IncompleteLevel 1: PerformedLevel 2: ManagedLevel 3: DefinedLevel 4: Quantitatively ManagedLevel 5: Optimized
The staged CMMI model defines the same process areas, goals and practices as the continuous model
The primary difference is that the staged model defines MATURITY LEVELS, rather than CAPABILITY LEVELS.
To achieve a maturity level, the specific goals and practices associated with a set a process areas must be achieved.
Organizational Innovation and DeploymentCausal Analysis and Resolution5 Optimizing
4 Quantitatively Managed
3 Defined
2 Managed
ContinuousProcess Improvement
QuantitativeManagement
ProcessStandardization
BasicProjectManagement
Organizational Process PerformanceQuantitative Project Management
Requirements DevelopmentTechnical SolutionProduct IntegrationVerificationValidationOrganizational Process FocusOrganizational Process DefinitionOrganizational Training Integrated Project Management for IPPDRisk ManagementIntegrated TeamingIntegrated Supplier ManagementDecision Analysis and ResolutionOrganizational Environment for Integration
Requirements Management Project PlanningProject Monitoring and ControlSupplier Agreement ManagementMeasurement and AnalysisProcess and Product Quality AssuranceConfiguration Management
QualityProductivity
RiskRework
1 Initial
Process AreasLevel Focus
Specific goalsEstablish the characteristics that must exist
if the activities implied by a process area are to be effective.
Specific practicesRefine a goal into a set of process-related
activities
Achieve specific goals Institutionalize a managed process Institutionalize a defined process Institutionalize a quantitatively
managed process Institutionalize an optimizing process
Rating according to the following capability levelsLevel 0: IncompleteLevel 1: PerformedLevel 2: ManagedLevel 3: DefinedLevel 4: Quantitatively managedLevel 5: Optimized
Level 0: IncompleteProcess area not performed or does not
achieve all goals and objectives defined by the CMMI for level 1 capability.
Level 1: PerformedAll of the specific goals of the process area
have been satisfiedWork tasks required to produce defined
work products are being conducted
Level 2: ManagedAll level 1 criteria satisfiedAll work associated with process area
conforms to organizationally defined policyAll people doing work have access to
adequate resources to get the job doneMonitoring, controlling, and reviewing of
work products
Level 3: DefinedAll level 2 criteria have been achievedProcess is tailoredContribution of work products, measures,
and other process-improvements information
Level 4: Quantitatively managedAll level 3 criteria have been achieved.Process area is controlled and improved
using measurement and quantitative assessment.
Level 5: OptimizedAll capability level 4 criteria have been
achieved.Process area is adapted and optimized
using quantitative means to meet changing customer needs and to continually improve
Process areas Goals Practices
Continuous Five capability levels
Staged Five maturity levels
Software Engineering-Chapter1 & 2By Roger S. Pressman6th edition