Project Management with the IBM Rational Unified Process: Lessons From The Trenches - page 133


Summary

A bid for the Construction and Transition phases is much more likely to be accurate and successful if the information described in this appendix is used as input. It is not possible (except through luck) to produce a single bid for an entire project of significant complexity at the beginning. Outsourcing organizations using this two-stage process will experience higher levels of success and will better use limited funds for procuring software systems.



Glossary

acquisition

The process of procuring a software system through a contract with an outside services provider (contractor).



actor

An entity outside a system's boundaries that interacts with the system. An actor may be a user performing a certain role, or it could be another system, or even hardware.



ACWP

Actual Cost of Work Performed. A term associated with the use of Earned Value techniques for evaluating progress on a project. Actual Cost of Work Performed is a calculation of the funds expended to complete a portion of work.



adaptive planning

A method of planning and conducting a project in which detailed planning takes place only for activities planned for the immediate future. Planning for the longer term is at a high level at most (in other words, not detailed). As the short-term plan is executed, the knowledge gained and changes from the environment (especially stakeholders) are factored together to create the next short-term plan. This includes artifacts such as the schedule and list of requirements.



Agile

A set of values and principles for software development that use lean production techniques to deliver value to stakeholders quickly and frequently.



API

Application programming interface. A set of definitions (typically in a programming language) that define how a software artifact can be used.



architect

A role defined by RUP for the person responsible for a system's architecture.



architecture

The identification of major components in a system and how they are organized, including the interfaces for each component, as well as the relationships between the components.



artifact

A work product created by executing an activity or process.



BAFO

Best and Final Offer. Usually used in the context of an outsourcing organization to ask a prospective bidder to refine an earlier bid or proposal with more aggressive pricing.



baseline

A set of versions of artifacts that collectively represent some milestone in development. Typically, in a configuration management tool, baselines are read-only and cannot be changed, although they can be copied.



BCWP

Budgeted Cost of Work Performed. A term associated with the use of Earned Value techniques for evaluating progress on a project. It is a calculation based on the original anticipated cost of work performed for a period of time, multiplied by the percentage completed. Also called Earned Value.



BCWS

Budgeted Cost of Work Scheduled. A term associated with the use of Earned Value techniques for evaluating progress on a project. It is the anticipated cost of performing an activity during a specific period of time.



Business Use Case

A description of how an actor uses a business process to accomplish a goal of value.



ceremony

The degree of formality involved when conducting activities on a project.



CMMI

Capability Maturity Model Integration. A set of best practices that address product development and maintenance. CMMI emphasizes both systems and software engineering and the integration necessary to build and maintain a product.



collaboration

Two or more entities (people or software components, depending on the context) working together to achieve a common goal.



component

A unit of functionality that performs a clear task and has a well-defined interface.



configuration management

The process of controlling and tracking changes to artifacts for the purpose of providing an orderly environment for accomplishing project goals. Configuration Management processes provide ways for project staff to identify sets of artifact versions that collectively represent a certain state or milestone.



CONOPS

Concept of operations. See Vision Statement.



Construction phase

The third of four phases in the Rational Unified Process. Typically the longest phase in the Rational Unified Process, used to implement the majority of system functionality.



Contract Work Order (CWO)

A short-term contractual mechanism that specifies deliverables to be accomplished in a set period of time, under the control of an "umbrella" head contract.



contracting officer

A role within an outsourcing organization that has the authority to commit funds on behalf of the outsourcing organization for the purpose of acquiring a software system from an outside contractor.



contractor

An organization that performs software development under contract to an outsourcing organization.



Cost Plus Fixed Fee (CPFF)

A type of contract in which the contractor's profit is a fixed amount, determined in the beginning. The number of hours required to complete the work is not fixed. This tends to divide some of the risk between the outsourcing organization and the contractor. Regardless of the amount of work required, the contractor makes a fixed profit. Accordingly, the percentage of profit goes down as the number of hours required to complete the work increases, giving the contractor incentive to complete the work within a reasonable amount of the original estimate.



