Rational Unified Process Flashcards
RUP
Rational Unified Process
- A sample process model
- Captures many of the best practices in modern software development
- Designed for incremental software development
- Widely used
- Emphasizes the development and maintenance of (UML) models with sematically rich representations of the software system under development.
- IBM Course
RUP Phases
- Inception
- Elaboration
- Construction
- Transition
Inception Phase
- Establish project scope and boundary conditions
- Determine the use cases and primary scenarios that will drive the major design trade-offs
- Demonstrate a candidate architecture against some of the primaru scenarios
- Esimate the overall cost and schedule
- Identify potential risks (the sources of unpredictability)
- Prepare the supporting environment for the project.
Elaboration Phase
- Define, validate and baseline the architecture as rapidly as is practical.
- Baseline the vision
- Refine support environment
- Baseline a detailed plan for the construction phase
- Demonstrate that the baseline architecture will support the vision at a reasonable cost in a reasonable period of time.
Construction Phase
- Complete the software product for transition to production
- Minimize development costs by optimizing resources and avoiding unnecessary scrap and rework.
- Achieve adequate quality as rapidly as is practical
- Achieve useful vesions (alpha, beta, and other test releases) as rapidly as possible.
Transision Phase
- Achieve user self-supportability
- Achieve stakeholder concurrence that deployment baselines are complete and consistent with the evaluation criteria of the vision.
- Achieve final product baseline in a rapid and cost-effective manner.
What is an iteration?
A distinct sequence of activities with a baseline plan and evluation criteria resulting in a release (internal or external)
What is the duration of an iteration?
- Begins with planning and requirements and ends with an internal or external release
- Ideally should run from 2 - 6 weeks, depending on your project size and complexity.
- Factors that affect duration of an iteration:
- Size, stability, maturity of an organization
- Familiarity with the iterative process
- Size of the project
- Technical simplicity of project
- Level of automation used to manage code, distribute information, perform testing.
What is the rule of thumb for the number of iterations?
Use 6 +/- 3 iterations.
What is an iteration plan?
- An outline of an iteration plan.
- Contains an iteration schedule section for requirements discipline.
Concepts that drive iterative development
- Early mitigation of risk
- Early base-lining of architecture
- Use of objective metrics
What is the definition of risk?
An ongoing or upcoming concern that has a significant probability of adversely affecting the success of major milestones.
What are some risk types?
- Technical/Architectural Risks
- Unproven technology, uncertain scope
- Resource Risks
- People, skills, funding
- Business Risks
- Competition, ROI, supplier interfaces
- Schedule Risks
- Project dependencies
- Only 24 hours in a day
What is a Risk List Artifact?
An identification and prioritization of risks and risk types.
What is a direct risk?
A direct risk is when the project has a large degree of control.
What is an indirect risk?
An indirect risk is when the project has little or no control.
What is risk magnitude?
Risk magnitude is used for ranking risks. It is a combination of:
- Probability of occurrence
- Impact on the project (severity) e.g. project delays.
Risk Management Strategies
Risk avoidance, risk transfer or risk acceptance
Mitigage accepted risks by:
- Creating a Risk List Artifact
- Taking some immediate, pro-active steps to reduce the probability or the impact of the risk.
- Defining a contingency plan.
7 Core Metrics
- Work and progress - iteration planning, plan vs. actuals, management indicator
- Budgeted cost and expenditures - financial insight, plan vs. actuals, management indicator
- Staffind and team dynamics - Resource plan vs. actuals, hiring rate, attrition rate
- Change traffic and stability - iteration planning, management indicator of schedule convergence
- Breakage and modularity - Convergence, sotware scrap, quality indicator
- Rework and adaptability - Convergence, software rework, quality indicator
- MTFB and maturity - Test convergence/adequacy, robustness for use, quality indicator