Presentation is loading. Please wait.

Presentation is loading. Please wait.

The Latest In Agile Processes - OpenUP Per Kroll, Chief Architect IBM Rational Expertise Development & Innovation, IBM

Similar presentations


Presentation on theme: "The Latest In Agile Processes - OpenUP Per Kroll, Chief Architect IBM Rational Expertise Development & Innovation, IBM"— Presentation transcript:

1 The Latest In Agile Processes - OpenUP Per Kroll, Chief Architect IBM Rational Expertise Development & Innovation, IBM pkroll@us.ibm.com

2 IBM Software Group | Rational software 2 Per Kroll - Background  Chief Architect, IBM Rational Expertise Development & Innovation (REDI)  Project lead – Eclipse Process Framework  Core Member – SWG Agile Adoption Team  (Co-) Author of  The Rational Unified Process Made Easy – A Practitioner’s Guide to RUP  Agility and Discipline Made Easy – Practices from OpenUP and RUP

3 IBM Software Group | Rational software 3 Presentation Overview  OpenUP  The Agile Kernel  Practices that Scale  Make OpenUP Your Own

4 IBM Software Group | Rational software 4 EPF Ecosystem TOOLING (Authoring, Publishing) META MODEL (Unified Method Architecture) ECLIPSE Tool Extensions Tool Extensions Extensible, Customizable, Flexible Common Language & Vocabulary Open Source Development Basic Unified Process Adapted from RUP Basic Unified Process Adapted from RUP Scrum TOOLING (Authoring, Publishing) Free Process Content Plug-ins META MODEL (Unified Method Architecture) ECLIPSE Commercial Process Content Plug-ins Tool Extensions Tool Extensions Extensible, Customizable, Flexible Common Language & Vocabulary Open Source Development EXTENSIONS Project Mgmt. Oper. Mgmt. Systems Mgmt. EXTENSIONS Project Mgmt. Oper. Mgmt. Systems Mgmt. EXTENSIONS Project Mgmt. Oper. Mgmt. Systems Mgmt. EXTENSIONS Project Mgmt. Oper. Mgmt. Systems Mgmt. In-house Content Plug-ins OpenUP Scrum DSDM with OpenUP Rule-Based Development Scrum XP

5 IBM Software Group | Rational software 5 EPF: Growing Ecosystem Co-developers Supporters

6 IBM Software Group | Rational software 6 OpenUp in a Nutshell Scrum Eclipse Way RUP DSDM RUP XP AMDD Influence

7 IBM Software Group | Rational software 7 Baseline Practices from Eclipse Process Framework (EPF) (Under Development) Agile Kernel  Iterative development  Releasel planning  Whole Team  Continuous Integration  Test-Driven Development  Independent Testing Additional Practices to Scale Agility  Shared Vision  UC-Driven development  Risk-Value Lifecycle  Agile Architecture  Evolutionary Design Scrum OpenUP XPish Many practices contain other ‘smaller’ practices. E.g. - Whole team contains Sustainable Pace and Self org. - TDD contains Pair Programming and Refactoring - Iterative development notions of backlogs and Agile Estimation. You can select / deselect also the smaller practices. Different role sets can be applied. Do you want Scrum roles or OpenUP roles for your practices? Other Open Source  … Commercial Practices  … Company X Practices  …

8 IBM Software Group | Rational software 8 OpenUP is Minimal, Complete, and Extensible.  OpenUP is additive  It starts with the minimum  You can always add or modify  The bias is toward simplicity and low- ceremony, because each addition takes work.

9 IBM Software Group | Rational software 9 OpenUP is Minimal, Complete, and Extensible.  You can start doing OpenUP right away.  Process Wonks are optional.  Prescribes specific technical practices.

10 IBM Software Group | Rational software 10 OpenUP is Minimal, Complete, and Extensible.  A foundation to build on.  Free and open source.  There is no “one best way.”  Supported by the Eclipse Process Framework Composer tool.  Add and remove practices as needed.

11 IBM Software Group | Rational software 11 OpenUP Demo

12 IBM Software Group | Rational software 12 Presentation Overview  OpenUP  The Agile Kernel  Practices that Scale  Make OpenUP Your Own

13 IBM Software Group | Rational software 13 The Agile Kernel Agile Kernel  Iterative development  Release planning  Whole Team  Continuous Integration  Test-Driven Development  Independent Testing Additional Practices to Scale Agility  Shared Vision  UC-Driven development  Risk-Value Lifecycle  Evolutionary Architecture  Evolutionary Design Scrum OpenUP XPish Other Open Source  … Commercial Practices  … Company X Practices  …

