Introduction To DevOps Training Slides - PIC.gov

Transcription

Introduction to DevOpsAgile Training SeriesSpring 2016

Course DescriptionCourse DescriptionThe simultaneous needs for IT to 1) deploy new features and 2) keep systems up and runningcreates a core conflict that challenges development, operations to the respond to businessneeds customers in a timely manner. DevOps represents practices, tools, and a culture thatseeks to resolve this core conflict by enabling operations and development engineers toparticipate together in the entire service life cycle, from design through the developmentprocess to production support. This class will explore these practices, tools, and culture usingGene Kim's "Three Ways of DevOps" as guideposts.Course Audience Newcomers to Agile and DevOps will find this class a welcoming environment to learn thebasics on the DevOps mindset, The Three Ways, automation pipelines, common DevOpssystems and tools, and continuous integration / continuous delivery (CI/CD) Operations Engineers will appreciate the class focus on using DevOps to effectivelymanage the large quantity and frequency of changes demanded in modern IT operationswhile keeping systems stable Agile Teams already developing software using agile methods will find this class to be alogical extension toward achieving synchronicity with operations and business using DevOps2

Learning GoalsTodayExperience the DevOps way of thinkingForm beliefs about how DevOps can work for youTomorrowIdentify actions for your projectWeeks/MonthsSee improved resultsCreate DevOps experiences for othersYearsIntroductionsWho are you?What are you working on?How do you plan to applyDevOps?Build a widespread DevOps Culture in our organization3

Let’s Review Our Progress with Agile So Far USCIS AgileProjects/PortfolioskanbanWhat results have we seen working this way?4

Let’s Review Our Progress with Agile So Far We applied the agile empirical mindset and agile methods and observedthese results: Early and continuous delivery ofvaluable software Rapid feedback Empirical decision-making Satisfied customers Business people and technicalpeople working together Measurement-based forecasting Harnessing change for competitiveadvantage Emergent design Technical excellence Empowered self-organizing teams Personal safety Sustainable pace High trust environments Lean processes Continuous improvementThe Agile Manifesto and the agile methods that followed focused on softwaredevelopment – DevOps is a logical evolution of a maturing agile process5

DevOps: Key Concepts6

The BasicsLeave class able to confidently answer these questions:Who is Dev? Who is Ops?What is DevOps?“The beginning of wisdomis the definition of terms”- Socrates7

Traditional DevelopmentThe Inventors Create new featuresand functionality in“dev” environment Occasionally delivernew product tooperators, along withinstructions May incorporatefeedback fromoperators in futuredeliveries Rewarded fordelivering newfeaturesThe inventors are responsible for changing the system8

Traditional OperationsThe Mechanics Receive new product fromdevelopers to be installed andoperated Expected to keep productionsystems up and running Track problems, deploymentfailures, and system outages May provide feedback to theinventors for future consideration Penalized for downtimeThe mechanics are responsible for keeping the system in operation9

Differing Views on ChangeHeroObstacleChange OrientationStability OrientationAlienate customers b/c systemconstantly changesAlienate customers b/c systemdoesn’t changeLogical extremes10

We Have A LOT of ChangesUSCIS needs to update IT capabilities to support field usersANDUSCIS needs to keep IT capabilities operational for use by field usersANDUSCIS needs to keep IT capabilities compliant with security, regulatory, andcompatibility requirementsCan wedeploy latestversion?Can youCan youdeploy thisdeploy thisone, smallone, smallCan weChange?CanChange?youdeploy newCan we applystage thispatch for thethis securityProd isnewrelease?patch? Can yourunning slow,Can youenvironment?can you cycledeploy this deploy thisCan youthe server?one, small one, smallCan youupgrade theProduction Change?Change? deploy thisdatabaseserver isone, smallversion?down, fix itCan youChange?now!!upgrade theoperatingsystem?USCIS applied over 4,000 changes in 2014

Separation of Dev and Ops: A HistoryAs computers became more complex, dev and opsbecame necessarily specialized: Accelerating pace of technology Increased demand for turning around new features Huge amounts of data and number of calculations More and more specialized tools Increasingly abstract architectures and designpatternsAugusta Ada King,Countess of Lovelace(1815-1852)And these were the problems in 1945!12Nobody can be an expert in everything – your enterprise can’t rely on Brent!

The Reunification of Dev Ops13

