Agile with Rational


Published on

Published in: Technology
  • Be the first to comment

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide

Agile with Rational

  1. 1. ® IBM Rational SoftwareAgile with RationalBartosz ChrabskiIBM Rational IT Professional © 2010 IBM Corporation
  2. 2. IBM Rational SoftwareAgenda  Introduction  Core Agile Development – living Scrum with RTC  Scaling up Agile  Disciplined Agile Delivery - Agile in an Enterprise context  Agility@Scale – dealing with scaling factors, beyond traditional Agile  Summary and Conclusions 2
  3. 3. IBM Rational SoftwareAgile Methodologies or Religions?•Scrum •by far the most widely adopted •Out of the box support in RTC•Feature Driven Development•XP •Fairly narrow, development- focused but also useful•RUP •Tackle risks up front •Be iterative and adaptive•Our position is to defuse thereligious/brand name debate andfocus on the practices
  4. 4. IBM Rational SoftwareOur Practices – the Jazz Way continuous consume your continuous integration validate own output testing enable sign drive with off open eyes reduce stress community end transparency involvement game milestones attract live show progress to latest first always have betas feedback new & a client update learn noteworthy validate API adaptive component first planning centric enable retrospectives explore dynamic common agile practices validate teams common Open Source practices scaling-up practices Our unfair advantage 4
  5. 5. IBM Rational SoftwareAgenda  Core Agile Development – living Scrum with RTC  Scaling up Agile  Disciplined Agile Delivery - Agile in an Enterprise context  Agility@Scale – dealing with scaling factors, beyond traditional Agile  Summary and Conclusions 5
  6. 6. IBM Rational SoftwareAgile Scaling Model (ASM) Agility@Scale  Disciplined agile delivery and one or more scaling factors applies:  Team size, GDD, technical complexity, org. complexity, … Disciplined Agile Delivery  Extends agile development to address full system lifecycle  Risk and value-driven lifecycle  Self organisation within an appropriate governance framework Core Agile Development  Focus is on construction  Goal is to develop a high-quality system in an evolutionary, collaborative, and self-organising manner  Value-driven lifecycle with regular production of working software  Small, co-located team developing straightforward software 6
  7. 7. IBM Rational SoftwareCore Agile Development Core Agile Development 7
  8. 8. IBM Rational SoftwareExample Team: Rational Team Concert for Z/OS 37 developers UA Mgt, Development3 San Jose, US Raleigh, US Arch, Development 10 4 Paris, France Development Development 3 Pornichet, France 6 Austin, US Research Development Haïfa, Israel Beijing, China 8 2 Work Items SCM Build Rational Team Concert Development 1 Perth, Australia
  9. 9. IBM Rational SoftwareOur (old) Pain Points… joining a team get my environment configured to be productive what is happening in my team collecting progress status following the team‟s process Team ad hoc collaboration/sharing of changes awareness starting an ad hoc team is the fix in the build? run a personal build tracking a broken build Build why is this change in the build? awareness reconstructing a context for a bug/build failure interrupting development due to a high priority bug fix working on multiple releases concurrently Boring and painful tracking the code review of a fix Project referencing team artifacts in discussions awareness how healthy is a component? collecting project data/metrics? keeping plans up to date 9
  10. 10. IBM Rational SoftwareDrinking our own Champagne• RTCz development project – Self hosting on System z • Access from – „RTCz for System z Project‟ – Iterative, based on the Scrum template• Geographically Distributed Development team – 4 main Scrum teams • RTP (Raleigh, US) • FASL (France & Australia) • BF (Austin, US) • UA (San Jose)• 2 parallel development lines – No code maintenance – Main development • Release v2.0 • Post v2 development – Product Delivery
  11. 11. IBM Rational SoftwareScrum applied •RTCz development process •Based on the standard Scrum process template •Roles: Stakeholder, Product Owner, Scrum Master, Team Member •Artifacts: Work Items, Product Backlog, Sprint Backlogs •Minor process adaptations •New role: PMC (Project Management Council - based on Stakeholder role) •New Minutes work item •Updated permissions •PMC can update Plans •Limited operations for externals •New automatic tasks when joining a team •[Joining a Team] Update your calendar with your Scheduled Absences •[Joining a Team] Update your Work Environment
  12. 12. IBM Rational SoftwareSprint planning detailed First days of each Sprint Sprint directions from Product Owner Analyze Stories with the Architects All Scrum team members are involved 1 Sprint planning per Scrum team Check time budget Verify absences in RTCz From Product Backlog... Query Work items Team members try to fully understand User Stories with the help of the Architects Give estimates using the Planning Poker technique ...To Iteration Plan Fill Sprint backlog with selected Stories based on team velocity and priorities
  13. 13. IBM Rational SoftwareContinuous Integration Rational Build Forge Daily builds are a good start Rational Team Concert Agilists update and test their code constantly Therefore they need to build the system constantly  Compile  Regression testing  Static code analysis Critical points:  Must be automated  Don‟t forget database integration  Need a protocol for automatically deploying builds to higher-level sandboxes  Doesn‟t mean that you‟re deploying into production every 2 weeks
  14. 14. IBM Rational Software IntegrationShare & build source code Streams and flows Build definitions Source code Components Build results Pending updates
  15. 15. IBM Rational SoftwareRTCz V2 Development Rhythm Monthly Sprints 9 iterations Initial iteration (training, envt set up,...) 5 development iterations All Sprints include FVTs End-game & Cleanup 3 phases in all development iterations Planning (2-3 days) Development Stabilization (3-4 days) 15
  16. 16. IBM Rational SoftwareTest/Behavior Driven Development (TDD/BDD) Rational Team Concert Add a test Rational Build Forge Rational Application Developer [Pass] Run the tests  Automated acceptance testing drives your detailed [Fail] requirements efforts  Automated developer testing drives the detailed design of the system Make a little change  Tests form the majority of your detailed specifications [Development  You‟ll still need some high-level models to provide continues] overviews [Fail]  This is the first time in IT history that developers are Run the tests motivated to keep the specifications up-to-date [Development  An example of single sourcing information stops] 16
  17. 17. IBM Rational SoftwareAgenda  Scaling up Agile  Disciplined Agile Delivery - Agile in an Enterprise context  Agility@Scale – dealing with scaling factors, beyond traditional Agile  Summary and Conclusions * Most content thanks to Scott Ambler and Jean-Yves Rigolet… 17
  18. 18. IBM Rational SoftwareWhat is disciplined agile delivery?Disciplined agile delivery is an evolutionary (iterative and incremental) approach that regularly produces high quality solutions in a cost-effective and timely manner via a risk and value driven lifecycle.It is performed in a highly collaborative, disciplined, and self-organizing manner within an appropriate governance framework, with active stakeholder participation to ensure that the team understands Core Principles and addresses the changing needs of its “Fits just right” process stakeholders. Continuous testing and validation Consistent team collaborationDisciplined agile delivery teams provide repeatable Rapid response to change results by adopting just the right amount of Ongoing customer involvement ceremony for the situation which they face. Frequent delivery of working solutions 18
  19. 19. IBM Rational SoftwareThe disciplined agile lifecycle: An extension of Scrum
  20. 20. IBM Rational SoftwareAgile Requirements Management Rational Requirements Comp Rational Team Concert Rational DOORS  Requirements are prioritized by stakeholders Rational Requisite Pro  Requirements are estimated by the development team  Requirements will evolve throughout the project  Stakeholders see working software each iteration  Stakeholders can change the level of funding as appropriate  Stakeholders determine when “enough is enough”RMC Practices: Requirements Management, Use-Case Driven Development 20
  21. 21. IBM Rational SoftwareAgile Model Driven Rational Requirements Comp Rational Requirements ComposerDevelopment (AMDD) Rational Design ToolsRMC Practices: Shared Vision, EvolutionaryArchitecture, Evolutionary Design, TDD,Component Software Architecture 21
  22. 22. IBM Rational SoftwareAgile scaling factors Team size Compliance requirement Under 10 1000‟s of Critical, developers developers Low risk audited Geographical distribution Domain Complexity Straight Intricate, Co-located Global -forward emerging Disciplined Enterprise discipline Agile Organization distribution Project Enterprise Delivery (outsourcing, partnerships) focus focus Collaborative Contractual Organizational complexity Technical complexity Flexible Rigid Heterogeneous, Homogenous legacy 22
  23. 23. IBM Rational Software Geographical Distribution Rational Method Composer Rational Team Concert Distributed teams Increase communication risk Rational Build Forge Increase risk of delivering the wrong product Rational Requirements Comp Rational DOORS Leverage people in disparate locations Require greater discipline Require improved tooling Best practices Initial architecture envisioning Invest in travel Invest in communication/collaboration technologies 23
  24. 24. IBM Rational SoftwareCollaborate using Work items and Plans Various levels of work planification Discuss/exchange work with members Instant collaboration / share context
  25. 25. IBM Rational Software Team Size Rational Quality Manager Large teams Rational DOORS Increase management complexity Rational Team Concert Increase communication overhead Rational Asset Manager Best practices Rational Build Forge Initial architecture envisioning Architecture drives team organization Rational Method Composer Architecture ownership team Program management team Stakeholder team Requirements management 25
  26. 26. IBM Rational SoftwareCheck the project status & health Burndown charts Various project health dashboards Team communication
  27. 27. IBM Rational Software Regulatory Compliance Rational DOORS Rational Policy Tester Recognize that this is a reality for many teams Rational Team Concert Best practices Rational Quality Manager Read and understand the regulations Automate as much as possible Embed compliancy into your culture Lean development governance 27
  28. 28. IBM Rational SoftwareIntegrating withexisting Governancesystems Highly regulated industries requirestrict control, auditability, archive… Corporate  Rigorous Change Management  Auditable builds, archives.. Repository May require integrating withexisting CM, SCM, and Buildsystems Teams can do their daily work inmore agile tools and deliver to the“mother ship” as needed  Bridges can be automated or Scrum manual Repo Our example team does this withour formal support system
  29. 29. IBM Rational Software Rational DOORS Technical Complexity Rational Design Tools Complex applications Rational Team Concert Are the norm, not the exception Legacy systems and data sources are often Rational Build Forge less than perfect Rational Testing Tools Legacy asset owners struggle with agile approaches Rational Asset Manager Best practices Rational Quality Manager Multi-disciplined teams Multi-disciplined people – Generalizing specialists Code refactoring Database refactoring Iterative development Continuous integration Short iterations 29
  30. 30. IBM Rational SoftwareManaging Technical Complexity – Tracking AdoptionsThe RTCz team builds onthe Jazz FoundationJazz Foundationarchitectural changes andAPI evolution need to becoordinated acrossadoptersThe Jazz teams haveinstituted formal Adoptiontracking
  31. 31. IBM Rational SoftwareAgenda  Summary and Conclusions Q&A 31
  32. 32. IBM Rational SoftwareAgile does scale, and IBM Rational can help  In addition to the development practices of Scrum and other Agile methodologies, Disciplined Agile Delivery practices can help deliver complex software and systems in a repeatable and predictable way.  Rational provides tools that support these practices.  Rational and our customers are using these tools to successfully scale Agile in many different dimensions. Delivering greater value from your investments in software 32
  33. 33. IBM Rational Software© Copyright IBM Corporation 2010. 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 responsiblefor 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 orrepresentations 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 materialsto 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 maychange 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. 33
  34. 34. IBM Rational SoftwareResources Agile/Scrum Agile Manifesto: Wikipedia: Wikipedia: Scrum Alliance: Scrum Community: Rational agile development: IBM Rational Team Concert for System z Jazz community: Articles & papers: In tune with IBM Jazz and IBM Rational Team Concert entreprise development tools, by JY. Rigolet: Easier, faster collaborative development by globally distributed teams, series by R. Radcliffe: dex.html Drinking our own Champagne – In the concert of RTCz development, by JY. Rigolet: 34