27
Project environment 1) Round trip engineering 2) Change management 3)Infrastructures. 4)Stakeholder environments. Overview of process Automation

Project environment 1) Round trip engineering 2) Change management 3)Infrastructures. 4)Stakeholder environments. Overview of process Automation

Embed Size (px)

Citation preview

Project environment1) Round trip engineering2) Change management 3)Infrastructures.4)Stakeholder environments.

Overview of process Automation

Project environment Prototyping environment 1) Performance trade-offs and technical risks. 2) Make/buy trade-offs and feasibility study for commercial

products. 3) Fault tolerance /dynamic reconfiguration trade-offs. 4) Analysis of the risks 5) Development of test scenarios, tools.

2) The Development environment. 3) The Maintenance environment

.

Change management1)Software change orders.2)Configuration Baseline.3)Configuration Control board

Infrastructures1)Organizations policy.2)Organizations environment.

Process automation 1)Meta process.2)Macro process.3)Micro process.

PROCESS AUTOMATION

The environment must be a first-class artifact of the process.

Process automation, and change management in particular, are critical to an iterative process. If change is too expensive, the development organization will resist it. round-trip engineering and integrated environments promote change freedom and effective evolution of technical artifacts.

Metrics automation is crucial to effective project control.

Many software development organizations are focused on evolving mature processes to improve the predictability of software management and the performance of their software lines of business (in terms of product quality, time to market, return on investment, and productivity).

There are 3 types of processes meta, macro, micro.

Process automation

Each level of process requires a certain degree of process automation for the corresponding process to be carried out efficiently.

Meta process: organization’s policies, procedures, and practices for managing a software-intensive line of business. The automation support for this level is called an infrastructure.

Macro process: a project’s policies, procedures, and practices for producing a complete software product within certain cost, schedule, and quality constraints. The automation support for a project’s process is called an environment.

Micro process: a project team’s policies, procedures, and practices for achieving an artifact of the software process. The automation support for generating an artifact is generally called a tool.

Title Description Metrics Resolution Assessment. Disposition

Title: ______________________________________________________

Description Name:______________________ Date:__________

Project:____________________________________

Metrics

Resolution

Disposition

Analyst:_________________________________________________

Software component:_______________________________________

Initial estimate Actual Rework ExpendedBreakage: _________ Analysis:__________ Test:________

Rework:_____________ Implement:_________ Document:__________________

State:_________ Release:___________________ Priority:___________

Assessment Method:_________________ (inspection, analysis, demonstration, test)

Tester:________________ Platforms:___________________ Date:_________

Category:_________ (0/1:error, 2:environment, 3:new feature, 4:other

Acceptance: ___________________________________________ Date:______________

Closure:____________________________ Date:____________

SOFTWARE CHANGE ORDERS

The five basic fields of the SCO are title, description, metrics, resolution, assessment, and disposition.

•Title. The title is suggested by the originator and is finalized upon acceptance by the configuration control board (CCB).

•Description. The problem description includes the name of the originator, date of origination, CCB-assigned SCO identifier, and relevant version identifiers of related support software.

•Metrics. The metrics collected for each SCO are important for planning, for scheduling, and for assessing quality improvement.

•Change categories include type 0 (critical bug), type 1 (bug), type 2 (enhancement), type 3 (new feature), and type 4 (other). Upon acceptance of the SCO, initial estimates are made of the amount of breakage and the effort required to resolve the problem.

Resolution. This field includes the name of the person responsible for implementing the change, the components changed, the actual metrics, and the description of the change.

Assessment. This field describes the assessment technique as either inspection, analysis, demonstration, or test.

Disposition. The SCO is assigned one of the following states by the CCB: proposed: written, pending CCB review,

accepted: CCB-approved for resolution,

Rejected; closed,resolved with another SCO

archived: accepted but postponed until a later release;

in progress: assigned and actively being resolved by the development organization;

in assessment: resolved by the development organization; being assessed by a test organization;

closed: completely resolved, with the concurrence of all CCB members.

CONFIGURATION BASELINE

A configuration baseline is a collection of software components and supporting documentation that is subject to change management and is upgraded, maintained, tested as a unit.

There are generally two classes of baselines:

1) External product releases

2) Internal testing releases.

Levels of baseline releases

1) Major, 2) Minor, and 3) Interim.

A major release represents a new generation of the product or project

Minor release represents the same basic product but with enhanced features, performance, or quality.

An interim release corresponds to a developmental configuration that is intended to be transient.

CONFIGURATION CONTROL BOARD (CCB)

A CCB is a team of people that functions as a decision authority on the content of configuration baselines.

