008f4acc615859c1a768422167b14ef8.ppt
- Количество слайдов: 40
® IBM Software Group Using RUP Effectively: How to drive success and avoid common pitfalls Per Kroll, Chief Architect IBM Rational Expertise Development & Innovation (REDI) © 2007 IBM Corporation
IBM Software Group | Rational software Per Kroll - Background § Product Manager and later Development Manager of RUP since creation in 1996 § Chief Architect, IBM Rational Expertise Development & Innovation (REDI § Project lead – Eclipse Process Framework § Core Member – SWG Agile Adoption Team § (Co-) Author of 4 The Rational Unified Process Made Easy – A Practitioner’s Guide to RUP 4 Agility and Discipline Made Easy – Practices from Open. UP and RUP 2
IBM Software Group | Rational software Discussion Topics § What is RUP? § RUP and Managing Iterative Development § RUP and Agility at Scale § Adopting RUP and Measured Capability Improvement Framework § Parting thoughts 3
IBM Software Group | Rational software What Is RUP? § A set of principles § A collection of out-of-the-box processes to use as a starting point § A customizable process framework and knowledge base 4 supports implementation of the principles 4
IBM Software Group | Rational software The Spirit of The Rational Unified Process 1. Attack major risks early and continuously… or they attack you 2. Ensure that you deliver value to your customer 3. Have a maniacal focus on working software 4. Accommodate change early in the project 5. Baseline an executable architecture early on 6. Build your system with services and components 7. Work closely together as one team 8. Make quality a way of life, not an afterthought 5
IBM Software Group | Rational software RUP: Out-of-the-Box Processes § RUP for Service-Oriented Modeling and Architecture § RUP for Maintenance Projects § RUP for COTS Packaged Delivery § RUP for System z § RUP for Small Projects § RUP for Medium Projects § RUP for Large Projects § RUP for Systems Engineering § RUP for Compliance Management § RUP for Asset-Based Development § RUP for Globally Distributed Development (beta) 6
IBM Software Group | Rational software Two dimensions, four (or more) process styles Waterfall Few risk, sequential Late integration and testing Relaxed Disciplined Little documentation Light process Low ceremony Well-documented Traceability CCB High ceremony Iterative Risk driven Continuous integration and testing
IBM Software Group | Rational software RUP Process Framework Waterfall Few risk, sequential Late integration and testing §Common language §Common Practices §Oversight §Flexible resourcing §Reuse Low Ceremony RUP Framework RUP for High Ceremony Sys Eng Well-documented Little documentation Light process RUP Open. UP “Light” RUP for large-scale SOA Traceability CCB Iterative Risk driven Continuous integration and testing 8
IBM Software Group | Rational software Rational Process Library Broad variety of method plug-ins included in Rational Method Composer Enterprise plug-ins 4 4 4 4 IBM Rational Unified Process, or RUP Project-specific plug-ins Now a library of over 100 content packages! § RUP for COTS Package Delivery § RUP for System z § RUP for Maintenance Projects RUP for Asset-Based Development § RUP for Legacy Evolution RUP with ITSM/ITUP Connection § RUP for Model-Driven Systems Development (MDSD) RUP for Global Development and Delivery Standard-specific plug-ins RUP for Global Development and Delivery Maintenance § IBM Rational Method for Portfolio Management (for Initiatives) IBM Rational Method for Program Mobilization IBM Tivoli Unified Process (ITUP) RUP for Department of Defense Architecture Framework (Do. DAF) Solution-specific plug-ins Practice-specific plug-ins § § SOA: RUP for User Experience Modeling 4 RUP for Service-Oriented Modeling and Architecture § Technology/tool-specific plug-ins 4 SOA Governance 4 Asset-Based Governance 4 RUP for Practical Software & Systems Measurement (PSM) § RUP for Microsoft®. NET § RUP for J 2 EE™ § RUP for Rational Application Development Compliance: § RUP for Rational Software Architect 4 RUP for Compliance Management 4 RUP for CMMI® Compliance Support § Governance: § RUP Plug-in for Web. Sphere® Business Modeler (beta) § RUP for Automated Software Quality 4 (Rational Performance Tester, Functional Tester, and Manual Tester) A collection of out-of-the-box method content and processes that you can customize to address a diverse set of enterprise and project needs and development styles 9
IBM Software Group | Rational software Process Management Create, customize, publish, and enact software & systems development processes according to project needs Governance Process Management & Best Practices Leverage a rich set of process assets and guidance to capture & maintain development, management, and governance processes Automate, integrate, and govern core business processes of software and systems delivery through an integrated set of proven, industry leading tools Establish consistent processes driven by standards and best practices to support corporate governance objectives Process Library (with RUP) Rational Software Delivery Platform Rational Method Composer Manage, author, configure, and deploy effective processes tailored to project needs 10
IBM Software Group | Rational software Discussion Topics § What is RUP? § RUP and Managing Iterative Development § RUP and Agility at Scale § Adopting RUP and Measured Capability Improvement Framework § Parting thoughts 11
IBM Software Group | Rational software Waterfall Development - What Happens in Practice Sequential activities: Requirements Design Test Development Progress (% coded) 100% Code Integration Begins Late Design Breakage Original Target Date Project Schedule 12
IBM Software Group | Rational software Principle: Demonstrate Value Iteratively Better progress profile Prototypes Architecture Development Progress (% coded) 100% Functional Demonstrable Release results Feedback Modern Project Profile Walker Royce, 1995 Product Releases Waterfall Project Profile Project Schedule 13
IBM Software Group | Rational software Feedback: Less Waste [1] Customers often don't know exactly what they want at the beginning of a project. [1] Implementing Lean Software Development From Concept to Cash: Mary & Tom Poppendieck – Addison Wesley (2006) 14
IBM Software Group | Rational software Iterative Development § Focuses the team § Time-boxed § Has a plan and assessment § Prioritized work § Agile estimation § Produces a demo-able and shippable build 15
IBM Software Group | Rational software RUP’s Project Phases and Milestones § Provides explicit § Forces extended team to agree on: 4 Inception: Do we understand what we are building? 4 Elaboration: Do we understand how to build it? 4 Construction: Are we ready to release in the near future? 4 Transition: Can we release now? iteration iteration 4 Key stakeholders frequently do not have time to review the results of every iteration milestones centered on balancing risk mitigation and value creation
IBM Software Group | Rational software Understand the Problem Space Your goal is to find a Path from Here to There Initial Project Status w Reused assets w Staffing, skills Stakeholder Satisfaction Space
IBM Software Group | Rational software Divide Problem Into Smaller Problems Your goal is to find a Path from Here to There 1 2 3 4 5 6 Planned Path Initial Project Status w Reused assets w Staffing, skills Stakeholder Satisfaction Space
IBM Software Group | Rational software Understand The Real Dynamics Planned Initial State Actual Initial State Planned Completion 1 3 2 4 5 6 Planned Path Actual Path Initial Project Status w Reused assets w Staffing, skills Stakeholder Satisfaction Space
IBM Software Group | Rational software Use Iteration Assessments to Change Direction Planned Initial State Planned Completion Actual Initial State 3 2 1 4 5 6 Planned Path 1 2 3 Initial Project Status w Reused assets w Staffing, skills Actual Path 4 5 6 7 Stakeholder Satisfaction Space
IBM Software Group | Rational software Iteration Assessments §Helps teams see beyond their immediate Marketing Collateral deliverables §Provides an opportunity to have some fun at the end of each milestone period §Scenarios and samples become a regular part of the informal planning and discussions that happen every day les §In planning iteration, artifacts needing to be tru mp Ins Iteration Builds User Task Scenarios Web cti o ns Sa Se tup Tutorials Iteration Assessments “How To”s “G ot ch as ” built for successful exit are identified and, thru iteration, development works to build them §Prior to assessment, core team comes together to verify artifacts can be built (and does what’s necessary to close any issues) §At iteration assessment, broader team comes together for one day to build artifacts for themselves §Issues and observations are captured and incorporated into the formal plans for the next iteration §Initial iterations focus on getting team leads and development team involved so they see first hand how things are shaping up §As the iterations start to take shape, more participants are involved including management, sales, marketing, support, beta customers, etc. Training Material Demos PVT, SVT
IBM Software Group | Rational software Plan With Evolving Levels of Detail Coarse-grained Plan: Project Plan One For Entire Project Phases and major milestones w What and when Iterations for each phase w Number of iterations w Objectives and Duration Fine-grained Plans: Iteration Plans Next Iteration Current Iteration § Iterative does not mean less work and shorter schedule § It is about greater predictability
IBM Software Group | Rational software Solution: Use Iteration Assessments to Change Direction Planned Initial State Initial Actual Initial State Updated 3 2 1 Planned Completion 4 5 6 Planned Path 1 2 3 Initial Project Status w Reused assets w Staffing, skills Actual Path 4 5 6 7 Stakeholder Satisfaction Space
IBM Software Group | Rational software Discussion Topics § What is RUP? § RUP and Managing Iterative Development § RUP and Agility at Scale § Adopting RUP and Measured Capability Improvement Framework § Parting thoughts 24
IBM Software Group | Rational software Challenges with Agile in the Mainstream Compliance requirement Low risk Critical, Audited Enterprise discipline Enterprise focus Project focus Geographical distribution Co-located Entrenched process, people, and policy Global Minimal Significant Agile Development Organization distribution (outsourcing, partnerships) Application complexity Simple, single platform Complex, multi-platform Team size Under 10 developers Third party In-house Degree of Governance 100’s of developers Informal Formal 25
IBM Software Group | Rational software Agile Development with Rational Unified Process (RUP) § Follow RUP’s agile practices 4 Regular delivery of working software 4 Active stakeholder participation 4 Test-Driven Development (TDD) 4 Collaborative development 4 Continuous builds 4 Early and frequent system-level testing 4 Just enough process § RUP Differentiators – scale agility to complex situations 4 Executive oversight 4 Application complexity 4 Geographical distribution 4 Large team size 4 Compliance requirements 4… 26
IBM Software Group | Rational software Lean Development Governance www. ibm. com/developerworks/ § Pragmatic Governance Body § Staged Program Delivery § Business-Driven Project Pipeline § Scenario-Driven Development § Align HR Policies With IT Values § Align Stakeholder Policies With IT Values Organization Mission & Principles § Promote Self-Organizing Teams § Align Team Structure With Architecture § § § Iterative Development Adapt The Process Risk-Based Milestones Continuous Improvement § Simple And Relevant Metrics § Continuous Project Monitoring Embedded Compliance Processes Measures Roles & Responsibilities Policies & Standards § Integrated Lifecycle Environment § Valued Corporate Assets § Flexible Architectures 27
IBM Software Group | Rational software Discussion Topics § What is RUP? § RUP and Managing Iterative Development § RUP and Agility at Scale § Adopting RUP and Measured Capability Improvement Framework § Parting thoughts 28
IBM Software Group | Rational software Common Reasons for Adopting RUP Communicate Your Business Objectives through Your Organization § Project Execution 4 “We have problems delivering projects on time, on budget, and meeting all high priority requirements. There is no consistency or predictability. ” § Compliance Audits 4 “It’s a nightmare every time we’re audited. Demonstrating our process to the auditor is laborious, time-consuming and painful. ” § Process Improvement 4 “We know our process isn’t working. We know we need to change it. We’re just not sure what is the right process, how to effect that change and get everyone to follow it. ” § Outsourcing / Distributed Development 4 “Budget was just cut 40% and we need to outsource. How do we communicate our process to the outsource vendor? If we don’t, they’re going to charge a premium. ” § Process Deployment / Execution 4 “We have a great process, but it is too expensive to maintain, and we are not effectively deploying it. ” 29
IBM Software Group | Rational software Common Challenges with RUP Adoption § Organizational Challenges 4 Lack of executive buy-in 4 Lack of understanding of why to change 4 Process group not trusted § People challenges § Waterfall/serial tailorings 4 Big up front architectures/requirements 4 Saving the tricky part for later 4 Testing at the end of the lifecycle § Process challenges 4 Overly specialized people 4 Too much formality 4 Unwillingness to change 4 Too many artifacts 4 “Analysis paralysis” 4 No developer testing 4 Little/no customer involvement 4 No continuous integration 30
IBM Software Group | Rational software Measured capability improvement framework Map business value to software delivery practices Target: Phase 1 Already implemented Outside scope Example: Financial Service Company Customer Business Challenges Operational Objectives Software Delivery Best Practices § Create financial products more quickly § Reduce time-to-market § Functionality of customer web falling behind competition § Improve productivity Continuous integration § Inconsistencies with integrated financial reporting § Increase innovation Shared vision § Recent SOX audit failure § Improve consistency/predictability § Improve oversight § Enable flexible/global resourcing § Satisfy compliance mandate Use-case driven development Whole team Risk-value lifecycle Release planning Test-driven development Asset-based development Asset governance Iterative development SOA modeling Ongoing Adoption Assessment Business Metrics Enterprise SOA Adopt Practice SOA governance Project Time to Market (M) Quality (Defect Density) A 22 2. 3 7 Security testing B 14 1. 4 4 Functional testing C 18 1. 6 6 Test management D 9 0. 3 10 E 6 0. 4 8 Structured testing … Innovation (Cust. Sat. ) Architecture modeling 31
IBM Software Group | Rational software IBM Rational Self Check for Software Teams The Assessment Tool Practice Comments Use Cases Big Picture of Practice Adoption Average Deviation Use Stories instead 7. 8 0. 50 Not enough, not in build 6. 8 1. 89 Stakeholder Feedback Want more 8. 5 0. 58 Time-Boxed Iterations Not well specified 8. 3 0. 50 Not Fridays 9. 3 0. 50 Test Early Not enough TDD 4. 5 1. 91 Reflections Need clear actions 8. 8 0. 50 Static Analysis Not automated yet. 3. 3 0. 96 Unit Test Daily Scrum Experience Report Deep Dive on Practice 32
IBM Software Group | Rational software Quick example: The iterative questions Target Results Section Questions Average Deviation Talk? Time-boxed Iterations Do you hold your iteration end dates fixed and adjust content of the iteration if needed? 7. 3 0. 645 Working increment Does each iteration (except perhaps the earliest ones) result in a stable executable release (internal or external), with tested code? 8. 4 1. 305 Feedback Used Do you use feedback from key stakeholders such as sponsors, partners, users to adjust the content of the next iterations? 8. 6 0. 479 Prioritized Backlog Do you select content for your next iteration from a set of work items (including functionality and defects)? 3. 6 1. 140 Talk Just-In-Time Detailed Plan Do you detail the plan for the next iteration at the end of the current iteration? 4. 7 2. 517 Talk Retrospective During iteration assessment, do you calibrate progress made with project goals by discussing what worked well, what didn’t work well, and how to improve? Do you improve planning for next iteration and update long-range plan accordingly? Do you use test results to improve your process? 6. 2 0. 837 Micro. Increments For each iteration, do you define tasks that are measurable toward the iteration objectives, and small enough to be performed by one or a few people? 3. 8 3. 189 Iteration Length (Computed average iteration length. The recommended iteration length should be about 4 weeks. Most projects should start with 4 weeks and modify based on needs. Some very large initiatives could have longer iterations. ) 4. 8 0. 837 Talk 33
IBM Software Group | Rational software Example: Are we iterative? The Big Picture We’re iterative, right? 235 people. Multi-shore. Java 8 week “iterations”. 24 Month project. New to agile. Iterations have enabled them to realize the plan was severely overbooked and prioritization of content began early. 34
IBM Software Group | Rational software Look at deviation among team members The Big Picture Deep dive on Iterative 30 people. Distributed. Java 2 week iterations. 6 Month project ü “Agile has enabled the project to be responsive to changing requirements and to deploy more function in a drastically reduced timeframe. ” û Sustainable Pace – Testers have worked at a frantic pace to make adjustments to scope. è Recommend team understand estimating and velocity so they have higher quality iterations è Focus on developer testing to reduce burden on test team 35
IBM Software Group | Rational software Discussion Topics § What is RUP? § RUP and Managing Iterative Development § RUP and Agility at Scale § Adopting RUP and Measured Capability Improvement Framework § Parting thoughts 36
IBM Software Group | Rational software Parting Thoughts: Adopting RUP § Focus on principles of RUP § Chose a version of RUP suitable for your projects 4 Further customize it, and use development case as a living document 4 Only use what adds value to your project § A process is a baseline, evolve it as you improve 4 Do not let the “process police” dictate what makes sense 4 If you like practices outside RUP, include them § Drive improvement based on business needs 4 Leverage for example mapping between business objectives and practices in MCIF § Measure results (MCIF can help) 4 Practice level as well as Business level 37
IBM Software Group | Rational software Resources § RMC / RUP: http: //www. ibm. com/developerworks/rational/products/rup/ § EPF / Open. UP: http: //www. eclipse. org/epf/ § Measured Capability Improvement Framework: http: //www-306. ibm. com/software/rational/announce/mcif/ 4 Self Check: http: //www. ibm. com/developerworks/rational/library/edge/08/may 08/kroll_krebs/index. html § The Rational Unified Process Made Easy – A Practitioner’s Guide to RUP, Kroll and Kruchten, Addison-Wesley, 2003 38
IBM Software Group | Rational software Questions 39
IBM Software Group | Rational software Learn more at: § IBM Rational software § IBM Rational Software Delivery Platform § Process and portfolio management § Change and release management § Quality management § § § Architecture management Rational trial downloads developer. Works Rational IBM Rational TV IBM Rational Business Partners © Copyright IBM Corporation 2007. All rights reserved. The information contained in these materials is provided for informational purposes only, and is provided AS IS without warranty of any kind, express or implied. IBM shall not be responsible for any damages arising out of the use of, or otherwise related to, these materials. Nothing contained in these materials is intended to, nor shall have the effect of, creating any warranties or representations from IBM or its suppliers or licensors, or altering the terms and conditions of the applicable license agreement governing the use of IBM software. References in these materials to IBM products, programs, or services do not imply that they will be available in all countries in which IBM operates. Product release dates and/or capabilities referenced in these materials may change at any time at IBM’s sole discretion based on market opportunities or other factors, and are not intended to be a commitment to future product or feature availability in any way. IBM, the IBM logo, the on-demand business logo, Rational, the Rational logo, and other IBM products and services are trademarks of the International Business Machines Corporation, in the United States, other countries or both. Other company, product, or service names may be trademarks or service marks of others. 40
008f4acc615859c1a768422167b14ef8.ppt