Introducing Rational Solutions for Collaborative Lifecycle Management Hap Peden Senior IT Specialist – Rational Software hpeden@us.ibm.com Andy Mohl Senior IT Specialist – Rational Software amohl@us.ibm.com The premiere software and product delivery event. Agenda 1 What is Application Lifecycle Management? 2 ALM Imperatives 3 Rational Collaborative Lifecycle Management 4 Demonstration 2 What is Application Lifecycle Management? “Application lifecycle management (ALM) is the marriage of business management to software engineering made possible by tools that facilitate and integrate requirements management, architecture, coding, testing, tracking, and release management.” Wikipedia ALM is about connecting the boxes Project/Planning Requirements Development • Business Drivers • Use Cases • TDD • Iterations • Nonfunctional • Sign-off • Build Management • Sign-off • Contract • Risk Assess • User Involvement • Contract • Risk Assess • Threat Model • Test Requirements • Static Analysis • BVT • Source Management Testing • ScenarioDriven Automation • Fill Cracks • User Involvement • Contract Validation • Pair Programming/ Code Review Continuous Learning and Feedback Source: Gartner Application Architecture, Development & Integration Summit Presentation, The Future and Present of AD, Thomas E. Murphy, December 2008 Where do improvements show? Reduction in defect cost Early detection Key improvement in requirements defects Project Cycle Time 80/20 Rule Increased consistency – Release Train Reduced time to market 30% average Metric Driven Insight Watch anomalies for problems or improvements Avoid Hawthorne effect Correlated, not single dimension Costs of Correcting Defects $16,000 $14,000 $12,000 $10,000 $8,000 $6,000 $4,000 $2,000 $0 Rqmts Design Coding Testing Maint $/Defect Correction Source: Gartner Application Architecture, Development & Integration Summit Presentation, The Future and Present of AD, Thomas E. Murphy, December 2008 5 Gartner: Five principal benefits of ALM What do you get from ALM implementations? Agility Through the collaboration and application of “just enough” processes Predictability Through better estimation, better communication and more repeatable processes Auditability Traceability of work back to a business need, Quality Through more-effective management of requirements, design and quality processes Productivity Through the continuous improvement of processes and practices, and more effective utilization of resources Gartner, “MarketScope for Application Life Cycle Management, Research Note G00162941, December 2008, p. 2. Agenda 1 What is Application Lifecycle Management? 2 ALM Imperatives 1. Real-Time Planning 2. Traceability 3. Continuous Process Improvement 4. Development Intelligence 5. Agile Collaboration 3 Rational Collaborative Lifecycle Management 4 Demonstration 7 Imperative # 1: Real-Time Planning • Plans live outside of ALM environment • Plans fully integrated with execution • Manual, error-prone updates • Continuous planning through project dashboards • Separate from team activities and assignments • Instantly see the impact of changes to delivery dates • Disconnected from metrics on past team experiences • Easily instantiate project plans into individual and team activities 8 A continuous planning approach Considerations for success Can your team… Integrate planning with execution? Plan for waterfall, iterative and agile environments? Instantly see the impact of a change in project scope or resources? Report on the current status of your projects in real-time? Imperative #2: Traceability (Can you do this?) Requirements Traceability Matrix 138324 138389 Traceability answers commonly asked questions… Which requirements are addressed in this iteration? Are all of the requirements tested? What’s the quality of the high priority requirements? Are we ready Can we pass an audit? to release? What defects were resolved in this release? Analysts What defects are reported against which requirements? Analyst Project Manager What tradeoffs can we make to release on time? What requirements am I implementing? How can I recreate the last version to do a patch? Quality Professional Developer What test uncovered this defect, on which environment and what build? What changes occurred overnight? Release Engineer What is the quality of the build? What has changed that I need to test? What defects have been addressed since the last build? How can I standardize when teams use different tools? Are build times getting longer or shorter? Where are the bottlenecks in our processes? How can I speed up my builds? Considerations for success Can your team… Easily link related assets, such as requirements, code, test assets and builds? Answer questions that span multiple roles and/or repositories? Imperative 3: Continuous process improvement Step 1: Customize Process Architect Variant #1 Scrum Step 2: Enact Project Manager Project A Agile Product Owner Variant #2 Iterative Scrum Master Team Member Project B Iterative Analyst Developer Quality Release Professional Engineer Developer Quality Release Professional Engineer Variant #3 Waterfall Project C Waterfall Analyst Considerations for success Can your team… Leverage out-of-the-box process templates for traditional and agile workflows? Change process “on the fly” as part of a continuous feedback loop? Allow team leads to determine how strict or lax the “rules of the road” should be? Modify process enforcement over the life of a project, to encourage early-stage experimentation and end-game stability? Imperative #4 – Development Intelligence If measurement is so important, we must be doing it a lot, right? Fortune 500 firms with: Quality measures: 45% Productivity measures 30% Complete measures: 15% Source: Capers Jones, Measurement, Metrics and Industry Leadership, 2009 and Software Engineering Best Practices, McGraw Hill, 2010 Measurement – Project-by-Project, Team-by-Team Considerations for success Can your team… Minimize administrative overhead by relying on your environment to capture metrics? Keep all stakeholders advised at the right level of detail? Keep team members focused with reporting at the individual, team and project level? Imperative # 5: Agile collaboration www • Silo’d teams; disconnected data • Unified team shares linked data • Chat and discussion threads disconnected from project activity • Chat and discussion threads integrated with project history • Important discussions are lost to email and chat archives--project records are missing the “real reason” for decisions • ALM environment becomes an essential “archeological tool” for understanding the past, speeding later enhancements • Lengthy “on-ramp” for new team members • New team members can easily understand the context of activities 19 Considerations for success Can your team… Easily access the “single source of the truth”? Quickly grasp the “who, what, when and why” of team activities? Bring new team members up-to-speed quickly? Overcome the barriers of multiple languages and time zones when working with outsourced and distributed team members? Agenda 1 What is Application Lifecycle Management? 4 2 ALM Imperatives 3 Rational Collaborative Lifecycle Management Demonstration 21 Traditional ALM solutions result in islands of people, process and information ⌦ Little to no project visibility Data locked in proprietary APIs Poor process and workflow integration High maintenance and administration costs Persistent functional, geographic and organizational silos A platform approach to ALM can break down organizational, functional and geographic barriers Real-time, transparent access to project data, risks and progress Third-party products Open Source Solutions Product A Product B Product C Process Workflow HTTP/REST Shared Platform Services Integrated, loosely coupled Logic, User Interfaces Data Models, Workflow Administration Product D Jazz is something different An extensible platform supporting Collaborative Lifecycle Management c Provides Collaboration Automation Reporting A scalable, extensible team collaboration platform End-to-end, artifact traceability Flexible and configurable team-specific process Integrated collaboration around the lifecycle artifacts Access to real time information for decision making Jazz is a project & software delivery platform for transforming how people work together to deliver greater value & performance from software investments. Open Services for Lifecycle Collaboration Aimed at simplifying tool integration across the software lifecycle Open Services for Lifecycle Collaboration Barriers to sharing resources and assets across the software lifecycle Multiple vendors, open source projects and in-house tools Private vocabularies, formats and stores Entanglement of tools with their data Community Driven – specified at open-services.net Specifications for ALM and PLM Interoperability Inspired by Internet architecture Loosely coupled integration with “just enough” standardization Common resource formats and services A different approach to industry-wide proliferation Disentangling your data via OSLC Jazz enables Collaborative Lifecycle Management Leverage real-time planning techniques to make plans instantly executable and resilient to change Elicit requirements using textual and visual techniques; manage requirements across the lifecycle Requirements Management Project Planning Change & Configuration Management Collaborate across diverse disciplines and teams OSLC / Traceability Quality Management Build Automation Achieve “quality by design” with an integrated, automated testing process Automate software delivery tasks and accelerate handoff to Operations Collaborate Automate Report Gartner MarketScope on Application Lifecycle Management IBM Rational Positioned as the Leader in this Segment (Dec 2008) “IBM is one of the few vendors with credible offerings in almost all the requirements of ALM” “IBM Rational is one of the first vendors to tell a story about integrating across the lifecycle” “Jazz is a solid architectural foundation for further innovation” “We rate IBM as a Strong Positive because of its current market strengths and breadth of portfolio” Align technical teams with business drivers Integrated workflows foster clarity of requirements Developer Rational Team Concert Analyst Rational Requirements Composer Tester 2. Developer reviews requirements associated with work-items Rational Quality Manager 3. Tester ensures requirements coverage in test plans and test cases. 1. Analyst defines, analyzes, and validates requirements. 29 Accelerate the build-test-debug cycle Integrated workflows speed defect time-to-resolution Analyst Rational Requirements Composer Developer Rational Team Concert Tester Rational Quality Manager 1. Tester captures test execution results and logs defect as a work-item. 3. At any time, developers and testers can link to associated requirements, sketches or storyboards. 2. Developers see defect in their "To Do" list, and can link to detailed defect information. 30 We invite you to join the Jazz community on jazz.net Suppose we did our development out on the Internet? A transparent software delivery laboratory where you can... Communicate with the development team Track the progress of builds and milestones Get the latest product trials and betas Join developers and product managers in discussion groups Submit defect and enhancement requests Try Rational Team Concert, Rational Requirements Composer and other jazz offerings at no charge: jazz.net/downloads 31 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 Leading Innovation Web site developerWorks Rational IBM Rational TV IBM Business Partners IBM Rational Case Studies © Copyright IBM Corporation 2008. 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, 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.