SlideShare a Scribd company logo
A Story About Dinosaur 

   Called Mainframe 

 and a Small Fly Agile
                           Zuzi Sochova
   Eda Kunce
                           sochova.com
    kunce.net
                            @zuzuzka       @ekunce




                       Experienced Report
                       Learn by Examples
Imagine a MAINFRAME
Imagine a MAINFRAME

 Once, long time ago, there was a very old dinosaur living on
 the planet Earth. Big yet invisible to most, living in the dark
  places full of cold, dust and cables; surrounded by several
groups of faithful - very specialized software teams, the only
ones who truly understood him. But the life on the planet Earth
had never been steady and recently spinning faster and faster
 around, so it happen that even this group had to be changed
 and follow the fast changing business environment outside,
        unless they all die. And here our story begins.
GREEN screen menu
After logon
ISPF Screen Panel
The CODE
How did we start?


Discover top 5 problems we were
            facing.
               


Can agile work for mainframes?
Huge. 14 millions lines, no documentation.
    No classes or clear structure. Full of macros and
 optimization trick instructions for segmentation, paging,
                  memory management.
  No coding standard, no understanding. All we know is
                   hidden in memories.
 25 year old code. Refactored and migrated many times.


#1: Legacy Code
Team is sharing knowhow. Boost learning.
              Sit together in one room.
    Involve team in the decisions and processes.
    Implement pair programming. Rotate the pairs.




#1: Legacy Code
Source code repository (SCLM), missing collaboration,
             merging, and branching support.
  Almost no test automation, no way to generate tests, no
              unit test assembler framework.
            Debugging based on system dumps.
                             

                             

#2: Lack of Tools
We found no good solution to 30+ years old test.
  Spent 2 man-years creating clear test strategy in QC
                   and stabilize tests.
   Automate few tests by selenium based framework.
      Improve communication and planning to limit
                     dependencies.



#2: Lack of Tools
Complex and hard to understand current code base needs hours
                         of research. 
Memory management and risk of extensive redesign because of
                        paging problem.
 Lack of experience - estimation of US and breaking into tasks
                        by just experts.
Growing gap between generation of experienced and newcomers.


   #3: Estimates
Plan significant time every sprint to Backlog Grooming
  to understand User Stories before Sprint planning.
    Initial release estimates done by T-shirt sizes.
 Story points used for Sprint plan when team already
                understand the scope.



#3: Estimates
User Stories are often very intangible for the team. Hard
           to match solution to business case.
Customers don't understand the environmental specifics
such as lower flexibility as an exchange of high reliability.
Reluctant to adopt new releases. Every minute of system
            downtime cost millions of dollars.



#4: Customer
In addition to the Product Owner role, we must create a
              Product Owner Proxy role.
                            

           We found out the best practice is:
    Every year new release to testing environment.
   Every 4 months create PSI to get fast feedback.
   Deliver final production releases every 1-3 years.


#4: Customer
Extremely slow learning. 3-5 years to learn basics of
mainframe development and administration, in five years
             of intensive work still junior.
Original generation who started to design mainframes is
                    slowly retiring.
      Universities are rarely teaching mainframes. 
The community is small, problems are unique. The given
          solutions are usually not applicable.

   #5: Team
Learn as a team. Focus on experience sharing. Fast.
Connect team to Product Owners and customers.
 Make sure they are in daily contact with business
          through Product Owner Proxy.
Engage team in finding solution to solve their unique
            problems. Do retrospectives.



 #5: Team
Result

   Significant improvement in team learning and experience
       sharing area. We setup teams 30% faster now. 
                    Team health improved.
We have high quality as before, but we are fixing bugs earlier.
            Customer satisfaction improved a lot.
         The amount of functionality remains same.
We improved testing a bit, automated some tests and addresed
              the missing testing strategy issue.
Summary

  Agile is flexible enough to embrace even mainframe environment.
    Agile adoption was beneficial to both customers and teams.
                                 

  Build good team, rely on experienced engineers more. Tailor the
process and practices. Use pair programming. Build on retrospective.
    Connect business through strong Product Owner Proxy role.
Thanks to
http://www.youtube.com/watch?v=tu8mDGb2TQ8
http://www.frs.uconn.edu/focus/MENU/running.html
http://mainframesvista.blogspot.com/
http://www.les-smith.com/software/assembler/independent-code.htm






                     Zuzi Sochova
                 Eda Kunce
                     sochova.com
                  kunce.net
                      @zuzuzka                     @ekunce




                       Blog: tulming.com 
        Agile Prague Conference – September 3-5, 2012 -
                        agilprague.com

More Related Content

