Process A Generic View 1 A Layered Technology

  • Slides: 20
Download presentation
Process: A Generic View 1

Process: A Generic View 1

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

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

A Process Framework Process framework Framework activities work tasks work products milestones & deliverables

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

Framework Activities n n n Communication Planning Modeling n n n Construction n Analysis

Framework Activities n n n Communication Planning Modeling n n n Construction n Analysis of requirements Design Code generation Testing Deployment 4

Framework Activities n Communication: customer collaboration and requirement gathering n Planning: establishes engineering work

Framework Activities n Communication: customer collaboration and requirement gathering n Planning: establishes engineering work plan, describes technical risks, lists resource requirements, work products produced, and defines work schedule n Modeling: creation of models to help developers and customers understand the requires and software design) n Construction: code generation and testing n Deployment: software delivered for customer evaluation and feedback 5

Umbrella Activities n n n n Software project management Formal technical reviews Software quality

Umbrella Activities n n n n Software project management Formal technical reviews Software quality assurance Software configuration management Work product preparation and production Reusability management Measurement Risk management 6

The Process Model: Adaptability n the framework activities will always be applied on every

The Process Model: Adaptability n the framework activities will always be applied on every project. . . BUT n the tasks (and degree of rigor) for each activity will vary based on: n n n the type of project characteristics of the project common sense judgment; concurrence of the project team 7

The CMMI Capability Maturity Model Integration n The CMMI defines each process area in

The CMMI Capability Maturity Model Integration n 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 processrelated activities. 8

CMMI Level 0 - incomplete, process area not performed Level 1: – performed, all

CMMI Level 0 - incomplete, process area not performed Level 1: – performed, all work tasks are being conducted Level 2: – managed, stakeholders are actively involved, work tasks and products are monitored, reviewed, and evaluated 9

CMMI Level 3: – defined, management and engineering processes documented, standardized, and integrated into

CMMI Level 3: – defined, management and engineering processes documented, standardized, and integrated into software process Level 4: – quantitatively managed, emphasis on measurements and use this data to manage the process Level 5: Optimizing – improvement is enabled by quantitative feedback from the process 10

Process Patterns n n n Process patterns define a set of activities, actions, work

Process Patterns n n n Process patterns define a set of activities, actions, work tasks, work products and/or related behaviors A template is used to define a pattern Typical examples: n n n Customer communication (a process activity) Analysis (an action) Requirements gathering (a process task) Reviewing a work product (a process task) Design model (a work product) 11

Process Assessment n n The process should be assessed to ensure that it meets

Process Assessment n n 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: n n SCAMPI CBA IPI SPICE ISO 9001: 2000 12

Process Assessment ISO/IE 15504 SPICE (ISO/IE 15504) standard defines a set of requirements for

Process Assessment ISO/IE 15504 SPICE (ISO/IE 15504) standard defines a set of requirements for process assessment. SPICE model assessment is a structured evaluation of a process model (activities, tasks, work products, etc. ) Provides a reference model that examines the purpose and measurable objectives of the process (process dimension) and the set of process attributes that should be present (capability dimension) 13

Process Assessment ISO 9001: 2000 for Software defines requirements for a quality management system

Process Assessment ISO 9001: 2000 for Software defines requirements for a quality management system that will produce higher quality products and improve customer satisfaction Stresses the importance for an organization to identify, implement, manage, and continually improve the effectiveness processes needed for a quality management system and to manage process interactions to achieve organization objectives 14

Assessment and Improvement 15

Assessment and Improvement 15

Personal Software Process (PSP) n Recommends five framework activities: n n n Planning High-level

Personal Software Process (PSP) n Recommends five framework activities: n n n Planning 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 16

Personal Software Process Planning: size and resource estimates based on requirements High-level design: external

Personal Software Process Planning: size and resource estimates based on requirements High-level design: external specifications developed for components High-level design review: formal verification methods used to uncover design errors, Development: component level design refined, code is generated, reviewed, compiled, and tested Postmortem: determine effectiveness of processes using collected measures and metrics, modify the process to improve its effectiveness 17

Team Software Process (TSP) n n Each project is “launched” using a “script” that

Team Software Process (TSP) n n Each project is “launched” using a “script” that defines the tasks to be accomplished Teams are self-directed Measurement is encouraged Measures are analyzed with the intent of improving the team process 18

Team Software Process (TSP) Scripts for Project Activities: • Project launch • Design •

Team Software Process (TSP) Scripts for Project Activities: • Project launch • Design • Implementation • Integration and system testing • Postmortem 19

The Primary Goal of Any Software Process: High Quality Remember: High quality = project

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