how to write programs that will last forever future proofing your applications darren self 25...

26
How to Write Programs That Will Last Forever Future proofing your applications Darren Self 25 October 2011

Post on 19-Dec-2015

220 views

Category:

Documents


3 download

TRANSCRIPT

Page 1: How to Write Programs That Will Last Forever Future proofing your applications Darren Self 25 October 2011

How to Write Programs That Will Last Forever

Future proofing your applications

Darren Self25 October 2011

Page 2: How to Write Programs That Will Last Forever Future proofing your applications Darren Self 25 October 2011

2

Space is big...

Page 3: How to Write Programs That Will Last Forever Future proofing your applications Darren Self 25 October 2011

3

Enterprise Application Facts - Size

~200 Million lines of code

Page 4: How to Write Programs That Will Last Forever Future proofing your applications Darren Self 25 October 2011

4

• 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 – Scale of COBOL source

Page 5: How to Write Programs That Will Last Forever Future proofing your applications Darren Self 25 October 2011

5

EA Facts – Run the Business

Retail Banking

Life Insurance/LoansTrading

Billing

Supply Chain

CRMCC Processing

Business Intelligence

Page 6: How to Write Programs That Will Last Forever Future proofing your applications Darren Self 25 October 2011

6

• Original architects and programmers moved on– Redundancy– Retirement

• Hard to train skills– Platform– Corporate standards

• Often undocumented– Ingrained knowledge

EA Facts – Diminishing Skills

Page 7: How to Write Programs That Will Last Forever Future proofing your applications Darren Self 25 October 2011

7

EA Facts – Poor understanding

Page 8: How to Write Programs That Will Last Forever Future proofing your applications Darren Self 25 October 2011

9

• Technical– Platforms/technology evolutions

• Web• Mobile• Cloud

– The Y2K problem

• Business priorities– Mergers & acquisitions– Emerging markets

• Legislative– Sarbanes-Oxley– FRS17

What drives change?

Page 9: How to Write Programs That Will Last Forever Future proofing your applications Darren Self 25 October 2011

10

• 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

Options for change

Page 10: How to Write Programs That Will Last Forever Future proofing your applications Darren Self 25 October 2011

11

• 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

The risks

Outright Project (Failure)

Exceeded estimate by over 50% (very late)

Exceeded initial estimate (late)

ERP Implementation Risk Factor

Source: Gartner Group

42% never delivered

or very late

Package: 42% chance of failure or excessive delaysRe-write: 74% chance of failure or excessive delays

Page 11: How to Write Programs That Will Last Forever Future proofing your applications Darren Self 25 October 2011

12

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

Case Study – Hershey Foods

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

Page 12: How to Write Programs That Will Last Forever Future proofing your applications Darren Self 25 October 2011

13

• 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

Hershey Foods – What happened?

Source: CIO Magazine, June 1, 2000; “Top 10 Corporate Information Technology Failures”

Page 13: How to Write Programs That Will Last Forever Future proofing your applications Darren Self 25 October 2011

14

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

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 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

Page 14: How to Write Programs That Will Last Forever Future proofing your applications Darren Self 25 October 2011

15

• 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

UK Passport Agency – What happened?

Source: CIO Magazine, Aug. 1, 2000

Page 15: How to Write Programs That Will Last Forever Future proofing your applications Darren Self 25 October 2011

16

• User Interfaces • Platform Modernisation • Globalisation• Service Oriented Architecture• The Web• Mobile Access• The Cloud

Evolutions we’ve seen...

Page 16: How to Write Programs That Will Last Forever Future proofing your applications Darren Self 25 October 2011

17

Case Study – History of the ATM

No screensLimited functionality

Page 17: How to Write Programs That Will Last Forever Future proofing your applications Darren Self 25 October 2011

18

Case Study – History of the ATM

Buttons alongside the screen

Page 18: How to Write Programs That Will Last Forever Future proofing your applications Darren Self 25 October 2011

19

Case Study – History of the ATM

Touch screens & palm scanners

Page 19: How to Write Programs That Will Last Forever Future proofing your applications Darren Self 25 October 2011

20

What runs these systems?

Case Study – History of the ATM

Standard desktop OS’s

Page 20: How to Write Programs That Will Last Forever Future proofing your applications Darren Self 25 October 2011

21

• Hardware– Connectivity – Security– Robustness– Accessibility

• User expectations– Real time access– Full range of financial services– Convenience

Case Study - ATM Reasons for change

Page 21: How to Write Programs That Will Last Forever Future proofing your applications Darren Self 25 October 2011

22

• User Interfaces change• Back end services remain constant

– Modular– Extendable– Flexible– Robust– Secure

Case Study – ATM UI Considerations

Page 22: How to Write Programs That Will Last Forever Future proofing your applications Darren Self 25 October 2011

23

• Modular design– Easier to extend– Well defined interfaces/contracts– Reusable– Flexible

Everlasting programs - 1

Page 23: How to Write Programs That Will Last Forever Future proofing your applications Darren Self 25 October 2011

24

• Quality– Well documented– Clean design– Automated tests

• Unit• Integration• Graphical

– Processes• Source control• Build & delivery• Continuous integration

Everlasting programs - 2

Page 24: How to Write Programs That Will Last Forever Future proofing your applications Darren Self 25 October 2011

25

• Maintainability– Readable– Keep it simple– Don’t make assumptions– Design patterns

Everlasting programs - 3

Page 25: How to Write Programs That Will Last Forever Future proofing your applications Darren Self 25 October 2011

26

• Enterprise Applications are important– Underpin businesses– Run the world!

• Software evolves– Evaluate the options– Beware the risks

• Design for re-use– Maintainability– Simplicity– Modularity

Conclusions

Page 26: How to Write Programs That Will Last Forever Future proofing your applications Darren Self 25 October 2011

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.