Delivery Pipeline: An iterative set of quality checks and verifications that each piece of application code must pass during lifecycle phases before being released to production. Continuous Delivery Lifecycle Continuous Innovation, Feedback and Improvements Operations/Production Development/Test Customers Business Owners
satisfaction space Variance in estimate to complete Initial Planned Path Initial Plan Initial State Solution Release Iteration Day Iteration Day Release Solution 3 Standup Build/Test Automation Pair Programming Language/IDE Support
way to slide back to waterfall § JIT architecture fits perfectly with agile paradigm § Provides accountability of Architectural concerns earlier § Requires discipline to avoid temptation to over-model § Close the feedback loop with your Enterprise Architecture § Just because UML is complete enough to be able to generate code from, is it worth the complexity to model to that level. Why Agile Architecture? 7
tool. § How to best communicate in context to your stakeholders ? – UML for Developers ? – Whiteboard for Architects ? – Activity Diagrams for Integrations ? – Screen Mockups for clients ? § What kind of artifacts are you capturing today ? – Napkins / Whiteboards – Visio / Mindmaps – UML Models ( Class, Sequence, Activity, Component ) – Business Process and Interaction Digrams § Do you maintain them or throw them away ? JIT Modeling and Architecture 10
to Component Diagrams § Class Diagrams can provide valuable insight to Developers, Mediators, Data Architects, and Persistence Teams § Free form sketching, mindmaps, and doodles are great for quickly and concisely conveying non-verbals, thanks to phone cameras whiteboards are great for attaching as screenshots Common types of Agile Models 12
multiple views of the same problem to convey the information § Not a one size fits all § It’s about maximizing communication here not gold plating an architecture to end all architectures § Avoid coding in UML! Finding a happy medium 13
by a small group of superheros § “Required” to produce repeatable results at a sustainable pace § Avoid sub-optimizing on construction alone § Need to be flexible to the different practices, processes, and levels of discipline, not a one size fits all type problem § Expect integration points for various heterogeneous systems § As with anything agile, this is not an all or nothing approach Why Collaboration Tools 15
are our transitions between planning, development, and test? ü How many sources do we have to check to get the answers that we need? ü Do we have an integrated database of information for our Agile project(s)? ü Is our planning tool integrated with our Developer’s IDE? ü How easy is it to bring in new tools or additional capabilities? ü Do our integrations require team effort and ongoing maintenance? 16
1. Maximize product value with In-Context Collaboration 2. Accelerate time to delivery with Real-Time Planning 3. Improve quality with Lifecycle Traceability 4. Achieve predictability with Development Intelligence 5. Reduce costs with Continuous Improvement 17
on and review software development artifacts so they can incorporate feedback early and often aligning delivery with stakeholders’ vision § Provide a single source of truth hosted in a shared repository so that team members can collaborate effectively around the globe to build a collective intelligence § Make information immediately accessible to all team members in the context of their work 18
that spans requirements, development, and test, ensuring the whole team understands the overall scope of a project § Integrates planning with execution ensuring the entire team understands the true project status § Allows everyone to participate in keeping the plan current and accurate § Helps teams respond to the unexpected in a timely manner ensuring the team stays on schedule Deployment Engineer Project Lead Analyst Developer Architect Quality Professional Planning and Execution 19
the requirements tested? What defects are affecting which requirements? Are we ready to release? Are we aligned with the business? Can we pass an audit? What defects were resolved in this release? Project Manager Analyst Traceability challenges Can your team answer… Quality Professional Release Engineer Developer What is the quality of the build? What is ready for me to test? What defects have been addressed since the last build? How can I standardize when teams use different tools? Where are the bottlenecks in our processes? How can I speed up my builds? Are build times getting longer or shorter? What requirements am I implementing? What test uncovered this defect, on which environment and what build? What changes occurred overnight? 20
(VP Development) Time-to-Delivery / Schedule User Story Points / Use Case Points Iteration Burndown, Blocking Work Item Release Burndown Product Value: Iteration Velocity Stakeholder Feedback, # of Enhancement Request, Age of Enhancement Request Tested and Delivered Requirements, Business Value Velocity, Customer Satisfaction Product Cost / Expense Effort (Man-hours) Cost / Unit of work Development / Maintenance Costs Product Quality Technical Debt (Defect trend, defect density) Test Status, Test Coverage of Requirement, Test Execution Status Quality at Ship Predictability User Story Points / Use Case Points Planned/Actual Cost and Velocity Trend Variance. Likelihood of on-time delivery Improved shared visibility from In Process (Team) To Executive Value Appropriate Metrics for Each Management level 21
ü Are we getting better at estimating? (or do we just reduce scope or extend time) ü Is our process evolving? ü Is our release “velocity” improving? ü How easily can we enable a new Agile team? ü How quickly can we adapt our process based on lessons learned? ü How efficiently can we share our Agile success between teams? ü How easily can we reuse components from other development streams? ü Is our Agile process flexible enough to adapt to the needs of different teams? 22
change requests, builds, defects, testing results, requirements churn § Integrated planning and execution – Ideally includes testing, requirements, support, deployment, operations § Automation - Source Scanning, Builds, Unit Testing, Deployment – Low hanging fruit if you have not already done this § Allow for the development process to adapt – All for teams to feed back improvements to the process as they learn, start small… § Minimize Context switching – Switching from IDE to Browser, to ssh session, to admin console causes loss of productivity § Say no to copying/synchronizing data, if possible – Copying breaks the “single source of truth”, think linked data Top Wants from your Tools 23
not everything you have can be automated, yet! § Does not mean end-to-end automation § ROI for work in this space is a no brainer § Understand what automation means for your teams Automation as an Enabler 26
Deployment Continuous Feedback and Optimization Continuous Business Planning Continuous Testing Monitor & Optimize Develop & Test Release & Deploy Plan & Measure Continuous Feedback People Process Technology 28
applications Use enterprise issue resolution procedures Standardize and automate cross-enterprise Automate patterns-based provision and deploy Manage data and virtualize services for test Deliver and integrate continuously Link objectives to releases Centralize Requirements Management Measure to project metrics Link lifecycle information Deliver and build with test Centralize and automate test management Plan departmental releases and automate status Automated deployment with standard topologies Document objectives locally Manage department resources Manage Lifecycle artifacts Schedule SCM integrations and automated builds Test following construction Plan and manage releases Standardize deployments Monitor resources consistently Collaborate Dev/Ops informally Plan and source strategically Dashboard portfolio measures Monitor using business and end user context Centralize event notification and incident resolution Automate problem isolation and issue resolution Optimize to customer KPIs continuously Improve continuously with development intelligence Test Continuously Manage environments through automation Provide self-service build, provision and deploy Fully Achieved Partially Achieved DevOps practice-based maturity model: Industry Average Plan and Measure Development and Test Release and Deploy Monitor and Optimize Practiced Repeatable Reliable Scaled 29
and quality § Automation is crucial to success § Continuous Delivery is critical to the success of your business § Release and Deploy automation is key to your success 33
leading systems and software • Leader in ALM • Services Offering to adopt, and groow with best practices and RoI • Commitment to open standards and support for integration of open-source and 3rd party capabilities Why IBM? 35
simple way to share the 5 ALM imperatives ibm.co/alm-everywhere VP of Development, a Business Analyst or Project Owner, Agile Team Lead, Developer and Test Lead. ibm.co/ALMdemo Interactive White Board Role-based Demo Free Downloads ! Try it out at jazz.net! þ read articles & blogs þ view presentations þ watch videos þ listen to podcasts þ see a project dashboard þ review the release plan 1 Download RTC, RRC or RQM for CLM jazz.net/downloads/rational-team-concert/ Sample scenarios for CLM jazz.net/wiki/bin/view/Main/MTM_Lifecycle_Welcome Rational Software Architect with Design Manager Integrated with CLM in Beta: bit.ly/CLMwRSAwDMbeta We openly develop our software with our own tools! jazz.net/projects/clm/ Track our progress at jazz.net! 37
the cloud for continuous delivery Free in 2013 § Enable the team to achieve collaborative development now! Easily enable stakeholders § From plan to delivery of better software and systems in the context of daily work § Code in the cloud with your choice of IDE, Eclipse, Visual Studio or built-in editor § Runs on SoftLayer Infrastructure Easily fork projects § From where teams may already be working already – like GitHub IBM JazzHub Develop & Test What’s New 38
Release and Deployment Greater delivery speed and frequency for complex applications Release & Deploy Simplified deployment automation of mobile and cloud applications § New automated deployment directly to the Worklight Console and Application Center § Continuously provision environments and deploy applications to virtualized environments § New and improved integrations ‒ IBM Rational Team Concert ‒ IBM Rational Test Workbench ‒ IBM Rational Test Virtualization Server ‒ IBM Rational Asset Manager ‒ IBM Rational Quality Manager IBM UrbanCode Deploy IBM UrbanCode Release IBM SmartCloud Orchestrator SoftLayer an IBM Company What’s New 39
air build distribution 1 In app bug reporting 2 Crash log reporting 4 In app user feedback 3 LOB/Digital Marketer Sentiment Analysis 5 Builds User Feedback Crash logs Bugs Bugs vs. Crashes Quality Dashboard with Sentiment Analysis IBM Mobile Quality Assurance services (beta) Addresses five key use cases, attacking pain points for all key users Monitor & Optimize 40
software-driven innovation, with a feedback loop Develop and Test Release and Deploy Plan and Measure Monitor and Optimize Idea Market Business Owner Service Developer/Tester Service Operations Target Customer Open Services for Lifecycle Collaboration (OSLC) Inspired by the web Proven Free to use and share Open Changing the industry Innovative Automation Monitoring Asset Management open-services.net IaaS PaaS SaaS 41
roadmap with milestones and execution timelines Assess current capabilities using the DevOps maturity model “Any improvement not made at the constraint is just an illusion” - Phoenix Project (Kim/Behr/Spafford) Produce heat maps of capability gaps and areas of improvement to determine priority Prescription for DevOps adoption A maturity model approach: identify key pain points, assess current capabilities, produce a heat map of focus areas, and establish a roadmap for execution 42
Partially Achieved Goals Define release with business objectives Measure to customer value Optimize applications Use enterprise issue resolution procedures Manage data and virtualize services for test Deliver and integrate continuously Link objectives to releases Centralize Requirements Management Measure to project metrics Link lifecycle information Deliver and build with test Centralize and automate test management Document objectives locally Manage department resources Manage Lifecycle artifacts Schedule SCM integrations and automated builds Test following construction Plan and manage releases Standardize deployments Monitor resources consistently Collaborate Dev/Ops informally Plan and source strategically Dashboard portfolio measures Monitor using business and end user context Centralize event notification and incident resolution Automate problem isolation and issue resolution Optimize to customer KPIs continuously Improve continuously with development intelligence Test Continuously Manage environments through automation Provide self-service build, provision and deploy Standardize and automate cross-enterprise Automate patterns-based provision and deploy Plan departmental releases and automate status Automated deployment with standard topologies Plan and Measure Development and Test Release and Deploy Monitor and Optimize Practiced Repeatable Reliable Scaled 43
Quality Improvement Agile Initiative Agile Initiative Agile Initiative: Heatmap based roadmap DevOps Maturity Model Nice to Have Not Necessary Important Critical Level of importance: Deployment Provisioning Release / Deploy Develop / Test Monitor / Optimize Monitoring Customer Feedback Code Test Strategy Requirements Change Management Dashboards/ Analytics Plan / Measure 44