DevOps in a NutshellDevOps is the practice ofoperations and developmentengineers participating together inthe entire service lifecycle, fromdesign through the developmentprocess to production ng,Feedback, andActionHmm what wouldhappen if we extendthe core drivers ofsuccessful agiledevelopment tooperations?What if we built abunch of great tools tohelp us?14

Breaking the Silos:Communication, Collaboration, tegrationOperationsHow can dev help system stability? How can ops help accelerate featuredelivery?We can build cross-functional teams around “knowledge overlaps” – peoplewith experience on both sides and “Ops Devs”15

Breaking the Silos: Dev and OpsOps cananticipatehow newfunctionalitywill effectproductionDevelopmentDev can respondto bugs anddeploymentfailures quickly Ops trusts dev will provide goodcodeOperationsDev and Ops canwork together topermanentlyremove root causesof bugs and failures Dev trusts ops will put code inprod quickly Visibility enables “trust but verify”16

Dev and Ops Working Together Create feedback loops betweeninventors and mechanics Expose real-time metrics fromops enabling dev to learn fromthe system running under realworld conditions Expose real-time metrics fromdev enabling ops to anticipateproduction needs and provideearly input Cross-functional teamscollaborate to deliver wholeworking systems including allinfrastructure, software code, andconfigurationsFeature delivery stability become shared goals17

Matching IT Capacity to Business Demand18

Breaking the Silos:Communication, Collaboration, borationIntegrationBusiness19

Breaking the Silos: Dev, Ops, and BusinessDevelopmentOperationsDev can betterincorporateneeds of thebusiness andcustomers ity forchanges tofeatures andfunctionalityBusiness20

Breaking the Silos: Dev, Ops, and BusinessDevelopmentOperationsBusinessbetter understandsoperationalcapabilitiesOps understands better how tosupport business goalsBusiness21

Business Demand:Continuously Deliver Valuable SoftwareModern business is dependent on ITdeploying new featuresNeed very fast time-to-value in theface of change Immigration policy can changerapidly – IT capacity must keep up Immigration Executive ActionMultiyear lead time no longeracceptableExpectations for delivery timescontinue to decrease

Business Demand:Support Modern Norms of Customer InteractionSoftware is increasingly customerfacing, rather than internally-facingCustomers expect an interactive, selfservice interfaceCustomers expect deep, directengagement with their data, not a papersystemCustomers expect to be able to getinformation immediatelyCustomers can now identify problemsin our systems directly – and theyexpect us to fix them

Business Demand:Rapidly Incorporate Latest TechnologyModern web interfacesMobile devicesSocial mediaAccessibility toolsLive customer interaction toolsTools for online communities and user-generated contentAmazing new features

Business Demand: “Lean Bureaucracy”Supporting Government Values“Working in public”Governance – many, manystakeholdersTransparency in how we work“Presentability” of what we produceMission alignmentDOES14 - Mark SchwartzRisk aversionBaked in support of values such as: Contracting preferences Hiring fairness Procurement fairness25

Business Demand:Respond to Feedback Very QuicklySystem operations increasingly yields insights that must be actedimmediately to keep pace with demandAvailability of ubiquitous automated data collection yields expectationsthat organizations will rapidly act on key data points to improve efficiencyin mission and servicesWith so many routes to innovation, organizations are expected to test andidentify the best options very quicklyWell run companies are expected to maintain very low MTTR (mean-timeto repair) times – delays in fixing problems can be catastrophic

Beware!If you turn back fromthe journey now PainAhead! we won’t judge

The Not-Recommended, All-Too-Familiar,Pain-for-Everyone, To-Be-Avoided ApproachBusiness startsmissing commitmentsto the outside world,and then Business makes even more audaciouscommitments to catch up Developers see more and more urgentprojects coming in All effort is spent on features as opposed tonon-functional requirements More shortcuts, more technical debt, morefragilityThis approach preordainsus to failureCreates a permanentwedge between makingurgent business changesand maintaining stabilityWorking here is a majordrag Deployments become more difficult – whattook a weekend now takes 3 days! We try to fix this by doing less deployments,increasing batch size More moving parts, more failures we are28consumed by unplanned work

Results: Puppet Labs State of DevOps 2014 Report Scientific study of relationship between organizational performance, ITperformance, and DevOps practices 9200 respondents representing 110 countriesFindings DevOps adoption is accelerating High-performing IT organizations deploy code 30times more frequently with 50% fewer failures Strong IT performance is a competitive advantage DevOps improves IT performance Organizational culture matters Job satisfaction is the No. 1 predictor of organizationalperformanceHigh performing companies are good at getting better –nobody starts out high performing29