PDF
Deliver every two days
PDF
Patterns for the People
PDF
W jax wenn-code altert
PDF
7 Things: How to make good teams great
PDF
Need forbuildspeed agile2012
PDF
Distributed agile in the enterprise and virtual spaces 2012-08-16
PDF
Easily mockingdependenciesinc++ 2
PDF
Top100summit 高楼-7点测试-zee-性能测试案例分享
Deliver every two days
Patterns for the People
W jax wenn-code altert
7 Things: How to make good teams great
Need forbuildspeed agile2012
Distributed agile in the enterprise and virtual spaces 2012-08-16
Easily mockingdependenciesinc++ 2
Top100summit 高楼-7点测试-zee-性能测试案例分享

Viewers also liked (13)

PDF
Top100summit 于辰涛-联想乐云平台
PDF
How much will this project.cost.r1
PDF
Top100summit 跨平台自動化測試與工具 徐翔智
PPT
3 secure design principles
PDF
Exploring ux practices 4 product development agile2012
PDF
Process affordances-workshop
PDF
Innovation
PPT
8 sql injection
PDF
Shared vision
PDF
Kanban pizza game all included
PDF
Modeling, simulation & data mining agile 2012 (magennis & maccherone)
PDF
Cracking bigrocks agile2012-20120812
PDF
Beyond the agile mindset agile 2012
Top100summit 于辰涛-联想乐云平台
How much will this project.cost.r1
Top100summit 跨平台自動化測試與工具 徐翔智
3 secure design principles
Exploring ux practices 4 product development agile2012
Process affordances-workshop
Innovation
8 sql injection
Shared vision
Kanban pizza game all included
Modeling, simulation & data mining agile 2012 (magennis & maccherone)
Cracking bigrocks agile2012-20120812
Beyond the agile mindset agile 2012
Ad

Similar to Mainframes agile2012 (20)

PPTX
Testaus 2014 -seminaari: Arto Kiiskinen, Mirasys Oy. Case Mirasys: Toiminnoil...
PDF
Testers in an agile world
PPTX
Technologies for startup
PDF
Scrum an extension pattern language for hyperproductive software development
PDF
Architecting a Large Software Project - Lessons Learned
PPTX
Agile_SDLC_Node.js@Paypal_ppt
PDF
[DPE Summit] How Improving the Testing Experience Goes Beyond Quality: A Deve...
PDF
Agile leadership practices for PIONEERS
PPT
An Introduction To Agile Development
PPT
Scrum And The Enterprise
PPTX
Chapter 2 Time boxing & agile models
PDF
Hacking Primavera P6 - Creative Solutions to Common Problems From the Primave...
PDF
SRE Topics with Charity Majors and Liz Fong-Jones of Honeycomb
DOCX
Week 4 Assignment - Software Development PlanScenario-Your team has be.docx
PPTX
ITARC15 Workshop - Architecting a Large Software Project - Lessons Learned
PDF
Hybrid model for software development
PDF
PDF
PPT
Agile Manifesto & XP
PPTX
Being an Agile Tester
Testaus 2014 -seminaari: Arto Kiiskinen, Mirasys Oy. Case Mirasys: Toiminnoil...
Testers in an agile world
Technologies for startup
Scrum an extension pattern language for hyperproductive software development
Architecting a Large Software Project - Lessons Learned
Agile_SDLC_Node.js@Paypal_ppt
[DPE Summit] How Improving the Testing Experience Goes Beyond Quality: A Deve...
Agile leadership practices for PIONEERS
An Introduction To Agile Development
Scrum And The Enterprise
Chapter 2 Time boxing & agile models
Hacking Primavera P6 - Creative Solutions to Common Problems From the Primave...
SRE Topics with Charity Majors and Liz Fong-Jones of Honeycomb
Week 4 Assignment - Software Development PlanScenario-Your team has be.docx
ITARC15 Workshop - Architecting a Large Software Project - Lessons Learned
Hybrid model for software development
Agile Manifesto & XP
Being an Agile Tester
Ad

More from drewz lin (20)