COTS

Commercial Off-The-Shelf. A product available for purchase that is ready to use. Usually used in conjunction with software.



customer

One of the principal stakeholders in a business arrangement between an outsourcing organization and a contractor. The customer may or may not be the actual end user of the system.



deployment

The process of transitioning a system from its development to fully operational status in the customer environment.



discipline

A collection of activities related to a major area of concern on a project. Examples of disciplines in the RUP are Project Management, Requirements, Business Modeling, Analysis and Design, Implementation, Test, Deployment, Configuration and Change Management, and the Environment.



domain

A specific problem category that is characterized by a body of knowledge, activities, and behaviors.



down select

The process used by an outsourcing organization to narrow down the number of proposals to a shorter list of proposals considered the most attractive by the organization.



Earned Value

The value of work accomplished on a project for a specific period of time. It is calculated based on the original anticipated cost of the work performed for a period of time multiplied by the percentage complete. Also referred to as the Budgeted Cost of Work Performed (BCWP).



Elaboration phase

The second of four phases in the Rational Unified Process. This phase is characterized by efforts to establish a proven architecture by implementing the system's key use cases, together with establishing a high-level plan for implementing the system.



Extreme Programming

An Agile process characterized by an emphasis on developing tests first (test-driven development) and very short (1- to 3-week) iterations. Also called XP.



feature

A high-level requirement typically requested by a user or other system stakeholder.



Firm Fixed Price (FFP)

A type of contract in which the cost of the contract is fixed and determined before work starts. The financial risk burden is on the contractor, because the price is fixed regardless of whether the work can be completed in the time estimated. These types of contracts should be used where the scope of the work is well-defined and unlikely to change.



functional requirement

A requirement that describes how a system behaves, often involving interaction with actors. In the RUP, these are usually described by use cases.



glossary

An artifact in the RUP that defines the vocabulary and other important terms that are part of a project and the problem domain.



head contract

A long-term, "umbrella" contract that defines the basic terms and conditions to set the stage for a series of short-term Contract Work Orders (CWOs) to be issued.



Inception phase

The first of four phases in the Rational Unified Process, characterized by the establishment of a business case for developing the system and a vision for the product to be built.



iterative lifecycle model

A process for developing a software system in which small increments of a system are built, building more functionality over time.



lifecycle model

The methods or processes used to develop a software system.



offshoring

A subset of outsourcing in which the contractor is located in a country overseas from the outsourcing organization.



outsourcing

The practice of hiring contractors to develop a software system instead of using people internally (within the same company) to develop a system.



outsourcing organization

The company that pays contractors to perform software development services.



PMI

Project Management Institute. An organization advocating project management as a profession. PMI sets industry standards, conducts research, and provides education and certification designed to strengthen and advance the profession.



PMO

Project Management Office. Typically refers to the group of managers who run a project.



postmortem

The process of reviewing the activities and events during project execution to determine the lessons learned for the purpose of improving an organization's ability to conduct software development projects.



predictive planning

A method of planning and conducting a project in which detailed plans for the project's duration are developed. Progress on the project is measured by comparing the completion of items to the originally planned schedule.



prime contractor

When multiple contractors are used on a software project, the prime contractor is the "main" contractor that has the principal relationship with the outsourcing organization.



procurement

The process of acquiring services in connection with developing a software system.



product acceptance plan

A document developed collaboratively with the project stakeholders (especially the contract representative) that lists the evaluation criteria that constitute acceptance of the system by the stakeholders.



proposal

A detailed offer from a contractor in response to a Request for Proposal (RFP) to build a software system for an outsourcing organization.



prototype

An early release of software, usually a small subset of a system's functionality, built for the purpose of a proof of concept or to address a specific risk.



Rational Unified Process (RUP)

A framework for developing software projects. Also, an instance of the Unified Process.