The Three Ways of DevOps by Gene KimThe Three Ways describe the values thatframe the processes of DevOps and theyprovide prescriptive steps3rd WayCulture of continual experimentationUnderstanding that mastery requirespractice2nd WayCreating feedbackloops1st WayEmphasize entire systemperformance versus a specificsilo of work

DevOps: The First Way31

The First Way: Systems ThinkingUse systems thinking to ensurework always flows forward“Work moving backwards, or standing still, is almost always indicative ofproblems that need to be solved, and will span people, process andtechnology.” –Gene Kim32

What is a silo, really?Disconnection from other peopleNo shared contextDifferent managementBarriers build upDifferent incentivesDifferent objectivesBad handoffsLack of understandingLack of empathy“The nature of a large, complex organization is to fall out of alignment33without deliberate effort – inertia pulls it apart” –Damon Edwards

The First Way:Understand the Flow of Work Work starts with a description of featuresneeded by the business Work ends with the stable, secure andreliable delivery of services to the customer Additional sources of work: IT finds defects Help desk fields incident reports Security raises compliancerequirements Enterprise architecture initiatives e.g.single sign-on Visualize work Measure the flow of work (cycle time, leadtime, wait times) Think about software production as a value stream similar to amanufacturing value stream34

Organizations are Complex SystemsHuman complex systemCommunication patternsLocationsWork stylesPersonalitiesRoles and responsibilitiesSkill setsTechnology complex systemProgramming nsOne complex system working on another complex system35

The First Way:Always Seek to Increase Flow Reduce work in progress (WIP) Reduce batch size of deliveries Reduce variation in size of work items Make policies explicit Eliminate inventory andother waste Maintain a steady,sustainable paceDeliver often – and get really good at it36

The First Way:Optimize Flow Globally, Not Locally Focus on interactions between parts of the system Build controls into the system Local efficiencies are good, but should never jeopardize global goals Avoid tribal warfare! Know your bottlenecks and elevate them The bottleneck is the lever of control for speed of flow through your processUpstreamQueues tobe servicedBottleneckFlow isrestrictedDownstreamStarved offull flow37

The First Way:Never Consciously Pass Defects Downstream Create quality at the source Make rework visible Understand the origination point of defects in order to avoid recurrence“This is legacy code, I’ll just makethe change for my story, I don’thave time to fix the rest of this”“That issue is a doozy leaveit to fix in the hardening sprint”“Just push this feature over to thetesters it’s their job to finddefects, right?”“Call the story done. We knowthere are still a few problems sojust open up some defectsagainst it”38

The First Way:The System of Profound KnowledgeOrganizations are systems of interrelated processes and peoplewhich form the system’s componentsComponents of the system must reinforce, not compete witheach other to accomplish the aim of the systemWorkers’ success of depends on managing the balance betweeneach component to optimize the systemUnderstand businessgoals – how value isachievedUnderstand people,processes, andtechnologiesUnderstand risksand risk controlsUnderstand cause and effectMake informed decisionsbased on rich, accurate,and timely informationTeach the organizationhow to fix and regulateitself39

The First Way:Bringing It All TogetherDevBusinessWhat is the minimumviable product?Is it profitable?Do we have thecapability to build itand maintain it?End UsersOps40

DevOps: The First Way – PracticesCommunicationCollaborationIntegration41

DevOps Practice:Deploy Shippable HIPPABLE CODEAND SHIPPABLEENVIRONMENTTraditionally, dev is responsible for applications while ops is responsiblefor environmentsIn DevOps, we use a single repository for everything –functional code, testcode, environment configurations, and tool configurations42

DevOps Practice:Infrastructure as Code“Programmable infrastructure”“Fully automated configurationmanagement”Code to automate provisioningCode to manage configurations43

DevOps Practice:One Step Environment sion and configure environments at thetouch of a buttonMake production-like environments availableearly in the dev processBuild code & environment at the same timeCreate a common dev, testing, and prodenvironment creation processEveryone uses a consistent environment44

DevOps Practice:The Daily BuildCommunicationCollaborationIntegration “Heartbeat of the project” and “clean room every day” Rebuild every line of code from scratch – be able to reconstitute thesystem from “bare metal” Run all the tests! Check all dependencies Verify no defects introduced yesterday Build all versions Automate with Continuous Integration (CI) server45

