10 Steps To Mainframe Agile Development - NEDB2UG

1y ago
22 Views
2 Downloads
2.61 MB
33 Pages
Last View : 21d ago
Last Download : 3m ago
Upload by : Gia Hauser
Transcription

10 Steps to Mainframe AgileDevelopmentMark Schettenhelm, Sr. Product ManagerSeptember 28, 20171

dev·ops noun \'dev-äps\“a term used to describe aframework/collection of best practicesand tools to deliver Systems faster andwith higher quality”22

The DevOps TransitionImproves QualityImprovesProductivity* if done correctly Instant feedback to developers on quality issuesAids unit test automation on every buildSupports Agile developmentPre-cursor to Continuous Delivery and DevOpsSuccessive practices build oneach other, with each practiceadding greater and greaterbusiness value and havinggreater scope over thesoftware developmentprocess.3

10 Steps to Mainframe Agile Development4

Step 1Define Desired StateCreate specific goals in terms of:AgilityEnables frequent, rightsized code changesto fulfill business needsConfidenceEnsures successful mainframe code changeswithout unintended consequencesEfficiencyMaximizes time and skills across dev,testing and opsEase of UseEmpowers mainframe-inexperienced developersto work on updates and enhancementsIntegrationConnects mainframe and non-mainframesystems to achieve DevOps5

Define Desired State Visualize what you want out of this Where you want to be Sample goals– One process– Reusable, easy to discover code– Data that is understood and available– Increased quality– Faster, more frequent delivery6

Step 2Modernize theMainframeDevelopmentEnvironment7

Modernize the Mainframe Development Environment Many still work as if it were 1980 Yes, you may be lightening quick in ISPF, but – Would new people be that proficient?– Can you use modern analysis and graphicaltools?– Could you be even faster in a graphicalinterface? I believe we are at that “Windows Moment”where there is enough, more than enough, tomove Having one interface for all code available meansthat you can work on multiple languages,platforms “Different only in syntax”8

Step 3AdoptAutomatedUnit Testing9

Adopt Automated Unit Testing But wait! If we go faster, quality goes out the window Well, yes, if you do it like you do today Testing is something we all want to do, should do, but don’t do well This could be the most important part in getting the process to speedup and actually improve quality, find defects faster, shift left Unit testing – testing small sections to make sure that section works Automated – do a build each night, run the tests, alert on failure, fixin the morning It is different from these– Regression testing – it didn’t break anything– Volume Stress testing – it can handle the load10

Step 4GainGraphical,IntuitiveVisibility intoExisting Codeand DataStructure11

Gain Graphical Visibility into Code and Data Structure Remember Flow charts? We did them in the beginning tounderstand logicHow do you understand logic today? New applications, applicationknowledge leaving, how can you be flexible and adaptapplications? You need ways to tear into yourapplications, your programs,your data Make decisions faster, withconfidence If you can’t understand it, youcan’t change it 12

Step 5Enable EarlierDetection ofApplicationQuality Issuesand EstablishQuality KPIs13

Enable Earlier Detection of Application Quality Issues andEstablish Quality KPIs You can’t improve what you can’t measure Saying quality is bad is not helpful Earlier Detection is key, code will always be tested, do you want ittested– By the end user– At the final go/no go test– Integration or Regression testing– Right after the nightly build so you can fix it in the morning– Right after you’ve committed the change14

Set up your DevOps tool chain If it is automated, itwill be done, if it’s not,it won’t be This is key to DevOps,the automation ofcommon repeatabletasks, with notification This is how you canspeed up, it frees youto focus on coding ANDyou increase quality15

Step 6InitialTraining inandadoptionof AgileProcesses16

Initial Training in and adoption of Agile Processes Adopting Agile Development goes hand and hand with adoptingDevOps My advice?– Get everyone trained first– Go all in! Don’t try it in one group for a few months – it shows lack ofcommitment– Have top down commitment – burn the bridges– Live with the pain, it will ease over time. There will be temporarydisruptions but benefits will start to build. Your end state will be better– Learn from the experiences of others, share successes– Continue to talk and to retrain– This is continuous improvement17

Step 7UseOperationalDataThroughout theDevelopment,Testing andProductionLifecycle18

Use Operational Data Throughout the Development,Testing and Production Lifecycle Using operational data in testing helps identify production-typeerrors earlier Operational tools foreshadow code issues Feedback loops are crucial as pre-production issue identificationand resolution avoids costly abends and potential app issues In short - knowing more about your code, sooner in the process, isa good thing19

Step 8Agile-enableCore SourceCodeManagementFunctions20

