How to Write Programs That Will Last Forever Future proofing your applications Darren Self 25 October 2011 Space is big... 2 Enterprise Application Facts - Size 3 EA Facts – Scale of COBOL source • Over 310 billion lines of code in use • 1.5 million new lines written per day • 200 times more transactions each day than Google – 500 million cell phone connections per day – 60 million patient records per day – Up to 18,000 ATM transactions per minute in the UK alone 4 EA Facts – Run the Business 5 EA Facts – Diminishing Skills • Original architects and programmers moved on – Redundancy – Retirement • Hard to train skills – Platform – Corporate standards • Often undocumented – Ingrained knowledge 6 EA Facts – Poor understanding 7 What drives change? • Technical – Platforms/technology evolutions • Web • Mobile • Cloud – The Y2K problem • Business priorities – Mergers & acquisitions – Emerging markets • Legislative – Sarbanes-Oxley – FRS17 9 Options for change • Do nothing – Stagnation – High costs of maintenance – Often not a viable option • Buy off shelf – Doesn’t always meet business needs – 40% cancelled before going live – Often require substantial tailoring/integration • Rewrite – High risk/cost – 75% failure rate • Reuse 10 The risks ERP Implementation Risk Factor • Implementing new packages takes years – 42% either never delivered, or more than 50% late (source: Gartner Group) – Package projects: years to implement, canceled 35% of the time & rarely fully deployed 42% never delivered or very late (source: Standish Group) • Most large AD projects never deliver on promise – 74% either fail, or are late and over-budget • Deactivating legacy systems is almost impossible Source: Gartner Group Outright Project (Failure) Exceeded estimate by over 50% (very late) Exceeded initial estimate (late) Package: 42% chance of failure or excessive delays Re-write: 74% chance of failure or excessive delays 11 Case Study – Hershey Foods Magnitude of Failure • • • • Market Reaction Sales fell 12% in qtr after system went live, down 150.5 million from year before 3rd qtr profits dropped about 18.5% Retailers and distributors forced to order from rivals Candy sat in warehouses on eve of peak season • • Analysts estimated Hershey could lose .5% market share ($65 million) During a booming stock market, Hershey shares ended the year down 27% from the year high “Retail sales lagged the industry’s growth rate as a result of our shipping problems.” Kenneth L. Wolfe, Chairman, Hershey Foods Sources: USA Today, Dec. 7, 1999; CIO Magazine, June 1, 2000; Business Week Online, Sept. 2001; www.thespot4sap.com; “Top 10 Corporate Information Technology Failures”; Hershey Foods 2000 Annual Report 12 Hershey Foods – What happened? • • • • • Candy sat in warehouses where previously it sat in shops Issue caused by massive distribution problems following flawed implementation of a $112 million package ERP system Inaccurate inventory data (+ other problems) caused shipment delays, incomplete orders during second half of 1999 Seriously affected shipments to stores in peak Halloween and preChristmas sales periods After investing millions, things that used to worked stopped working, resulting in financial catastrophe Source: CIO Magazine, June 1, 2000; “Top 10 Corporate Information Technology Failures” 13 Case Study – UK Passport Agency Magnitude of Failure • • • • • Impact $180 million on a new passport system Processing costs up by 30% per passport Additional staff hired to handle the backlog Compensation paid to thwarted travellers New law rushed in: free 2-year passport extensions • • • Processing time increased 4 fold, from 10 days to 8 weeks Over 1 million telephone calls unanswered in 1 month alone Lack of service forced travellers to line up outside passport offices demanding passports “Senior government ministers were forced to make lengthy explanations in the House of Commons... Home Secretary Jack Straw promised to move ‘heaven and earth’ to get a passport to a woman for her honeymoon.” Source: CIO Magazine, Aug. 1, 2000 14 UK Passport Agency – What happened? • • • • • • Passports which previously were being processed on time sat unprocessed Cause was due to new system not being able to provide the throughput to process passports in appropriate timescales Backlog of unprocessed passports reached 538,000, 1000s of vacations jeopardized A PR nightmare -- thousands of angry travellers who lined up in rain forced agency to purchase umbrellas Officials prioritized people into “urgent”, “non-urgent” and “awfully urgent indeed, old chap” categories After investing millions, things that used to worked stopped working, resulting in financial catastrophe Source: CIO Magazine, Aug. 1, 2000 15 Evolutions we’ve seen... • • • • • • • User Interfaces Platform Modernisation Globalisation Service Oriented Architecture The Web Mobile Access The Cloud 16 Case Study – History of the ATM No screens Limited functionality 17 Case Study – History of the ATM Buttons alongside the screen 18 Case Study – History of the ATM Touch screens & palm scanners 19 Case Study – History of the ATM What runs these systems? Standard desktop OS’s 20 Case Study - ATM Reasons for change • Hardware – – – – Connectivity Security Robustness Accessibility • User expectations – Real time access – Full range of financial services – Convenience 21 Case Study – ATM UI Considerations • User Interfaces change • Back end services remain constant – – – – – Modular Extendable Flexible Robust Secure 22 Everlasting programs - 1 • Modular design – – – – Easier to extend Well defined interfaces/contracts Reusable Flexible 23 Everlasting programs - 2 • Quality – Well documented – Clean design – Automated tests • Unit • Integration • Graphical – Processes • Source control • Build & delivery • Continuous integration 24 Everlasting programs - 3 • Maintainability – – – – Readable Keep it simple Don’t make assumptions Design patterns 25 Conclusions • Enterprise Applications are important – Underpin businesses – Run the world! • Software evolves – Evaluate the options – Beware the risks • Design for re-use – Maintainability – Simplicity – Modularity 26 Essay Topic Reflect on the challenges encountered and strategies employed when long-lived Enterprise Applications are exposed for re-use in new environments such as the Cloud, the Web and mobile devices. You may want to consider such areas as interfacing to the existing Enterprise Application, accessing data, real-time and/or concurrent access, testing strategies and usability.