DevOps Practice:Deploy Early, Often, and QuicklyCommunicationCollaborationIntegrationSmall deployments mean Fast deployments mean more deployments mean easier46deployments mean lower cycle times means faster time to market

DevOps Practice:Classify Ops Work by Four ically allocating time to the 4 types enables all the work to getdone and becomes routineBusiness ProjectsInternal IT ProjectsTypes ofworkChangesUnplanned WorkExercise: Classify real USCIS work according to thefour types47

Doing DevOps at USCIS – First Way Understand and measure your flow of work using visualizations such as aKanban board and value stream map Use a single USCIS repository for source code, test code, and environmentconfiguration scripts Builds done by automated, script-driven retrieval of source code by aContinuous Integration (CI) server Frequent deployments – no less than every two weeks Consistent record of successful deployments Baked in accessibility and security compliance – no compliance work flowingbackwardsWhat is the concept of a “Team-Managed Deployment” at USCIS?48

DevOps: The Second Way49

The Second Way: Amplify Feedback Loops Shorten and amplify “right to left” feedback loops Use feedback to create even higher quality at thesource Create and embed knowledge where it is needed toprovide immediate feedback Understand needs of all customers, internal andexternal, and respond to their feedback50The goal of any process improvement is to shorten and amplify feedback loops

The Second Way:Shorten and Amplify Feedback LoopsCommitTest BuildDevelopManual testeroverloaded dueto end of sprint10 steps to getfeedback & VERY longdelayOperationsProduct BacklogEnd UsersProduct Owner/Value TeamTriageIssue TrackerHelp Desk51

The Second Way:Shorten and Amplify Feedback Loops (cont)CommitTest Build5 steps to getfeedbackDevelopManual TestIssue Tracker52

The Second Way:Shorten and Amplify Feedback Loops (cont) Most users won’t call some may just quit being customers Many defects remain latent for a long time By the time defects come back, dev forgets how the code worksCommit4 Steps to getfeedback – automatedand quick!Test BuildDevelopFailedAutomated Test53

The Second Way:Use Feedback to Create Quality at the Source Development is the source of quality – or problems As applications evolve, changes must not negatively impact end userexperiences Developers need access to deep diagnostics so they can incorporatelatest operational concerns and understand impact of their changesBrowser performance metricsApplication response timesServer usagePerformance data by technologycomponentRuntime code diagnostics includingdatabase queriesTraces from slow transactions thatsuggest performance bottlenecks indistributed applicationsService-oriented architecture issuesspanning multiple application tiersCorrelation of application responsetimes on end-user satisfaction levels

The Second Way:Create and Embed KnowledgeCommunicationCollaborationIntegration Ops and Security: Become part of the agile process – especially planning and prioritization Provide recommendations and requirements as new code developed Ensure relevant metrics are monitored early in the dev process Dev participates in incident handling to acquire knowledge to prevent futureproblems: Incident escalation Root cause analyses Post-mortems Ops receives cross trainingby dev and security Extend agile practices to allteams Visible work Open meetings Working agreements Explicit policies55

The Second Way:Respond to Needs of All Customers Use a service model for both internal and external customers Agile encouraged dev and test to focus on customer collaboration with businessstakeholders and end users DevOps extends the service model to Dev and Ops treating each other ascustomersCustomerServiceProviderChange OrientationStability Orientation56

DevOps: The Second Way - PracticesCommunicationCollaborationIntegration57

DevOps Practice:Deployment AutomationCommunicationCollaborationIntegration Problems in deployment procedure will be found quickly and can bepermanently eliminated Runs fast “smoke test” to ensure system is running as expected Built-in automatic rollback and/or redeploy Build confidence through frequent repetition – the prospect ofdeployments and rollback no longer instill fear Create a virtuous cycle of successful deployments, smallerdeployments, and lower risk58

DevOps Practice:Operations itoring gives us continuous, live feedback about how the system is running“Tell me what is happening before the phone rings”User Feedback ApproachMonitored ApproachField user callsAutomatic alert about a problem whenit happensMultiple people callMonitoring tools show me howwidespread the problem isUsers can’t tell me the real source ofthe problemI can see which component of theapplication is generating errors59

