260 likes | 333 Views
How to Write Programs That Will Last Forever Future proofing your applications. Darren Self. Space is big. Enterprise Application Facts - Size. ~200 Million lines of code. EA Facts – Scale of COBOL source. Over 310 billion lines of code in use 1.5 million new lines written per day
E N D
How to Write Programs That Will Last ForeverFuture proofing your applications Darren Self
Enterprise Application Facts - Size ~200 Million lines of code
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
EA Facts – Run the Business Retail Banking Business Intelligence Supply Chain Life Insurance/Loans Trading CC Processing CRM Billing
EA Facts – Diminishing Skills • Original architects and programmers moved on • Redundancy • Retirement • Hard to train skills • Platform • Corporate standards • Often undocumented • Ingrained knowledge
What drives change? • Technical • Platforms/technology evolutions • Web • Mobile • Cloud • The Y2K problem • Business priorities • Mergers & acquisitions • Emerging markets • Legislative • Sarbanes-Oxley • FRS17
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
42% never delivered or very late Outright Project (Failure) Exceeded estimate by over 50% (very late) Exceeded initial estimate (late) 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 (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 Package: 42% chance of failure or excessive delays Re-write: 74% chance of failure or excessive delays
Case Study – Hershey Foods Magnitude of Failure • 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 Market Reaction • 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
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 pre-Christmas 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”
Case Study – UK Passport Agency • Impact • 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 travellersto line up outside passport offices demanding passports Magnitude of Failure • $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 “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
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
Evolutions we’ve seen... • User Interfaces • Platform Modernisation • Globalisation • Service Oriented Architecture • The Web • Mobile Access • The Cloud
Case Study – History of the ATM No screens Limited functionality
Case Study – History of the ATM Buttons alongside the screen
Case Study – History of the ATM Touch screens & palm scanners
Case Study – History of the ATM What runs these systems? Standard desktop OS’s
Case Study - ATM Reasons for change • Hardware • Connectivity • Security • Robustness • Accessibility • User expectations • Real time access • Full range of financial services • Convenience
Case Study – ATM UI Considerations • User Interfaces change • Back end services remain constant • Modular • Extendable • Flexible • Robust • Secure
Everlasting programs - 1 • Modular design • Easier to extend • Well defined interfaces/contracts • Reusable • Flexible
Everlasting programs - 2 • Quality • Well documented • Clean design • Automated tests • Unit • Integration • Graphical • Processes • Source control • Build & delivery • Continuous integration
Everlasting programs - 3 • Maintainability • Readable • Keep it simple • Don’t make assumptions • Design patterns
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
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.