This document discusses strategies for faster software delivery through DevOps practices. It outlines barriers to DevOps like organizational culture and lack of strategy. It then details DevOps practices for different stages of the development lifecycle from development and architecture to testing, release and operations. These practices aim to provide business value through faster delivery, quality, cost reduction and competitive advantage.
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0 ratings0% found this document useful (0 votes)
80 views
Beyond Automation Web Seminar Slides
This document discusses strategies for faster software delivery through DevOps practices. It outlines barriers to DevOps like organizational culture and lack of strategy. It then details DevOps practices for different stages of the development lifecycle from development and architecture to testing, release and operations. These practices aim to provide business value through faster delivery, quality, cost reduction and competitive advantage.
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 25
Beyond Automation
A strategy for faster software delivery
2 The DevOps Pipeline 3 A Clear Line of Sight to Business Value Building the right products Faster time to market Responding quickly to change Encouraging Innovation Increased Quality Reduced cost Competitive advantage Understanding business problems 4 Barriers to DevOps Organizational culture Business Risk Poorly Defined Processes Expertise and skill sets Lack of a DevOps strategy Lack of business support Time, Funding and Resources The Agile-Waterfall Mismatch Frequent agile iterations flowing into low frequency waterfall release schedules The Automation is a silver bullet fallacy If you automate a bad process you just end up doing bad things faster... 5 Development DevOps Practices 6 Development DevOps Practices 7 Architecture DevOps Practices 8 Architecture DevOps Practices 9 Provisioning DevOps Practices 10 Provisioning DevOps Practices 11 Data and Services DevOps Practices Virtualize databases to accelerate provisioning Virtualize services to accelerate development Put all database scripts in version control Put all schema patches in source control Put all data scripts in source control Put virtualized service data in version control Apply Database changes incrementally Support On-demand provisioning Create and manage DaaS templates 12 Data and Services DevOps Practices 13 QA DevOps Practices Put all test scripts in source control Put all test cases in a repository Conduct Continuous integration tests Conduct Continuous functional tests Conduct Continuous performance tests Isolate test data and roll back updates Publish a QA dashboard Link tests to code requirements Link defects to code changes 14 QA DevOps Practices 15 Release DevOps Practices 16 Release DevOps Practices 17 Operations DevOps Practices Implement real-time application monitoring tools Communica te all application changes Communica te all configuratio n changes Publish application monitoring dashboards Centralize application logging to a repository Lock down all test and prod envs Link all changes to work items Incorporate operation concerns 18 Operations DevOps Practices 19 General DevOps Practices 20 References
Continuous Delivery Reliable Software Releases through Build, Test, and Deployment Automation by Jez Humble and David Farley
Extreme Programming Explained by Kent Beck and Cynthia Andres
Continuous Integration Improving Software Quality and Reducing Risk by Paul M. Duvall 21 Q&A Questions 22 APPENDIX 23 ALM Capabilities 24 Definition Term Definition ALM Application Lifecycle Mamagement (ALM) is a methodology that provides a standard framework and Workflow for developing and delivering software that can be consistently applied
DevOps DevOps is a software development method that stresses communication, collaboration and integration between software developers and IT Methodology
A software development methodology is a framework that is used to structure, plan, and control the process of developing an information system. Common methodologies include waterfall, prototyping, iterative and incremental development, etc. A methodology can also include aspects of the development environment (i.e. IDEs), model- based development, computer aided software development, and the utilization of particular frameworks (i.e. programming libraries or other tools).
25 Definition Term Definition Patterns A pattern, such as a design pattern, is a template. The elements of a pattern repeat in a predictable manner
http://en.wikipedia.org/wiki/Pattern http://en.wikipedia.org/wiki/Design_Pattern Practice Practice is the act of rehearsing a behavior over and over, or engaging in an activity again and again, for the purpose of improving or mastering it, as in the phrase "practice makes perfect".
http://en.wikipedia.org/wiki/Practice_(learning_method) Technique A systematic way of obtaining a desired material or outcome.