PPTX
Web security-–-everything-we-know-is-wrong-eoin-keary
PDF
Via forensics appsecusa-nov-2013
PPTX
Phu appsec13
PPTX
Owasp2013 johannesullrich
PDF
Owasp advanced mobile-application-code-review-techniques-v0.2
PPTX
I mas appsecusa-nov13-v2
PDF
Defeating xss-and-xsrf-with-my faces-frameworks-steve-wolf
ODP
Csrf not-all-defenses-are-created-equal
PPTX
Chuck willis-owaspbwa-beyond-1.0-app secusa-2013-11-21
PPTX
Appsec usa roberthansen
PDF
Appsec usa2013 js_libinsecurity_stefanodipaola
PPT
Appsec2013 presentation-dickson final-with_all_final_edits
PPTX
Appsec2013 presentation
PPTX
Appsec 2013-krehel-ondrej-forensic-investigations-of-web-exploitations
PPTX
Appsec2013 assurance tagging-robert martin
PPTX
Amol scadaowasp
PPTX
Agile sdlc-v1.1-owasp-app sec-usa
PPTX
Vulnex app secusa2013
PDF
基于虚拟化技术的分布式软件测试框架
PPTX
新浪微博稳定性经验谈
Web security-–-everything-we-know-is-wrong-eoin-keary
Via forensics appsecusa-nov-2013
Phu appsec13
Owasp2013 johannesullrich
Owasp advanced mobile-application-code-review-techniques-v0.2
I mas appsecusa-nov13-v2
Defeating xss-and-xsrf-with-my faces-frameworks-steve-wolf
Csrf not-all-defenses-are-created-equal
Chuck willis-owaspbwa-beyond-1.0-app secusa-2013-11-21
Appsec usa roberthansen
Appsec usa2013 js_libinsecurity_stefanodipaola
Appsec2013 presentation-dickson final-with_all_final_edits
Appsec2013 presentation
Appsec 2013-krehel-ondrej-forensic-investigations-of-web-exploitations
Appsec2013 assurance tagging-robert martin
Amol scadaowasp
Agile sdlc-v1.1-owasp-app sec-usa
Vulnex app secusa2013
基于虚拟化技术的分布式软件测试框架
新浪微博稳定性经验谈

Mainframes agile2012

  • 1. A Story About Dinosaur 
 Called Mainframe 
 and a Small Fly Agile Zuzi Sochova Eda Kunce sochova.com kunce.net @zuzuzka @ekunce Experienced Report Learn by Examples
  • 3. Imagine a MAINFRAME Once, long time ago, there was a very old dinosaur living on the planet Earth. Big yet invisible to most, living in the dark places full of cold, dust and cables; surrounded by several groups of faithful - very specialized software teams, the only ones who truly understood him. But the life on the planet Earth had never been steady and recently spinning faster and faster around, so it happen that even this group had to be changed and follow the fast changing business environment outside, unless they all die. And here our story begins.
  • 8. How did we start? Discover top 5 problems we were facing. Can agile work for mainframes?
  • 9. Huge. 14 millions lines, no documentation. No classes or clear structure. Full of macros and optimization trick instructions for segmentation, paging, memory management. No coding standard, no understanding. All we know is hidden in memories. 25 year old code. Refactored and migrated many times. #1: Legacy Code
  • 10. Team is sharing knowhow. Boost learning. Sit together in one room. Involve team in the decisions and processes. Implement pair programming. Rotate the pairs. #1: Legacy Code
  • 11. Source code repository (SCLM), missing collaboration, merging, and branching support. Almost no test automation, no way to generate tests, no unit test assembler framework. Debugging based on system dumps. #2: Lack of Tools
  • 12. We found no good solution to 30+ years old test. Spent 2 man-years creating clear test strategy in QC and stabilize tests. Automate few tests by selenium based framework. Improve communication and planning to limit dependencies. #2: Lack of Tools
  • 13. Complex and hard to understand current code base needs hours of research. Memory management and risk of extensive redesign because of paging problem. Lack of experience - estimation of US and breaking into tasks by just experts. Growing gap between generation of experienced and newcomers. #3: Estimates
  • 14. Plan significant time every sprint to Backlog Grooming to understand User Stories before Sprint planning. Initial release estimates done by T-shirt sizes. Story points used for Sprint plan when team already understand the scope. #3: Estimates
  • 15. User Stories are often very intangible for the team. Hard to match solution to business case. Customers don't understand the environmental specifics such as lower flexibility as an exchange of high reliability. Reluctant to adopt new releases. Every minute of system downtime cost millions of dollars. #4: Customer
  • 16. In addition to the Product Owner role, we must create a Product Owner Proxy role. We found out the best practice is: Every year new release to testing environment. Every 4 months create PSI to get fast feedback. Deliver final production releases every 1-3 years. #4: Customer
  • 17. Extremely slow learning. 3-5 years to learn basics of mainframe development and administration, in five years of intensive work still junior. Original generation who started to design mainframes is slowly retiring. Universities are rarely teaching mainframes. The community is small, problems are unique. The given solutions are usually not applicable. #5: Team
  • 18. Learn as a team. Focus on experience sharing. Fast. Connect team to Product Owners and customers. Make sure they are in daily contact with business through Product Owner Proxy. Engage team in finding solution to solve their unique problems. Do retrospectives. #5: Team
  • 19. Result Significant improvement in team learning and experience sharing area. We setup teams 30% faster now. Team health improved. We have high quality as before, but we are fixing bugs earlier. Customer satisfaction improved a lot. The amount of functionality remains same. We improved testing a bit, automated some tests and addresed the missing testing strategy issue.
  • 20. Summary Agile is flexible enough to embrace even mainframe environment. Agile adoption was beneficial to both customers and teams. Build good team, rely on experienced engineers more. Tailor the process and practices. Use pair programming. Build on retrospective. Connect business through strong Product Owner Proxy role.