Presentation is loading. Please wait.

Presentation is loading. Please wait.

Chapter 2 Process: A Generic View

Similar presentations


Presentation on theme: "Chapter 2 Process: A Generic View"— Presentation transcript:

1 Chapter 2 Process: A Generic View

2 Overview The roadmap to building high quality software products is software process. Software processes are adapted to meet the needs of software engineers and managers as they undertake the development of a software product. A software process provides a framework for managing activities that can very easily get out of control. Different types of projects require different software processes. The software engineer's work products (programs, documentation, data) are produced as a consequence of the activities defined by the software process. The best indicators of how well a software process has worked are the quality, timeliness, and long-term viability of the resulting software product.

3 Software Engineering Software engineering is the establishment and sound engineering principles applied to obtain reliable and efficient software in an economical manner. Software engineering is the application of a systematic, disciplined, quantifiable approach to the development, operation, and maintenance of software. Software engineering encompasses a process, management techniques, technical methods, and the use of tools.

4 Software Engineering - Goals
deliver on time within budget required quality Satisfying the true needs of stakeholders

5 A Layered Technology Software Engineering tools methods process model
a “quality” focus

6 A Process Framework Process framework Framework activities work tasks
work products milestones & deliverables QA checkpoints Umbrella Activities

7 Common Process Framework
Communication Customer collaboration Requirement gathering Planning - work plan, technical risks, resource requirements, work products produced, and work schedule Modeling Analysis of requirements Design Construction Code generation Testing Deployment - software delivered for customer evaluation and feedback

8 Software Engineering Umbrella Activities
Software project management Tracking and control Formal technical reviews Assess engineering work products to uncover and remove errors before they propagate to next activity Software quality assurance Maintain software quality Software configuration management Manage effects of change

9 Software Engineering Umbrella Activities
Work product preparation and production Create models, documents, logs, forms, lists, etc. Reusability management Defines criteria for work product reuse and establish mechanisms to achieve component reuse Measurement Define and collect process, project, and product measures Risk management Assess risks that may affect project outcomes or quality

10 Arranging Framework Activities
the framework activities will always be applied on every project ... BUT the tasks (and degree of rigor) for each activity will vary based on: the type of project characteristics of the project common sense judgment; concurrence of the project team There are few different process models that vary in the way that frameworks activities are arranges

11 Process Assessment The process should be assessed to ensure that it meets a set of basic process criteria that have been shown to be essential for a successful software engineering. Many different assessment options are available: SCAMPI CBA IPI SPICE ISO 9001:2000 CMM and CMMI involves process assessment and process improvement

12 Assessment and Improvement

13 Software Engineering Institute (SEI) Capability Maturity Model Integration (CMMI)
Level 0: Incomplete (process is not performed or does not achieve all goals defined for Level 1: Performed (work tasks required to produce required work products are being conducted) Level 2: Managed (people doing work have access to adequate resources to get job done, stakeholders are actively involved, work tasks and products are monitored, reviewed, and evaluated for conformance to process description)

14 CMMI (cont) Level 3: Defined (management and engineering processes documented, standardized, and integrated into organization-wide software process) Level 4: Quantitatively Managed (software process and products are quantitatively understood and controlled using detailed measures) Level 5: Optimizing (continuous process improvement is enabled by quantitative feedback from the process and testing innovative ideas)

15 The CMMI The CMMI defines each process area in terms of “specific goals” and the “specific practices” required to achieve these goals. Specific goals establish the characteristics that must exist if the activities implied by a process area are to be effective. Specific practices refine a goal into a set of process-related activities.

16 Personal Software Process (PSP)
Recommends five framework activities: Planning High-level design High-level design review Development Postmortem stresses the need for each software engineer to identify errors early and as important, to understand the types of errors

17 Team Software Process (TSP)
Objectives Build self-directed teams that plan and track their work, establish goals, and own their processes and plans Show managers how to coach and motivate their teams and maintain peak performance Accelerate software process improvement by making CCM Level 5 behavior normal and expected Provide improvement guidance to high-maturity organizations Measures are analyzed with the intent of improving the team process

18 Team Software Process (TSP)
Each project is “launched” using a “script” that defines the tasks to be accomplished Scripts for Project Activities Project launch Design Implementation Integration and system testing Postmortem

19 Process Technology Tools
Used to adapt process models to be used by software project team Allow organizations to build automated models of common process framework, task sets, and umbrella activities These automated models can be used to determine workflow and examine alternative process structures Tools can be used to allocate, monitor, and even control all software engineering tasks defined as part of the process model

20 The Primary Goal of Any Software Process: High Quality
Remember: High quality = project timeliness Why? Less rework!


Download ppt "Chapter 2 Process: A Generic View"

Similar presentations


Ads by Google