Operations Monitoring – Needs and ChallengesMonitoring Challenges Operators typically responsible for numerous applications Environments can be complex with unique or complicated applicationstacks Visibility into different components can be vague or non-existent Quantity of logged data can be overwhelming Combining monitoring tools into a single view that provides insightMonitoring Needs Active production monitoring, not just reacting to downtime Easily monitor critical areas of application stability with minimal tooling Tune dashboard to display key database, network, server, andapplication performance measurements in a holistic view Ability to quickly share potential performance issues with your team60

DevOps Practice:Operations Monitoring borationIntegrationApplicationPerformanceIndex Timings (drill downcapability to codelevel, transactionlevel)Alerts

CommunicationDevOps Practice:Operations Monitoring Drives Dev & Ops PrioritiesCollaborationIntegration

DevOps Practice:Prioritize Fixing Production tize fixing defects very fast Assume incidents will occur Ensure ops feedback will comeback rapidly Ensure developers will get the infothey need to fix the problem Add automated tests to ensureproblem cannot reoccur Get really good at fixing defects63very fast

DevOps Practice:Reusable Ops and Security User StoriesUser StoryAs security I want cross-sitescripting attacks prevented so thataccess controls cannot bebypassedEstimate5 pointsPriority1 (High)Acceptance CriteriaOn back Verify all input is filtered aspotentially malicious Verify all output of the page isencoded to the explicitly definedcharacter set Verify output is sanitized by escapingdynamic content to properly enforceseparation of code and dataCommunicationCollaborationIntegrationUser StoryAs an ops engineer Iwant to monitor how many peopleare listening to audio feeds so Ican tune playback quality duringspikes in demandEstimate3 pointsPriority2 (Med)Acceptance CriteriaOn back Verify the count of active audiosessions is displayed in theapplication’s admin dashboard Verify the count is accurate asplayback sessions are added orcompleted64

DevOps Practice:Dev & Ops Common Communication SystemCommunicationCollaborationIntegrationRemove all barriers to internal communication, collaboration, andintegration Use common, intuitive dashboards combining information from all groups Key operational metrics Visible dev, ops, and security workflow (e.g. Kanban boards) List of recent and upcoming system changes Stability of the system Security status Schedules, planned release dates, and critical business dates Integrated alert policies Common internal note system – histories of defects and incidents can bevery useful Shared wikis, file repositories, chat spaces, specs, and documentation65

DevOps Practice:Track Dev & Ops Business ImpactCommunicationCollaborationIntegration MTTR – Mean Time To Repair – How long is the system down? MTBF – Mean Time Between Failures – How often is the system down?USCIS Example:Key Performance Parameter (KPP)Service AgreementLow ThresholdObjectiveActualReliability – uninterrupted correctfunction641 hours712 hours739 hoursExceeded ObjectiveAvailability – 24/7 operations97.63 %98.88%99.32%Exceeded ObjectiveMaintainability – prompt restorationof service after outageNo more than 10 hoursNo more than 8 hours5 hoursExceeded Objective

Doing DevOps at USCIS – Second Way Demonstrated information integration and collaboration between dev, ops,security, and business Partial or completely automated deployment – rapid, reliable, testable,repeatable Operational Monitoring Plan – preferably a dashboard Defined business impact measurements and thresholdsSee Team-Managed Deployment Management Instruction for more information67

Automating anIntegrated DevOpsSystem

Systems to Make SoftwareCommunicationSystemMonitoringSystem A good method of enabling DevOpsis to simply begin connecting andautomation the systems you use tomake software. DeploySystemRDocumentationSystemUl Start where you areIdentify possibleinterconnectionsResearch tools to automateCreate future state roadmapLet pipeline emergeContinue to improve thesequence of connections assystems change IssueTrackingi VersionControl(CM) AaRequirementsBuildSystemTest SystemCodeReviewSystem69

Version ControlCommunicationSystemMonitoringSystemUl Version rol(CM)Ensures you’re working on the rightversion of somethinga IssueTrackingAi RequirementsBuildSystemTest SystemCodeReviewSystem70

Requirements SystemUCommunicationSystemMonitoringSysteml Requirements ol(CM)Houses project requirements in aprioritized list and allows for itemallocation to sprint/team member;Allows for traceability ofdependencies between storiesa IssueTrackingAi RequirementsBuildSystemTest SystemCodeReviewSystem71

Build SystemCommunicationSystemMonitoringSystemUl Build ol(CM)Software tools designed toautomate the process of programcompilation to create adeployable packagea IssueTrackingAi RequirementsBuildSystemTest SystemCodeReviewSystem72

