Name two standards used to assess software processes.
The waterfall model is a reasonable approach when requirements are well defined.
Define the incremental model.
A good approach when a working core product is required quickly
Define the evolutionary software process model
is iterative in nature can easily accomodate requirement changes do not generally produce throw away systems
List three characteristics of Personal Software Process
emphasizes personal measurements of work product individual practitioner is responsible for estimating and scheduling practitioner is empowered to control quality of software work products
Name two objectives of Team Software Process
Accelerate software process improvement Build self-directed software teams
Process technology tools allow software organizations to compress schedules by skipping unimportant activities
Define Software Engineering
an establishment and use of engineering principles to obtain economically software that is efficient and realiably on real machines.
Define the software engineering layers
tools, methods, a process model and a quality "focus"
Software Process (SDLC)
- development structure adapted to meet the needs of software engineers and managers as they undertake the development of a software product - a framework for managing activities that can very easily get out of control
What are the best indicators of how well a software process has worked
Quality Timeliness Long-term viability
the establishment and sound engineering principles applied to obtain reliable and efficient software in an economical manner
Components or layers of Software Engineering
tools, technical methods, process model, management techniques (quality focus),
List and explain each of the four common process framework activities
Communication - collaboration and requirement gathering Planning - establishes engineering work plan;risk analysis,resource requirements,work products,work schedule Modelling - creation of models Construction - code generation and testing Deployment - delivery, evaluation and feedback
A Process Framework is composed of
- work tasks - work products - milestones and deliverables - QA check points - Umbrella activities
List 8 Software Engineering umbrella activities
- Risk Management - Quality assurance - Tracking and control - Technical reviews - Measurement - Configuration Management - Reusability management - Preparation and production
Attributes for comparing Process Models
- Interdependence among activities - Work tasks involved within each activity - Identified work products - Quality assurance - Project tracking and control - Stakeholders involvement - Team organisation
Define Capability Maturity Model Integration
CMMI is a process improvement approach that provides organizations with the essential elements for effective process improvement.
What three areas of interest does CMMI address?
Product and service development (CMMI-DEV) Service establishment, management, and delivery (CMMI-SVC) Product and service acquisition (CMMI-ACQ)
List the Software Engineering Levels of CMMI
Level 0: Incomplete - process is not performed or does not achieve all goals defined 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 Level 3: Defined - management and engineering processes documented 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 idea
Templates or methods for describing important characteristics of software processes (pattern name, intent, type, initial context, solution, resulting context, related patterns, examples)
Name two process assessments standards
SPICE - examine processes to determine whether they are effective in achieving their goals ISO 9001:2000 - process improvement and manage interactions to reach objectives
Personal Software Process (PSP)
a structured software development process that is intended to help software engineers understand and improve their performance, by using a "disciplined, data-driven procedure".
Name four objectives of the Personal Software Process
- Build self-directed teams that plan and track their work - Show managers how to motivate their teams to maintain peak performance - Accelerate software process improvement by making CCM Level 5 behavior normal and expected - Provide improvement guidance to high-maturity organizations - Facilitate team skills
Process Technology Tools
- Used to adapt process models to be used by software project teams - Allow organizations to build automated models of common process framework, task sets, and umbrella activities - Used to allocate, monitor, and even control all software engineering tasks defined as part of the process model