November 2015 Agile Development on System Z Flemming Petersen DevOps for Enterprise Systems, IBM Systems Nordic
Agenda Development on the mainframe is sometimes perceived as old and slow. We think this is wrong, but many organization do experience that mainframe development is a bottleneck in the overall delivery lifecycle So why is it so? Can we learn the dinosaur to dance? DevOps for Enterprise Systems will address this, but how to get there? 2015 IBM Corporation 2
Disruptive Buzz Fun facts Just 10 years ago. How would your bank give you peer to peer mobile payments? Or would your search engine? Would one of the largest providers of accommodation, be providing hotel rooms? Or private homes? Would there be an app for anything? Or would you play Snake on your Ericsson or Nokia phone? Source: Wikipedia. The Forbes Global 2000 is an annual ranking of the top 2000 public companies in the world by Forbes magazine. The ranking is based on a mix of four metrics: sales, profit, assets and market value. The list has been published since 2003. 2015 IBM Corporation 3
How does it affect mainframe developer Rapid iterations Systems of Engagement Plan Develop Build Test Deploy Production Applications and teams move at variable speed Alignment Continuous synchronization and planning Continuous testing Continuous deployment and monitoring Slower iterations Systems of Record Plan Develop Build Test Deploy Production 2015 IBM Corporation 4
So are you up for learning new tricks? It is not just a matter of getting an editor which is faster than ISPF It is about changing our practices to adopt new tricks (become agile), so we can deliver business functionality to the market faster - Adopt to Agile - Planning - SCM - Rethink your mainframe testing - Environments - Automation 2015 IBM Corporation 5
IBM s DevOps approach Lean & Agile are at the heart of IBM s DevOps approach Key concept: MVP: Minimum Viable Product LEAN Reduce work Eliminate bottlenecks & waste Efficiency AGILE Fast response times Small batch sizes Continuous feedback Effectiveness 2015 IBM Corporation 6
Continuous Business Planning Evolution to Continuous Delivery DevOps is based on Agile Principles Continuous User Feedback & Optimization Operate Plan DevOps Continuous Feedback Develop/ Test Collaborative Development LEAN Continuous Monitoring Deploy Continuous Testing Continuous Release and Deployment Develop Build Deploy Test Provision 2015 IBM Corporation 7
The Shift Left Solution Test in small incremental batches Build Test UAT App B I/F Build Test UAT Integrated Pre-prod Production App A I/F Build Test UAT App C Status 2015 IBM Corporation 8
What does this mean for the mainframe?
Rational Asset Analyzer for Application Understanding and Impact Analysis Modern Mainframe Development Implement a modern Development Workbench is still a good idea Team Concert for Agile planning and Source Management Rational Developer for System Z as the modern IDE for productive development of cross-platform applications written in COBOL, PL/I, HLASM, Java, EGL or C/C++ in System z CICS, IMS, DB2, Batch applications Graphical access to typical System z sub-system functionality in z/os, CICS, IMS, DB2, WAS Integration with PD-Tools Fault Analyzer File Manager Debug Tool 2015 IBM Corporation 10
Lack of reliable and flexible test environments cause serialization o Dev/Test not stable as many projects are developing at the same time o Dev/Test data is of poor quality Product Account Customer o o o o To perform a consistent test, SystemTest is booked for projects Only 1 project can be in the pipeline - Or we accept poor quality SystemTest - And automated test is very hard Serialization Dev/Test SystemTest Prod 2015 IBM Corporation 11
Rational Development and Test Environment (RD&T) for IBM System z Reduce System z development costs with off host development and test RDz "RD&T provides us with the ability to try development approaches that may introduce instability to our normal environment with none of the associated risks. It provides an environment where we can quickly start a new project without waiting for setup delays inherent in our day-to-day processes. ad RDz & ISPF 2015 IBM Corporation 12
Deploy what is ready, virtualize the rest Push button deployments to test or production Test Environments Virtual components Continuously test in production-like env. Integrated with Databases Mainframe Third-party Services Deploy what is ready, virtualize the rest Dev QA Simultaneously test across multiple test stages Dynamic Infrastructure z/os application testing on emulated z System hardware 2015 IBM Corporation 13
UrbanCode Deploy Integrate Systems of Engagement with Systems of Record Rational Developer for System Z SCM IBM UrbanCode Deploy for z/os ISPF Green Screen Standardize on a single tool to manage and orchestrate heterogeneous application deployments Manage configurations and automatically provision environments for faster testing and promotion of changes Improve visibility and control of what is deployed where with the ability rollback to any prior version at ease Remove dependency on rigid and error prone release and deployment processes RD&T Test Environment IBM Rational Test Workbench 2015 IBM Corporation 14
A few examples in action Editor, navigation, Cobol rules Click here for video Testing and Code Coverage Click here for video 2015 IBM Corporation 15
What s New in DevOps for Enterprise Systems? New Compilers to optimize performance on z13 Rational Test Workbench 8.7 Enterprise COBOL for z/os V5.2, Enterprise PL/I for z/os v4.5, z/os XL C/C++ V2R1M1, XL C/C++ for Linux on z Systems V1.1 Rational Developer on z Improvements in zunit Automated Unit Testing Framework for z/os with Headless code review and code coverage With integrated Debugger, Multiple users can run and debug the same CICS transaction on the same region at the same time Rational Development & Test Exploit added zenterprise capability (Parallel Sysplex) New, flexible licensing to support automated testing and variable usage patterns Virtualize DB2 on z and PL/1 support UrbanCode Deploy Simplified z/os application deployment by providing OOTB support to automate JCL submission and monitoring Plugins for CICS, DB2, and IMS to enable use of predefined actions/steps during the deployment process Rational Team Concert New component history, change history views, and new search command to find strings in native ISPF Upgraded integration with UC RTC for z customers to generate deployment packages for UC Secure Managed Cloud Services RD&T and CLM 2015 IBM Corporation 16
So how could we do this on the mainframe? Modernize the Developer Workbench Get very flexible test environments, which can be used by projects for small scale testing off the mainframe Virtualize backend/3 rd party services, so we can test without access to everything Get better test data management, or virtualize your database with mockup data Run small scale tests of modules (with zunit) and Components (with Rational Test Workbench) Until we have complete coverage of automated test scripts, use RDz Code Coverage to help the developers perform just enough testing. 2015 IBM Corporation 17
Revitalize Skills! Use modern tools for multiplatform development Boost developer productivity Systems of Engagement Standardize on common Eclipse-based IDEs for all types of development Refactor and extend back-end services and data for optimal mobile experience Use code coverage, code governance, and unit test support for improved quality Leverage rich program understanding and control flow analysis for onboarding Exploit fully integrated source level debugger for increased productivity Interactive debugging of your applications Root cause analysis of your application failures (abends) Systems of Record Collaborative Development Management of your application data Performance analysis of your applications Quality assurance of your applications 2015 IBM Corporation 18
November 2015 Agile Development on System Z Flemming Petersen DevOps for Enterprise Systems, IBM Systems Nordic