Agile-enable Core Source Code Management Functions You need your Source Code management to allow for concurrentdevelopment With a two week sprint, you can’t wait for the other person tofinish You need your Source Code management to fit into a DevOpspipeline – promote code, syntax check, compile, deploy to testenvironment, unit test, regression test It needs REST APIs to easily connect into your existing toolchains It can and should be on the mainframe to allow for platformdifferences and efficiency, but have a familiar modern interfaceand API connectivity with notification21

Step 9AutomatedIntelligentDeployment22

Is your deploy like this? Is it too large? Should you break it upinto more manageable pieces How many people are involved? Do you have insight into the entireprocess or is it siloed?23

Automated Intelligent Deployment Deployment is where the paybackbegins and is often where these effortsstart Right now you probably have twoseparate deploys, how can that work?How can it mesh? The Deploy can be platform specificand should be, but the orchestrationand control should be in one place Leverage REST APIs in your deploy toget distributed and mainframe deploytalking together24

Step 10Cross –PlatformContinuousDelivery25

26

This is about where the panic sets in, if it hasn’t already Relax, it can be done, it has been done Leverage your own experiences and those of others Break it into small, bite sized pieces I’ll say that again, break that into small bite sized pieces So you can “fail fast” and more importantly “learn fast” Each piece should deliver incremental value, you gain as you go27

Continuous Delivery Maturity MatrixBeginnerBuildTest ect build ifQuality standardsnot met whenbuild successful,run automatedtestCreate Testenvironment,Deploy, Test,then deleteEnvironmentAutomated APIdriven buildprocessNightlyBuildprocessAutomated Deploy AutomatedUnit TestExecution CodeCoverageMetrics anceTestMultipleDevelopmentLegs to allowconcurrentworkBuild status isnotified tocommitterCodereviewdrivenapprovalLatest buildstatus isavailable toallstakeholdersTestMetricsdrivenapprovalTrend reportsBuild statuscan besubscribed to(pull vs push)Sonar QubeAutomatedManagementof Test Datain TestEnvironmentsPromotionMetricspushed toDashboardMonitors inwork areasshow realtime statusAutomatedFunctionalTestingTraceability lyBuild reportsand statisticsare sharedwith internalcustomers28

Journey to the Desired StateStepToolsFocus and Goal Success Indicators32ModernizeMainframe DevEnvironment Eliminate need forgreen screen andhighly specializedknowledgeAll experiencelevels easily workon mainframe andnon-mainframedev, test andmaintenance tasksFile-AID, Xpediter,Topaz Workbench1. Empirical productivitymetrics (ex.Delivery cycletimes, etc.)2. Positive anecdotalfeedback3. Motivatenon-mainframedevs to work onmainframe-relatedactivities 4Adopt AutomatedUnit TestingGain Graphical, IntuitiveVisibility into Existing Codeand Data StructuresIncremental testingallows devs to quicklyand continuouslyadjust to better alignwith goals Reduce reliance onmanual testing Empower thosenot accustomed toworking this way tochange mentalityTopaz for Total TestLarge, complex,undocumentedmainframe apps impedetransformationHighly dependent ontribal knowledge of seniormainframe staff Prepare new devs toquickly “read” existingapp logic, programinter-dependenciesand data structures More frequentcode drops1.2.Fewer errors foundlater in lifecycle2.Tight synchronizationacross mainframeand non-mainframedev Mainframes power corebusiness processes withlow tolerance for error Increased possibility forhuman error as lessexperienced devs workon mainframe tasks Topaz for ProgramAnalysis and Topaz forEnterprise Data1.3.53.Devs workindependently onunfamiliar programsExperienced devsconfirm benefits ofprogram visualizationsMeasurements ofincrementalimprovementsin dev productivity6Enable Earlier Detectionof App Quality andEstablish Quality KPIsError rates forexperienced devs mayincrease as speed andfrequency increaseSonarLintand SonarQube1.2.3.Higher rates ofpre-compile errordetectionPositive trendsin qualityReduced number oferror-related cyclesInitial Training inand Adoption ofAgile Processes Now have dev environmentand teams in place Shifting to incrementalmodel allows teams tocollaborate Moving from waterfall toAgile presents significantchanges in culture Craft mainframe andAgile-experienceddevs to aid transitionAtlassian JIRA, HipChatand Confluence1.Certain percentageof dev/test staffcompletes Agile training(with goal 100%)2.First delivery of artifactsfrom initial Agile teams3.Discovery of obstaclesto broader adoptionEvidence of cross-teamcollaboration4.34

