How to get started with DevOps

  • Published on
    11-Apr-2017

  • View
    106

  • Download
    0

Transcript

PowerPoint PresentationHow to get started in DevOpsPractical advice on your DevOps Transformationin 82 slides in 45 minuteswww.devopsguys.com | Phone: 0800 368 7378 | e-mail: team@devopsguys.com | 2017#2AgendaDevOps 101 re-capGetting started with DevOps9 Steps to DevOpsQ&A#DevOps in 4 slides in 2 minutesJust so were all on the same page about this DevOps thing Start the clock!#4A set of patterns, practices and behaviours that are correlated with high-performing IT teams.DevOps Defined #1#5 DevOps = Continuous Delivery + OperabilityAgile Software Development + Continuous Integration + Test Automation +Release Automation= Continuous DeliveryDevOps = Agile ++OperabilityScalabilityDeployabilityResilienceMonitoringAlertingDisaster RecoverySupportabilityMaintainability+#Continuous DeliveryOur highest priority is to satisfy the customer through early and continuous delivery of valuable software#Remember those two words for later 7The DevOps CALMS modelCultureAutomationLeanMeasurementSharing#8How to get started in DevOpsPart 1 Shift your Mindset to Systems Thinking#Gene Kims 3 Ways of DevOps#The BusinessI.T.#Stop talking about Business versus IT like youre two separate countries. Our colleagues in SalesOur Colleagues in MarketingOr better Sally our product owner from Finance, or Dave our product owner from Merchandising11DevOps#Systems ThinkingSocietyCustomerBusinessI.T.DevOps#BusinessDepartmentTeamYouValuesPoliciesProceduresBehavioursCultureThe way things are done around here#This isnt an easy TransformationFromKey Success FactorToCommand & ControlManagement StyleAutonomousConservativeAttitude to ChangeExperimentalSiloOrganisation StructureCollaborativeProject-focussedDelivery FocusProduct-centricWaterfallDelivery ModelIterative (Agile)Large (Huge)Batch sizeSmallest possibleMonolithicSystems ArchitectureLoosely coupledProprietaryTechnologyOpen (Source)ManualProcessesAutomated#15How to get started in DevOpsPart 2 Build the Foundations#9 Steps To DevOps#MakeWorkVisible#MeasureWhatsImportant#ActOnFeedback#IdentifyTheGoal#BeAgile#DeliverContinuously#BuildTrust#AlignToValue#OptimiseForFlow#3 Foundational Practices #MakeWorkVisible #MeasureWhatsImportant #ActOnFeedback##MakeWorkVisible#https://communitiesinnature.wordpress.com/2012/04/10/our-gantt-chart-is-finished-westonbirt-arboretums-hidden-voices-project/XA Gannt Chart is NOT visualising work#https://leankit.com/learn/kanban/kanban-board-examples-for-development-and-operations/A KANBAN Board *IS* Visualising Work#To DoSome Stuff to DoReadyStuff Ready to ActionIn-ProgressThis is what Im doing right now! DoneDone and signed off by everyone.Done Done.Sticky Label Design " Copyright Showeet.com"And itll be done when its done So stop bugging me for status updates and go check the board#http://www.thebeardly.com/2011/08/measuring-shirt.html#MeasureWhatsImportant#4 Most Commonly Cited DevOps MetricsDeployment FrequencyMTTR Mean Time to RecoverChange Failure RateLead Time & Process Time2016 State of DevOps Report | presented by Puppet + DORAWait TimeProcess TimeLead Time (Start to Finish)#Goodharts LawWhen a measure becomes a target, it ceases to be a good measure.If a measurement cant be used to improve the system (via feedback) then its useless Steves Corollaryhttps://en.wikipedia.org/wiki/Goodhart%27s_law#3 Levels of MeasurementCustomer Satisfaction measure what matters to them (and not what you THINK matters to them)Capability internal capability measures aligned to customer demandsProcess measuring the value stream of processes that create that capabilityThe Vanguard Guide to Using Measures for Performance Improvement (2001)#Example of metricsCustomer NeedCustomer MeasureCapability MetricProcess MetricsFeatures delivered quickly% Feature delivered as agreedAverage Lead Time% availability of Test environments% of re-work requiredMonthly cloud hosting spend##ActOnFeedback#Gene Kims 3 Ways of DevOps#Feedback loops game29Involve everybody in the feedback processHint: Invite Ops to the retrospectives, sprint planning and backlog grooming.#Work in cross-functional teamsDiscuss how to improve the process at every retrospective30#5 Practical Ways to #ActOnFeedbackEnsure Operability requirements have equal weight as Functional requirementsUse Pull Requests & Code Reviews they are a quick and effective feedback loop!Have regular retrospectives create tickets to track your retro actionsTrack Technical Debt and set a debt ceiling new work stops when the Tech Debt ceiling is exceededReserve 20% of effort for process improvement#Feed the waste snake#Write a post-itDescribe something you consider to be wastefulAdd it to the snake at the end of the chainDiscuss in the retrospective33#How many times per day is the Andon Cord pulled in a typical day at a Toyota manufacturing plant?HT to @RealGeneKim for this example!#That is producing 2000 cars a day (so more than 1 a minute) (1440 minutes a day)353,500 times per day#Why would Toyota do something so disruptive as stopping the production line thousands of times per day?And when the supervisor comes over the first thing he says to the worker is Thank You thank you for your commitment to quality and thank you for the opportunity to learn how to improve! Is the only way we can build 2,000 vehicles per day thats one every 55 secondsAt a level of quality otherwise were producing 2000 sh*t vehicles that need re-work! 36Should Toyota increase or decrease this number? #Is this a good metric?Metrics without context need to be treated with care.37How to get started in DevOpsPart 2 Change how we work#3 Working Practices #IdentifyTheGoal #BeAgile #DeliveryContinuously##IdentifyTheGoal#Not having a goal is like driving blind40#Sprint2 weeks618Month2 sprintsAspirational(60%)Quarter3 monthsAnnual12 months12312Vision#Sprint2 weeks618Month2 sprintsAspirational(60%)Quarter3 monthsAnnual12 months12312Positive(70%)VisionObjectives#Sprint2 weeks618Month2 sprintsAspirational(60%)Quarter3 monthsAnnual12 months12312Positive(70%)Considered(80%)VisionObjectivesPlan#Sprint2 weeks618Month2 sprintsAspirational(60%)Quarter3 monthsAnnual12 months12312Positive(70%)Considered(80%)Confident(95%)VisionPlanTasksObjectives#Success is not checking a box.Success is having an impact.If you complete all tasks and nothing ever gets better, that's not success. Christina Wodtke, OKR Coach#46#BeAgilehttps://s-media-cache-ak0.pinimg.com/originals/a5/1f/30/a51f3037feaab79713a0df591f0988a8.gif##BeAgilehttp://cubiclebot.com/wp-content/uploads/2012/10/1.gif#ScrumLeanKanbanXPDSDMSAFeX#Scrum is popularImage source: State of Agile Survey, 2015X#50Daily Stand-UpsRetrospectivesBurndownsVelocityIteration PlanningStory MappingPlanning PokerX#The Agile ManifestoIndividuals and interactions over processes and toolsWorking software over comprehensive documentationCustomer collaboration over contract negotiationResponding to change over following a plan#5 Lean Principles (Womack & Jones) Specify what creates value from the customers perspectiveIdentify all steps across the whole value streamMake those actions that create value flowOnly make what is pulled by the customer just-in-timeStrive for perfection by continually removing successive layers of wasteLean Thinking (Womack and Jones, 1996)#Being Agile Delivers ResultsImage source: State of Agile Survey, 2015##DeliverContinuously55TIME#Key concept is to shorten the cycle times as much as possible. 56Continuous DeliveryFrequent Release EventsWaterfallRare Release EventsSmoother EffortLess RiskEffort PeaksHigh RiskTimeTimeChangeChange#Its very common to see person-years of effort in a release. Which would you rather debug a small, single feature change or person-years worth a stuff dumped on your at once (MTTR reduction is the goal too). 57Gene Kims 3 Ways of DevOpsAutomation is importantComprehensive, fast and reliable test and deployment automationTrunk-based development & continuous integrationApplication code and app and system configuration all in version controlTogether, the factors on the left model Continuous Delivery which leads toLower levels of deployment painHigher levels of IT performance (higher throughput & stability)Lower change fail ratesHigher levels of org performance (productivity, market share, profitability)https://papers.ssrn.com/sol3/papers.cfm?abstract_id=2681909#https://xebialabs.com/periodic-table-of-devops-tools/##61How to get started in DevOpsPart 3 Change our Organisation#Culture > Strategy3 Organisational Practices #BuildTrust #AlignToValue #OptimiseFlow##BuildTrustHighest predictor of performanceThe Study of Information Flow: A Personal Journey; Westrum, Ron#Pathologicalorganisations are characterized by large amounts of fear and threat. People often hoard information or withhold it for political reasons, or distort it to make themselves look better.Bureaucraticorganisations protect departments. Those in the department want to maintain their turf, insist on their own rules, and generally do things by the book their book.Generativeorganisations focus on the mission. How do we accomplish our goal? Everything is subordinated to good performance, to doing what we are supposed to do66How well do you identify with?On my team, information is actively sought.On my team, failures are learning opportunities, and messengers of them are not punished.On my team, responsibilities are shared.On my team, cross-functional collaboration is encouraged and rewarded.On my team, failure causes enquiry.On my team, new ideas are welcomed.##AlignToValuehttp://www.reactiongifs.com/r/conga-line.gif#www.devopsguys.comPhone: 0800 368 7378 | e-mail: team@devopsguys.com@TheDevMgrOrganizationRoles TeamsCadenceTaxonomyPlanPracticesAlignmentAutonomyLets try to give our teams three things. Autonomy, Mastery, Purpose#BugsAlignmentEvery team and business tracks scenarios and features consistently.AutonomyEvery team chooses how to manage stories and/or tasks##OptimiseFlow##73James Smith (JS) - double logo in the bottom corner!Any optimisation not made at the constraint is an illusionThe Phoenix Project#Throughput is profitable, efficiency is not The Goal#Deployment Lead Time PredictsAbility for Dev and Ops to share a common source of truthEffectiveness of our automated testing in the deployment pipelineAbility to quickly deploy into production without causing chaos and disruptionAbility to detect and correct problems through monitoringAbility for Dev and Ops to work together in a way that is win / winHow quickly developers can get feedback on their work Testing, deploying, production outcomes, customer outcomes#Thousands of teams +Micro services Architecture +Continuous Delivery= 50 million deployments/year136K deploys/day#Amazon model is massively inefficient77How to get started in DevOpsPart 4 Summary#9 10 Steps To Getting Started in DevOps0. #SystemsThinking#MakeWorkVisible#MeasureWhatsImportant#ActOnFeedback#IdentifyTheGoal#BeAgile#DeliverContinuously#BuildTrust#AlignToValue#OptimiseForFlow9 Steps To Getting Started in DevOps#Questions?#DevOps SolutionsDevOps Coaching Workshops & TrainingDevOps Engineering Application Lifecyle AutomationDevOps ConsultancyDevOps, Agile & Cloud Strategyccelerateducateransform#81Contacts Redgate Database DevOps Team databasedevops@red-gate.comDevOpsGuysteam@devopsguys.com #