26
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

  • Upload
    sue

  • View
    15

  • Download
    2

Embed Size (px)

DESCRIPTION

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 - PowerPoint PPT Presentation

Citation preview

Page 1: How to Write Programs That Will Last Forever Future proofing your applications

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

2

Space is big...

Page 3: How to Write Programs That Will Last Forever Future proofing your applications

3

Enterprise Application Facts - Size

~200 Million lines of code

Page 4: How to Write Programs That Will Last Forever Future proofing your applications

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

5

EA Facts – Run the BusinessRetail 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

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

7

EA Facts – Poor understanding

Page 8: How to Write Programs That Will Last Forever Future proofing your applications

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

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

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

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

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

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

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

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

17

Case Study – History of the ATM

No screensLimited functionality

Page 17: How to Write Programs That Will Last Forever Future proofing your applications

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

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

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

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

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

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

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

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

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

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.