release

A baselined set of project artifacts, usually produced at the end of an iteration or to meet a specific lifecycle objective or milestone.



requirement

A condition, behavior, or capability that a system must conform to or provide.



Requirements Analysis

An activity conducted in an attempt to understand a system's requirements from the perspective of the system's stakeholders.



Requirements Management

The process of eliciting, organizing, categorizing, and documenting a system's requirements.



RFP

Request for Proposal. A document issued by an outsourcing organization to elicit an offer from contractors to build a system for the outsourcing organization.



RFS

Request for Solution. Synonymous with Request for Proposal (RFP).



risk

A condition that can potentially affect, prevent, or limit a project's success.



role

A set of behaviors and responsibilities associated with a person (or persons) operating in a specific context or domain.



RUP

See Rational Unified Process.



scenario

An instance of a use case, or a thread of execution within a use case.



scope

A description of the breadth of a system's behavior, specifying the boundaries of the problem domain or system.



scrum

An Agile process characterized by certain key practices and attributes, such as daily meetings, self-organizing teams, and iterations associated with calendar months.



Service-Oriented Architecture (SOA)

An architectural concept that defines shared, common services available over a network. This consolidates services needed to build systems in a given environment and eliminates multiple implementations of common services in each software system.



software development process

The methods and practices used by an organization to conduct software development.



stakeholder

An individual with a vested interest in a software system and in the successful outcome of a software project.



Statement of Work (SOW)

A document written by an outsourcing organization. Specifies the activities and tasks to be performed by a contractor under the terms of a contract.



subcontract

A contract between a prime contractor and another contractor, with each performing a set of activities to develop a system for a particular outsourcing organization.



supplementary requirement

A requirement that is not functional in nature, but instead specifies certain conditions or standards to which a system must conform.



supplementary specification

A document that contains all the nonfunctional requirements and any requirements not contained in the system use cases.



system

A group of components that work together to form a comprehensive collection of services of value to a user.



System Realization Contract

The second contract used in a two-step contract model. Follows the System Specification Contract. The System Realization Contract directs a contractor to implement the system described by the artifacts created for the System Specification Contract.



System Specification Contract

The first contract used in a two-step contract model. The System Specification Contract directs a contractor to perform activities roughly equivalent to a project's Inception and Elaboration phases. The System Specification Contract precedes the System Realization Contract.



Time and Materials (T&M)

A type of contract in which the contractor is paid by the hour and is reimbursed for any other costs (such as travel). This type of contract places the financial risk on the outsourcing organization, because the contractor bills for as many hours as necessary to complete the work.



toolsmith

A role on a project. A technical person (often a developer) who has experience with and interest in setting up and customizing the tools used to establish the software development environment.



traceability

A relationship that is established between two or more entities in a software system.



Transition phase

The fourth and final phase of the Rational Unified Process. In this phase, a system begins the process of moving from implementation to being deployed to fully operational status.



Unified Modeling Language (UML)

A graphical language for visualizing, specifying, constructing, and documenting a software system's artifacts.



unified process

A process framework that is risk-driven and iterative in nature for developing software systems.



use case

An artifact (usually a document) that describes how an actor can use a system to achieve something of value to the actor. A use case describes the interaction between an actor and a software system.



user interface prototype

A mock-up of the portion of a system stake-holders use to interact with the system. User interface prototypes are often used in conjunction with use cases to elicit and understand a software system's functional requirements.



Vision Statement

A document that describes how stakeholders believe a system can solve a problem or provide something of value. Sometimes called a concept of operations (CONOPS) document.



Waterfall process

A method of conducting a project in which each major activity is conducted in its entirety before you move on to the next activity or phase.



Work Breakdown Structure (WBS)

A document or other artifact (possibly entered into a tool) that breaks the project into individual units of work, or tasks, for which cost, milestones, and activities can be allocated and tracked.



XP

See Extreme Programming.