1 / 20

Chapter 2 Process: A Generic View

Chapter 2 Process: A Generic View. 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.

altessa
Download Presentation

Chapter 2 Process: A Generic View

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Chapter 2Process: 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 practicesrefine 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!

More Related