Journey to the Desired State Using operational data intesting helps identifyproduction-type errors earlier Operational tools foreshadowcode issues Feedback loops are crucialas pre-production issueidentification and resolutionavoids costly abends andpotential app issuesSuccess IndicatorsToolsFocus and GoalStep78Use Operational DataThroughout theDev/Test/Prod Lifecycle Abend-AID and StrobeModern, end-to-end AgileSCM, release and deploymentautomation enables all skilllevels to fulfill businessrequirements, optimizecode quality and improvedev productivityAutomated changemanagement eliminates manualsteps, empowering quickiteration through dev, test andQA Quickly and reliably gettingnew code into production iscrucial to keeping pace Automate and coordinatedeploy of all related devartifacts into all targetenvironments in highlysynchronized manner Including mainframein enterprise DevOpsis critical to achievingagility when changingmulti-platform apps tofulfill business needs Craft de-siloed environmentwhere mainframe can bequickly and appropriatelyaccessed to meet businessneeds by whichever staffresources are availablePinpoint deployment issuesimmediately, taking instantcorrective actionISPW Deploy1.Earlier detection of avoidableCPU consumption1.Different Agile teams workon different stories in parallel1.Faster rolloutsof compiled code2.Reduction in Abends inproduction2.Devs with all skill levels canquickly understand scope ofchanges before diving in2.Reduction in codepromotion failures3.Reduction in costper error measures3.First successfulautomated rollbackfrom failed deploymentReductions in codeapproval delaysCross-platformContinuous DeliveryAutomated,Intelligent DeploymentISPW SCM3.109Agile-enableCore Source CodeManagement FunctionsXebiaLabs XL Release1.Related code isworked on in parallelon multiple platforms2.Increased communicationsand collaboration betweenpreviously siloed devs withdifferent skill sets3.First successfullyautomated cross-platformrelease rollout35

Mainframe Inclusive DevOps ToolchainProject ManagementIdeationDevelopAgileProcessAnalyze CodeCode EditingVersion ControlReleaseValidate CodeDebug CodeContinuous IntegrationCode QualityTesting ToolsDeployEdit / Manage DataCode CoverageDevITSMMonitorDevQAProdManage39

tt50

2017 Compuware Corporation. All rights reserved.51

on mainframe and non-mainframe dev, test and maintenance tasks File-AID, Xpediter, Topaz Workbench 1. Empirical productivity metrics (ex. Delivery cycle times, etc.) 2. Positive anecdotal feedback 3. Motivate non-mainframe devs to work on mainframe-related activities Large, complex, undocumented mainframe apps impede transformation

Related Documents:

1. The need for an agile way of working 6 2. The need for an agile way of working 9 3. Agile Core Values - Agile Project Management Vs. 10 Agile Event Management 4. Agile principles 12 _Agile Principles of Agile Project Management 13 _Agile Principles of VOK DAMS Agile Event Management 14 5. Agile Methods 16 _Scrum in Short 16 _Kanban in Short 18

1.1 Purpose of the Agile Extension to the BABOK Guide1 1.2 What is Agile Business Analysis?2 1.3 Structure6 Chapter 2:The Agile Mindset 2.1 What is an Agile Mindset?7 2.2 The Agile Mindset, Methodologies, and Frameworks8 2.3 Applying the Agile Mindset9 2.4 Agile Extension and the Agile Ma

Agile Estimating and Planning by Mike Cohn Agile Game Development with Scrum by Clinton Keith Agile Product Ownership by Roman Pichler Agile Project Management with Scrum by Ken Schwaber Agile Retrospectives by Esther Derby and Diana Larsen Agile Testing: A Practical Guide for Testers and Agile Teams by Lisa Crispin and .

Agile World View "Agility" has manydimensions other than IT It ranges from leadership to technological agility Today's focus is on organizational & enterprise agility Agile Leaders Agile Organization Change Agile Acquisition & Contracting Agile Strategic Planning Agile Capability Analysis Agile Program Management Agile Tech.

applications. Mainframe transformation deals with options to move all applications off the mainframe. Mainframe-as-a-Service (MFaaS) supplements the modernization path, providing a pay-as-you-go (PAYG) business model. Those that do not plan to modernize consider outsourcing mainframe operations. These four quadrants help clients find the

Automated Sign-on for Mainframe enables an end user to automatically log on to a host application on a z/OS mainframe by using a terminal emulation client. Automated Sign-On for Mainframe is an add-on to Host Access Management and Security Server and requires a separate license. In this guide: How Automated Sign-on for Mainframe Works

The most popular agile methodologies include: extreme programming (XP), Scrum, Crystal, Dynamic Sys-tems Development (DSDM), Lean Development, and Feature Driven Development (FDD). All Agile methods share a common vision and core values of the Agile Manifesto. Agile Methods: Some well-known agile software development methods include: Agile .

Cambridge University Press 978-1-107-61383-6 — Cambridge Global English Stage 3 Activity Book Caroline Linse , Elly Schottman Excerpt More Information