A CCB usually includes the software manager, software architecture manager, software development manager, software assessment manager, and other stakeholders.

Sequence of states traversed by an SCO.

1)Proposed.

2)Accepted, archived, or rejected.

3)In progress.

4)In assessment.

5)Closed.

Management. Environment. Requirements Design. Implementation. Assessment and Deployment.

Typical automation and tool components that support the process workflows

Inception Elaboration Construction Transition

Management

Environment

Requirements

Design

Implementation

Assessment

Deployment

Process

Workflow automation, metrics automation

Change management, document automation

Requirements mgt.

Visual modeling

Editor-compiler-debugger

Test automation, defect tracking

Defect tracking

Organization policy

Life Cycle

TOOLS: AUTOMATION BUILDING BLOCKS

Each of the process workflows has a distinct need for automation support. In some cases, it is necessary to generate an artifact; in others, it is needed for simple bookkeeping.

MANAGEMENT

Software cost estimation tools and WBS tools are useful for generating the planning artifacts. For managing against a plan, workflow management tools and a software project control panel that can maintain an on-line version of the status assessment are advantageous.

ENVIRONMENT

Configuration management and version control are essential in a modern iterative development process.

REQUIREMENTS

In a modern process, the system requirements are captured in the vision statement.

DESIGN

The primary support required for the design workflow is visual modeling, which is used for capturing design models, presenting them in human-readable format, and translating then into source code.

IMPLEMENTATION

The implementation workflow relies primarily on a programming environment but must also include substantial integration with the change management tools, visual modeling tools, and test automation tools to support productive iteration.

ASSESSMENT AND DEPLOYMENT

To increase change freedom, testing and document production must be mostly automated.

Defect tracking is another important tool that supports assessment.

INFRASTRUCTURES

From a process automation perspective, the organization’s infrastructure provides the organization’s capital assets,

Two key artifacts:

1. A policy that captures the standards for software development processes.

2. Environment that captures the inventory of tools.

ORGANIZATION POLICY

The organization policy is usually packaged as a handbook that defines the life cycle and the process primitives (major milestones, intermediate artifacts, engineering repositories, metrics, roles and responsibilities).

The handbook provides a general framework for answering the following questions:

What gets done? (activities and artifacts) When does it get done? (mapping to the life-cycle phases and milestones) Who does it? (team roles and responsibilities) How do we know that it is adequate? (checkpoints, metrics, and standards

of performance)

There are many different organizational structures throughout the software development industry. Most software intensive companies have three distinct levels of organization, with a different policy at each level:

Highest organization level: standards that promote

(1) strategic and long term process improvements,

(2) general technology insertion and education,

(3) comparability of project and business unit performance

(4) mandatory quality control.

Intermediate line-of-business level: standards that promote

(1) tactical and short-term process improvement;

(2) domain-specific technology insertion and training;

(3) reuse of components, processes, training, tools, and personnel experience, (4) compliance with organizational standards.

Lowest project level: standards that promote:

(1) efficiency in achieving quality, schedule, and cost targets,

(2) project-specific training,

(3) compliance with customer requirements

(4) compliance with organizational business unit standards.

ORGANIZATION ENVIRONMENT

Some of the typical components of an organization’s automation building blocks are as follows:

•Standardized tool selections which promote common workflows and a higher ROI on training.

•Standard notations for artifacts, such as UML for all design models, or Ada 95 for all custom-developed, reliability-critical implementation artifacts.

•Tool adjuncts such as existing artifact templates or customizations. (architecture description, evaluation criteria)

•Activity templates (iteration planning, major milestone activities, configuration control boards)

Other indirectly useful components of an organization’s infrastructures:

A reference library of precedent experience for planning, assessing, and improving process performance parameters.

Existing case studies, including objective benchmarks of performance for successful projects that followed the organizational process.

Adjuncts : Something added to another thing but not an essential part of it

A library of project artifact examples such as software development plans, architecture descriptions, and status assessments.

Mock audits and compliance traceability for external process assessment frameworks such as SEI CMM.

STAKEHOLDER ENVIRONMENTS

External stakeholder representatives also need access to development environment resources so that they can contribute value to the overall effort.

An on-line environment accessible by the external stakeholder allows them to participate in the process as follows:

•Accept and use executable increments for hands-on evaluation.

•Use the same on-line tools, data, and reports that the software development organization uses to manage and monitor the project.

Avoid excessive travel, paper interchange delays, format translations, paper and shipping costs, and other overhead costs.

Technical artifacts are not just paper. Electronic artifacts in rigorous notations such as visual models and source code re viewed far more efficiently by using tools with smart browsers.

Even paper documents should be delivered electronically to reduce production costs and turnaround times.