IBM Rational Software Continuous Delivery Effective Software Delivery under ridged Business Constraints Kai-Uwe Maetzel kai-uwe_maetzel@us.ibm.com Chief Architect and Lead of Rational Team Concert IBM Rational © 2012 IBM Corporation IBM Rational Software Overview Product What is cost? Influencing cost Our process Many of the aspects have been discussed in the software development methodology, project management and management literature. This is a concrete example of what we do and why. 2 © 2012 IBM Corporation IBM Rational Software Rational Team Concert Team collaboration tool combining – agile and formal planning – task and defect tracking – source code management – build, packaging, deployment, and promotion – dashboards: queries and reports on life and historic data – configurable process From small teams to large teams of teams From MS Windows to z/OS Eclipse, MS Visual Studio, Web, command line, MSSCCI, Window Shell integration, ISPF Open protocols, numerous integrations 3 © 2012 IBM Corporation IBM Rational Software Technologies Java modeling technologies for persisted data and wire transfer C++, C#, .NET JavaScript, HTML, CSS, Dojo JDojo relational databases, SQL RDF triple stores, SPARQL REST architecture REX, DTL distributed object caches, …. … 4 © 2012 IBM Corporation IBM Rational Software Team Toronto Portland Costa Mesa Ottawa Paris Boston Nantes Zurich Raleigh Beijing Tokyo Bangalore Sydney © 2012 IBM Corporation IBM Rational Software Other Facts IBM Rational’s flagship product Part of Rational’s Collaborative Lifecycle Management initiative We develop RTC using RTC with new deployments at least every 4 weeks, but usually once a week We develop transparently on jazz.net We are an agile team using a mix of Scrum, XP, Kanban, … evolving since 1999 – strong skill set – Hundreds of builds a day (person, team, team of teams, project) – measure “everything” – … ~ 80 developers – development, L3, release engineering, deployment management, testing 6 © 2012 IBM Corporation IBM Rational Software Business Measures Effectiveness – Expense to Revenue (E/R) Budget – Development budget is based on an E/R. – Budget can be adjusted quarterly if deemed necessary but mostly relies on projected revenue. Projected revenue combines historic revenue and market trends. – Budget will become expense. 7 © 2012 IBM Corporation IBM Rational Software Execution Measures Execution goals – Grow revenue – Increase team productivity – Reduce team expense Execution measures – Projected Revenue Impact of near future work – Team Velocity to Team Expense ratio – measured against the not yet released highest product version Controllable factors – Selection of future work – Team Velocity – Team Expense 8 © 2012 IBM Corporation IBM Rational Software Selection of Future Work: Growing Revenue Increase number of people who try the product Increase number of people who tried the product and then buy it Increase the number of people who bought and then buy more Decrease the number of people abandoning the product Controllable factors – Quality perception – Meeting the needs of the customers 9 © 2012 IBM Corporation IBM Rational Software Selection of Future Work Ensure that the top of the backlog is prioritized to sustainably maximize revenue – estimate revenue impact of each backlog item • new revenue, incremental revenue, retained revenue, operational efficiency – revenue overlap between backlog items – work necessary to enable future revenue impacting plan items • reduce technical debt • re-architecting • infrastructure Short feedback cycles allow for better revenue estimates Transparency to allow involvement 10 © 2012 IBM Corporation IBM Rational Software Team Velocity Find effective composition and distribution of teams – prioritize co-location – ensure critical mass on all sites – utilize time zone affinities – mix of experience, culture, and skills Pay upfront to avoid costly unproductive work later on (optimization problem) – customer critsits – customer handholding – maintenance work – educating sales and support teams on already released versions – manual testing – waiting for test machines to be available – waiting because of server down – following stupid processes Track effort/cost for better future estimation by analogy 11 © 2012 IBM Corporation IBM Rational Software Team Expense Geographic location Seniority of the team members Salary levels Hardware costs Travel … If the revenue is acceptable, all these are superseded by Team Velocity. 12 © 2012 IBM Corporation IBM Rational Software Process Clear core values Prioritized product backlog of plan items as single source of truth Quarterly releases Comprehensive Definition of Done One Feature Team per plan item Feature Teams are shielded by Run team Feature Teams are supported by free-floating outstanding senior technical people Fully automated build, test, and deployment pipeline Monitor diligently Process is clearly communicated 13 © 2012 IBM Corporation IBM Rational Software Core Values Simple. Fast. Elegant. Seamless task flows. Best of breed. Your way. Deep analysis. Team focused. Across teams, functions, projects. Multi-platform. Extensible. Scalable. Flexible deployment. Secure. Safe investment. (Open resource formats and stable APIs) 14 © 2012 IBM Corporation IBM Rational Software Backlog 15 © 2012 IBM Corporation IBM Rational Software Definition of Done 16 © 2012 IBM Corporation IBM Rational Software Tracking the Done State 17 © 2012 IBM Corporation IBM Rational Software Plan Item Cost 18 © 2012 IBM Corporation IBM Rational Software Quality Goals 19 © 2012 IBM Corporation IBM Rational Software Work Item Age 20 © 2012 IBM Corporation IBM Rational Software THANK YOU 21 © 2012 IBM Corporation