Test SystemUCommunicationSystemMonitoringSysteml VersionControl(CM) RequirementsTest SystemDeploySystemorchestrated set of tests, bothmanual and automated thatensure the functionality andaccuracy of codeRDocumentationSystema IssueTrackingAi BuildSystemTest SystemCodeReviewSystem73

Code Review SystemCommunicationSystemMonitoringSystemUl VersionControl(CM) RequirementsCode Review SystemDeploySystemEnsures that code complies withstandards and identifies low levelbugs and coding errors; Identifiesdesign and requirementscomplianceRDocumentationSystema IssueTrackingAi BuildSystemTest SystemCodeReviewSystem74

Issue Tracking SystemUCommunicationSystemMonitoringSysteml VersionControl(CM) RequirementsIssue Tracking SystemDeploySystemRDocumentationSystemCollects issues throughout thecycle of the project and trackthem through completiona IssueTrackingAi BuildSystemTest SystemCodeReviewSystem75

Documentation SystemCommunicationSystemMonitoringSystemUl VersionControl(CM) RequirementsDocumentation SystemDeploySystemRDocumentationSystemRepository of system informationthroughout the lifecyclea IssueTrackingAi BuildSystemTest SystemCodeReviewSystem76

Deploy SystemCommunicationSystemMonitoringSystemUl VersionControl(CM) RequirementsDeploy SystemDeploySystemRDocumentationSystemInstalls and configures thepackage created by the buildsystem into appropriateenvironmentsa IssueTrackingAi BuildSystemTest SystemCodeReviewSystem77

MonitoringCommunicationSystemMonitoringSystemUl VersionControl(CM) RequirementsMonitoring SystemDeploySystemRDocumentationSystemCollects current-state data todetermine health of allenvironmentsa IssueTrackingAi BuildSystemTest SystemCodeReviewSystem78

Communication SystemUCommunicationSystemMonitoringSysteml VersionControl(CM) RequirementsCommunication SystemDeploySystemRDocumentationSystemMethod for conveying informationbetween systemsa IssueTrackingAi BuildSystemTest SystemCodeReviewSystem79

Automate All the loySystemUl ARDocumentationSystemVersionControl(CM)a IssueTrackingi RequirementsBuildSystemTest SystemCodeReviewSystem80

Orchestrating Integration with a Pipeline

PipelinesA Pipeline is a chain of tasks that can be automatedUser CommitsMerge codeBuildUnittest/coverageCode ReviewLog IssuesDeploy Integration tools use pipelines to perform tasks repetitively andcontinuously The process is called Continuous Integration (CI) Pipelines keep work flowing forward in our DevOps system82

We Need Something to Integrate the SystemsCommunicationSystemMonitoringSystemlU VersionControl(CM) umentationSystema IssueTrackingi BuildSystemTest SystemCodeReviewSystem83

Development Pipeline ExampleCommunicationSystemMonitoringSystemlU VersionControl(CM) umentationSystema IssueTrackingi BuildSystemTest SystemCodeReviewSystem84

Development Pipeline Example with IntegrationSystemCommit codeCommunicationSystemMonitoringSystemlU VersionControl(CM) Code iscommitted stemInitiate nga IssueTrackingi Test SystemCodeReviewSystem85

Pipeline StagesContinuous IntegrationCode DoneUnit TestsAutoIntegrateAutoContinuous DeliveryCode DoneUnit TestsAutoAcceptanceTestingIntegrateAutoAutoDeploy toProductionManualContinuous DeploymentCode DoneUnit TestsAutoAcceptanceTestingIntegrateAutoAutoDeploy toProductionAuto86

CI Pipeline ExampleCI PipelineCommitCompile CodeCompile CodeCode QualityGates AppliedFunctionalTestsIntegrationgateCompile CodeIf Successful,Merge withIntegrationBranchMerge withMasterFortify ScansMasterSmoke TestsIf Successful,Merge withStagingIntegrationLegacy Feature(LF)Staging gateStagingCommitCM RepositoryNew Feature(NF)Build gateRelease ispackagedCommitBad ssSTOP87

Using a CI/

The Agile Manifesto and the agile methods that followed focused on software development – DevOps is a logical evolution of a maturing agile process Emergent design Technical excellence Empowered self-organizing teams Personal safety Sustainable pace High