14 IBM Software Group | Rational software 14 Practice: Iterative Development  Focuses the team  Time-boxed  Has a plan and assessment  Prioritized work  Agile estimation  Produces a demo-able shippable build

15 IBM Software Group | Rational software 15 Prioritize and Manage Work: Work Items List Work Item List High Priority Low Priority New work items can be added at any time Work items can be removed at any time Work items can be reprioritized at any time High-priority work items should be well-defined Low-priority work items can be vague Each iteration implements the highest-priority work items  Heavily influenced by Scrum/XP’s Product and Iteration Backlog.

16 IBM Software Group | Rational software 16 Executing an iteration Iteration planning Upfront planning and architecture Stable weekly build Stable iteration build Continuous micro-increments / bug-fixing / builds Continuous bug-fixing / micro-increments / builds A few hours A few days Iteration review / Retrospective A few hours (Kroll, 2007)

17 IBM Software Group | Rational software 17 Practice: Whole Team  Self organization  Motivated team members  Manager – coaching and leading, not directing  Decision making – People closest to the decision make the decision  Work assignment - Pull instead of push model  It is about involvement and respect, not wool sweaters and hugging  Collaboration  Daily meetings  Extended team  X-functional team organized around components  Sustainable Pace

18 IBM Software Group | Rational software 18 Planned Path Practice: Release Planning Project Plan explains at high level how to go from here to here Planned Path 1 2 3 4 56 Detailed Iteration Plan is done for one iteration at the time 1 2 3 4 56 Project Plan defines  Major milestones  Number of iterations  Objectives of each iteration Iteration Plan defines  Iteration Objectives  Who takes on what tasks  Evaluation criteria Stakeholder Satisfaction Space Initial Project Status

19 IBM Software Group | Rational software 19 Stakeholder Satisfaction Space Initial Project Status Planned Path Iterations: Use Feedback to Change Direction Planned Completion Actual Path Planned Initial State Actual Initial State 1 2 3 4 56 1 2 3 4 56 7

20 IBM Software Group | Rational software 20 Practice: Test Driven Development  Automated acceptance testing drives your detailed requirements efforts  Automated developer testing drives the detailed design of the system  Tests form the majority of your detailed specifications  You’ll still need some high-level models to provide overviews  This is the first time in IT history that developers are motivated to keep the specifications up-to- date  An example of single sourcing information  www.agiledata.org/essays/tdd.html www.agiledata.org/essays/tdd.html Slide provided by Scott Ambler.

21 IBM Software Group | Rational software 21 Practice: Continuous Integration  Update and test our code constantly  Daily builds are a good start  Integrating each mini-increment is better  A good build:  Compiles the code  Reruns your test suite  Optionally runs a static code analysis tool  You need to automate your build process

22 IBM Software Group | Rational software 22 Practice: Independent Testing  The agile ‘cook book’ answer  Testing is the responsibility of the development team  Business reality for many mission / safety critical or complex environments  Sometimes extremely advanced test environments, requiring specialized knowledge and advanced setups  Extensive testing required, sometimes on many platforms  Agile development applied to complex test environments  Development team responsible for high-quality product, but maybe only on or a few platforms  When necessary, have separate test team to test on other environments and for more complex test environments (such as advanced load testing)

23 IBM Software Group | Rational software 23 Presentation Overview  OpenUP  The Agile Kernel  Practices that Scale  Make OpenUP Your Own

24 IBM Software Group | Rational software 24 Additional Practices and Hooks to Scale Agile Kernel  Iterative development  Release planning  Whole Team  Continuous Integration  Test-Driven Development  Independent Testing Additional Practices to Scale Agility  Shared Vision  UC-Driven development  Risk-Value Lifecycle  Evolutionary Architecture  Evolutionary Design Scrum OpenUP XPish Other Open Source  … Commercial Practices  … Company X Practices  …

25 IBM Software Group | Rational software 25 Practice: Risk-Value Lifecycle  Provides the extended team with explicit milestones centered on balancing risk mitigation and value creation  Key stakeholders frequently do not have time to carefully review and discuss the results of every iteration. Fewer key milestones are needed.  Forces extended team to agree on:  Do we understand what we are building?  Do we understand how to build it?  Are we ready to release in the near future?  Can we release now? iteration

