SKIP THE SHIPPING
Use code NOSHIP during checkout to save 40% on eligible eBooks, now through January 5. Shop now.
Register your product to gain access to bonus material or receive a coupon.
This eBook includes the following formats, accessible from your Account page after purchase:
EPUB The open industry format known for its reflowable content and usability on supported mobile devices.
PDF The popular standard, used most often with the free Acrobat® Reader® software.
This eBook requires no passwords or activation to read. We customize your eBook by discreetly watermarking it with your name, making it uniquely yours.
"Per Kroll and Philippe Kruchten are especially well suited to explain the RUP...because they have been the central forces inside Rational Software behind the creation of the RUP and its delivery to projects around the world."
--From the Foreword by Grady Booch
This book is a comprehensive guide to modern software development practices, as embodied in the Rational Unified Process, or RUP. With the help of this book's practical advice and insight, software practitioners will learn how to tackle challenging development projects--small and large--using an iterative and risk-driven development approach with a proven track record.
The Rational Unified Process Made Easy will teach you the key points involved in planning and managing iterative projects, the fundamentals of component design and software architecture, and the proper employment of use cases. All team members--from project managers to analysts, from developers to testers--will learn how to immediately apply the RUP to their work. You will learn that the RUP is a flexible, versatile process framework that can be tailored to suit the needs of development projects of all types and sizes.
Key topics covered include:
Use this book to get quickly up to speed with the RUP, so you can easily employ the significant power of this process to increase the productivity of your team.
Figures.
Tables.
Foreword.
Preface.
I. INTRODUCING THE RATIONAL UNIFIED PROCESS.
1. Introducing the Rational Unified Process.What Is the Rational Unified Process?
The RUP—The Approach.
Underlying Principles of the RUP Approach.
The RUP and Iterative Development.
The RUP--A Well-Defined Software Engineering Process.
The Dynamic Structure of the Rational Unified Process.
The Static Structure of the Rational Unified Process.
The RUP-A Customizable Process Product.
Configuration and Process Authoring Tools.
Process Delivery Tools.
Who Uses the RUP Product?
Conclusion.
2. The Spirit of the RUP: Guidelines for Success.Attack Major Risks Early and Continuously, or They Will Attack You.
Summary.
Ensure That You Deliver Value to Your Customer.
Summary.
Stay Focused on Executable Software.
Summary.
Accommodate Change Early in the Project.
Summary.
Baseline an Executable Architecture Early On.
Summary.
Build Your System with Components.
Summary.
Work Together as One Team.
Summary.
Make Quality a Way of Life, Not an Afterthought.
Summary.
Conclusion.
3. Comparing Processes: The RUP, Agile Methods, and Heavyweight Government Standards.How Can We Compare Processes?
Agile Development: Low-Ceremony, Iterative Approaches.
SEI CMM, SEI CMMI, ISO/IEC, DOD-STD, MIL-STD: High Ceremony Striving for Higher Predictability.
SEI CMM: Process Assessment Framework.
SEI CMMI: Process Assessment Framework.
ISO/IEC 15504: Process Assessment Framework.
DOD-STD and MIL-STD: High-Ceremony Processes.
The RUP: An Iterative Approach with an Adaptable Level of Ceremony.
How Iterative Do You Want to Be?
How Much Ceremony Do You Want?
What Kind of RUP Configuration Meets Your Process Needs?
Project Deimos: Team of One.
Project Ganymede: Small Project with Tight Timeline.
Project Mars: Average-Size Project without Iterative Development Experience.
Project Jupiter: Large Distributed Project.
Conclusion.
4. The RUP for a Team of One: Project Deimos.A Solo Software Project: Project Deimos.
The Seminal Idea (Saturday Night).
The Proposal (Monday Morning).
The Vision.
The Plan.
The Risk List.
The Business Case.
The Architecture.
The Commitment (Monday Lunch).
The Vision, Take Two.
The Plan, Take Two.
The Risk List, Take Two.
The Business Case, Take Two.
Digging In (Later Monday).
Pressing On (Tuesday).
More Progress, More Changes (Wednesday).
Nearing Completion (Thursday).
Beta and Ship (Friday).
Conclusion.
II. THE LIFECYCLE OF A RATIONAL UNIFIED PROCESS PROJECT.
5. Going Through the Four Phases.A Major Misconception.
Major Milestones.
No Fixed Workflows.
No Frozen Artifacts.
Three Types of Projects.
6. The Inception Phase.Objectives of the Inception Phase.
Inception and Iterations.
Objective 1: Understand What to Build.
Produce a Vision Document.
Generate a “Mile-Wide, Inch-Deep” Description.
Hold a Workshop or Brainstorming Session.
Detail Key Actors and Use Cases.
Objective 2: Identify Key System Functionality.
Objective 3: Determine at Least One Possible Solution.
Objective 4: Understand the Costs, Schedule, and Risks Associated with the Project.
Objective 5: Decide What Process to Follow and What Tools to Use.
Project Review: Lifecycle Objective Milestone.
Conclusion.
7. The Elaboration Phase.Objectives of the Elaboration Phase.
Elaboration and Iterations.
First Iteration in Elaboration.
Second Iteration in Elaboration.
Objective 1: Get a More Detailed Understanding of the Requirements.
Objective 2: Design, Implement, Validate, and Baseline the Architecture.
Architecture: Defining Subsystems, Key Components, and Their Interfaces.
Use Architecturally Significant Use Cases to Drive the Architecture.
Design Critical Use Cases.
Consolidate and Package Identified Classes.
Ensure Architectural Coverage.
Design the Database.
Outline Concurrency, Processes, Threads, and Physical Distribution.
Identify Architectural Mechanisms.
Implement Critical Scenarios.
Integrate Components.
Test Critical Scenarios.
What Is Left to Do?
Objective 3: Mitigate Essential Risks, and Produce Accurate Schedule and Cost Estimates.
Plan the Project and Estimate Costs.
Objective 4: Refine the Development Case and Put the Development Environment in Place.
Project Review: Lifecycle Architecture Milestone.
Conclusion.
8. The Construction Phase.Objectives of the Construction Phase.
Construction and Its Iterations.
Objective 1: Minimize Development Costs and Achieve Some Degree of Parallelism.
Organize Around Architecture.
Configuration Management.
Enforce the Architecture.
Ensure Continual Progress.
Objective 2: Iteratively Develop a Complete Product That is Ready to Transition to Its User Community.
Describe the Remaining Use Cases and Other Requirements.
Fill in the Design.
Design the Database.
Implement and Unit-Test Code.
Do Integration and System Testing.
Early Deployments and Feedback Loops.
Prepare for Beta Deployment.
Prepare for Final Deployment.
Project Review: Initial Operational Capability Milestone.
Conclusion.
9. The Transition Phase.Objectives of the Transition Phase.
Transition Iterations and Development Cycles.
Transition and Iterations.
Transition and Development Cycles.
Objective 1: Beta Test to Validate That User Expectations are Met.
Capturing, Analyzing, and Implementing Change Requests.
Transition Testing.
Patch Releases and Additional Beta Releases.
Metrics for Understanding When Transition Will be Complete.
Objective 2: Train Users and Maintainers to Achieve User Self-Reliability.
Objective 3: Prepare Deployment Site and Convert Operational Databases.
Objective 4: Prepare for Launch: Packaging, Production, and Marketing Rollout.
Packaging, Bill of Materials, and Production.
Marketing Rollout.
Objective 5: Achieve Stakeholder Concurrence That Deployment is Complete.
Product Acceptance Test.
Objective 6: Improve Future Project Performance Through Lessons Learned.
Project Review: Product Release Milestone.
Conclusion.
III. ADOPTING THE RATIONAL UNIFIED PROCESS.
10. Configuring, Instantiating, and Customizing the Rational Unified Process.Configuring the RUP.
Producing a RUP Process Configuration.
Producing Process Views.
Customizing RUP Templates.
Instantiating the RUP in a Project.
A RUP Development Case.
Project Web Site.
Alternatives to Producing a Development Case.
Customizing the RUP.
Rational Process Workbench and Process Engineering Process.
Creating Thin RUP Plug-Ins Using RUP Organizer.
Creating Structural RUP Plug-Ins Using RUP Organizer.
Conclusion.
11. Adopting the Rational Unified Process.Adopting the RUP in a Project.
Assess.
Plan.
Configure and Customize.
Execute.
Evaluate.
Adopting the RUP in Small Projects.
Adopting the RUP in a Large Organization.
Process and Tool Enhancement Projects (PTEP).
Pilot Projects.
Software Development Projects.
A Typical Program for Moderate Change.
A Typical Program for Major Change.
An Aggressive Program for Major Change.
Conclusion.
12. Planning an Iterative Project.Motivation.
Key Concepts.
Cycle.
Phases.
Iteration.
Build.
Time-Boxing.
Coarse-Grain and Fine-Grain Plans: Project Plans and Iteration Plans.
The Project Plan.
The Iteration Plan.
Building a Project Plan.
Determining the Number of Iterations.
Iteration Length.
Staffing the Project.
Iteration Planning.
Inception and Elaboration.
Construction and Transition.
Identifying Activities.
Estimating.
An Iterative Estimation Technique: Wideband Modified Delphi.
Optimizing the Project Plan.
Overlapping Iterations.
Parallel Iterations.
Conclusion.
13. Common Mistakes When Adopting and Using the RUP--and How to Avoid Them.Mistakes When Adopting the RUP.
Adopting Too Much of What Is in the RUP.
Adopting Everything at Once, Rather than Incrementally.
Not Planning the Implementation of the RUP.
Not Coupling Process Improvement with Business Results.
Customizing Too Much of the RUP Too Early.
Paying Lip Service to the RUP.
Mistakes When Managing Iterative Development.
Having a Functional, Specialized Organization.
Not Setting the Right Stakeholder Expectations or Using an Old-Fashioned Acquisition Model.
Too Many Developers at Project Start.
Solving the Easy Stuff First.
Having an Extended Initial Iteration.
Having Overlapping Iterations.
Allowing Too Many Changes Late in the Project.
Mistakes in Analysis, Architecture, Design, Implementation, and Testing.
Creating Too Many Use Cases.
Having Analysis-Paralysis.
Including Design Decisions in Your Requirements.
Not Having Stakeholder Buy-In on Requirements.
“Not Invented Here” Mentality.
Ending Elaboration Before the Architecture Is Sufficiently Stable.
Focusing on Inspections Instead of Assessing Executable Software.
Conclusion.
IV. A ROLE-BASED GUIDE TO THE RATIONAL UNIFIED PROCESS.
14. A Project Manager's Guide to the RUP.The Mission of a Project Manager.
A Complex Role.
A Person or a Team?
Project Management.
Scope of the Project Management Discipline in the RUP.
Software Development Plan (SDP).
Iterative Development.
Risks.
Metrics.
Activities of a Project Manager.
Launching a New Project.
Developing the Software Development Plan.
Starting and Closing Phases and Iteration.
Monitoring the Project.
Finding Your Way in the RUP.
Conclusion.
Resources for the Project Manager.
Further Reading.
On the Web.
Training Resources.
15. An Analyst's Guide to the RUP.Your Mission as an Analyst.
Where Do You Start?
Understand How Your Business Should Operate.
Understand Stakeholder Needs.
Develop a Vision.
Problem Statement.
Feature List.
Develop a Use-Case Model and Glossary.
Describe Requirements “Mile-Wide, Inch-Deep”.
Detail Actors and Use Cases.
Example Use-Case Specification for Register for Courses.
Fine-Tune Your Model.
Develop User-Interface Prototypes.
Develop Use-Case Storyboard or Prototype.
Capture Nonfunctional Requirements.
Update and Refine Requirements.
Ensure That the Requirements Are Delivered and Tested.
The Analyst's Role in the Rational Unified Process.
Resources for Analysts.
Further Reading.
Training Resources.
16. An Architect's Guide to the RUP.The Mission of an Architect.
A Jack-of-All-Trades.
A Person or a Team?
A Vertex of Communication.
Architecture.
Architecture Defined.
Models and Views.
Software Architecture Document.
Executable Architectural Prototype.
Architectural Mechanisms.
Additional Architecture?
An Evolving Role.
What Do Architects Do?
Vision.
Rhythm.
Anticipation.
Partnering.
Simplification.
The Architect's Activities in the RUP.
Working with the Requirements and Project Management.
Refining the Architecture.
Maintaining Architectural Integrity.
The Architect's Roles in the RUP.
Finding Your Way in the RUP Product.
Resources for the Architect.
Further Reading.
Useful Web Sites.
17. A Developer's Guide to the RUP.Your Mission as a Developer.
Overview of the Developer's Tasks.
Understand the Requirements and Design Constraints.
Design, Implement, and Test Use Cases and Components.
Design Use-Case Realizations and Components.
Implement Use Cases and Components.
Developer Testing.
Design, Implement, and Test Any Necessary Databases.
Frequently Integrate Your Application with the Work of Other Developers.
Configuration Management Workspaces.
Integration Planning.
Produce a Build.
Developer Best Practices.
Test First.
Refactor Your Code and Design.
Use Patterns, Architectural Mechanisms, and Other Reusable Assets.
Keep Your Design Simple.
Pair Programming.
The Developer Role in the Rational Unified Process.
Available Resources for Developers.
Recommended Reading.
Recommended Training.
18. A Tester's Guide to the RUP.The Mission of the Tester.
The Concept of Product Quality in the RUP.
Paradigms of “Good Enough”.
The Cost of Quality.
Wouldn't Quantification Help?.
Conformance to Standards.
What Is Testing?
The RUP Testing Philosophy.
Mission.
Test Cycles.
The Test Discipline in the RUP Product.
Various Roles Related to Test in the RUP.
Key Test Artifacts.
Activities of the Tester.
Define Test Mission.
Verify Test Approach.
Validate Build Stability (Smoke Test).
Test and Evaluate.
Achieve an Acceptable Mission.
Improve Test Assets.
Other Related Activities.
Conclusion.
Resources for Testers.
Further Reading.
Training Resources.
Glossary.