26 IBM Software Group | Rational software 26 Practice: Vision  Ensure that everybody pulls in the same direction  Provides the why and the high-level requirements and design constraints.  A short read to ensure all stakeholders and team members understand what the project is about  Content areas covered in vision  Problem Statement  Product Positioning Description (elevator pitch)  Stakeholders and End Users  Features  Constraints and Quality Measures

27 IBM Software Group | Rational software 27 Vision – Common Mistakes  Too long – people will not read it  Hiding the vision document – the point was to use it to point everybody in the same direction…  Does not include an elevator pitch – never got to the core  No clear articulation of stakeholders – how can you build the right system if you do not know who you need to work with to get it right?

28 IBM Software Group | Rational software 28 Practice: Use-Case-Driven Development  Provides a collaboration space for the x-functional team (plan, req, dev, test, doc, etc ) centered around end-to-end usage scenarios  How you document the results of that documentation is secondary…. Who is in the x-functional team?  Stakeholder / user – What will I get?  Developer – What do I need to develop?  Tester – What needs to be tested?  Tech doc – What should I write in online help / doc?  Manager – What should be done in which iteration?  Architect – How do I drive out technical risk? ……

29 IBM Software Group | Rational software 29 Practice: Evolutionary Architecture  Identify architectural issues and prioritize with any other work  Just-in-time' architecture work  Prioritization will be based on need for technical risk mitigation versus value creation  Implement and test key capabilities as a means to address architectural issues  Document key architectural decision in an Architectural Notebook  Consider early model brainstorm and implementation of ‘minimal code’ to validate the assumptions behind the architecture  The architecture is never done. It keeps on evolving.

30 IBM Software Group | Rational software 30 Practice: Evolutionary Design  Effectively take and communicate design decisions  Model the details just in time (JIT)  No big upfront design  Travel light  Document design with the level of detail required based on your context  May be enough to reference applicable patterns and some high-level decisions?  You need good modeling tools

31 IBM Software Group | Rational software 31 Sample Practices to Address Agility at Scale  Large teams  Geographical distribution  Application complexity Management related practices  Risk-value lifecycle Requirements related practices  Shared vision - Ensure that everybody pulls in the same direction  Use-Case-Driven Development – Drive planning, req, dev, test, doc, etc. based on end-to-end usage scenarios Architecture management practices  Agile Architecture – implement key aspects of the applications to determine what are the correct architectural decisions  Evolutionary design - Effectively take and communicate design decisions Sample Scaling Factors Sample Practices

32 IBM Software Group | Rational software 32 Summary: Sample Practices to Address Agility at Scale Management related practices  Risk-value lifecycle – Provides the extended team with explicit milestones centered on balancing risk mitigation and value creation Requirements related practices  Shared vision - Ensure that everybody pulls in the same direction  Use-Case-Driven Development – Provides a collaboration space for the x- functional team (plan, req, dev, test, doc, etc ) centered around end-to-end usage scenarios Architecture management practices  Agile Architecture – implement key aspects of the applications to determine what are the correct architectural decisions  Evolutionary design - Effectively take and communicate design decisions

33 IBM Software Group | Rational software 33 Presentation Overview  OpenUP  The Agile Kernel  Practices that Scale  Make OpenUP Your Own

34 IBM Software Group | Rational software 34 Adoption Advice  Identify what you are trying to achieve as a business  Reduce Time-to-Market, Improve Quality, Increase Innovation, …  Agility at Scale complexity drivers  Adopt (only) those practices that will help you achieve those business objectives  Do an incremental adoption, learn as you go  Use different sources for practices: Scrum, XP, OpenUP, RUP, Eclipse Way, AMDD, …  Capture your own lessons learnt (augmentation of existing practices and new practices)  Consider consistency across your organization  Are there some practices that everybody should follow?  Which practices fit in what context?

35 IBM Software Group | Rational software 35 EPF Composer Can Help EPF Composer capabilities  Pick out the processes or practices you want to adopt  Publish desired processes and practices as a Web site for easy consumption  Leverage EPF Wiki so team members can modify and provide feedback on their process  Customize a process or individual practices  Create new processes or practices

36 IBM Software Group | Rational software 36 Resources  EPF / OpenUP: http://www.eclipse.org/epf/http://www.eclipse.org/epf/  Guidance on incremental adoption of a process: Agility and Discipline Made Easy – Practices from OpenUP and RUP, Kroll and MacIsaac, Addison-Wesley, 2005

37 IBM Software Group | Rational software 37 © 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.


Download ppt "The Latest In Agile Processes - OpenUP Per Kroll, Chief Architect IBM Rational Expertise Development & Innovation, IBM"

Similar presentations


Ads by Google