Your SlideShare is downloading. ×
0
Petit Humane Assessment,
with Delphi
Diego Lont & Stephan Eggermont
www.legacycode.nl
How to start doing
humane assessment
Humane Assessment?
• decide knowingly
• everyone makes decisions
• decisions require accurate information
• details are es...
Why Delphi?
• seen by management as legacy, cq problem
• we know it,
• well known teaching language
• no clear-cut need to...
Getting started
• from a strategic level (or grass roots)
• visible to management
• fast trust building is needed
• low in...
Complex problem
• management perceives a problem
• formulating might be difficult
• 5 why? (find root causes)
• multiple saf...
Low investment
• analyzing code requires parsing
• use/modify existing parser
• java/smalltalk/c/delphi... in moose
• reus...
Island parsing
• data conversion project
• Cobol
• data definitions+modules/files
• ignore 300 keywords, 90% of source
Experiments
• dependencies
• code duplication
• typical issue list
• language specific
• general
• changes
Dependencies
• do we have all source?
• how well balanced is the system?
• how complex are dependencies?
Show dependencies
• system units (grey)
• missing units (red)
• interface dependencies (green)
• implementation dependenci...
Duplication
• Zip
• Du(plication)de(tector)
Typical legacy problems
• multiple styles/architecture
• copy paste and edit
• missing tests
• low abstraction
Typical delphi issues
• code written in the form eventhandlers
• missing domain model, all transaction script
• no databas...
Code written in forms
• subclasses of form
• method with first parameter of type
TObject (eventhandler)
• complexity view
Changes
• EggRace
• (Torch)
Results
• Shown with Delphi how to start strategic
Humane Assessment
• Typical Delphi browser
• Moose browser
• Dude
• Son...
Iterative, Incremental!
• each answer leads to new questions
• focus on risk & value
• A rational design process, how and ...
Where?
• www.humane-assessment.com
• www.moosetechnology.org
• www.smalltalkhub.com/mc/Moose/PetitDelphi/main
Upcoming SlideShare
Loading in...5
×

Petit Humane Assessment, with Delphi

357

Published on

Petit Humane Assessment,
with Delphi

Diego Lont & Stephan Eggermont www.legacycode.nl

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
357
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
1
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Transcript of "Petit Humane Assessment, with Delphi"

  1. 1. Petit Humane Assessment, with Delphi Diego Lont & Stephan Eggermont www.legacycode.nl
  2. 2. How to start doing humane assessment
  3. 3. Humane Assessment? • decide knowingly • everyone makes decisions • decisions require accurate information • details are essential • assessment is a human activity • approach problems individually
  4. 4. Why Delphi? • seen by management as legacy, cq problem • we know it, • well known teaching language • no clear-cut need to replace now • refactor or replace? • well known weak spots
  5. 5. Getting started • from a strategic level (or grass roots) • visible to management • fast trust building is needed • low initial investment, feedback • can’t start building a parser for a few weeks
  6. 6. Complex problem • management perceives a problem • formulating might be difficult • 5 why? (find root causes) • multiple safe-to-fail experiments • fast feedback • low investment
  7. 7. Low investment • analyzing code requires parsing • use/modify existing parser • java/smalltalk/c/delphi... in moose • reuse from development environment • island parser • interesting part only
  8. 8. Island parsing • data conversion project • Cobol • data definitions+modules/files • ignore 300 keywords, 90% of source
  9. 9. Experiments • dependencies • code duplication • typical issue list • language specific • general • changes
  10. 10. Dependencies • do we have all source? • how well balanced is the system? • how complex are dependencies?
  11. 11. Show dependencies • system units (grey) • missing units (red) • interface dependencies (green) • implementation dependencies (blue) • classes nested • [nclude files]
  12. 12. Duplication • Zip • Du(plication)de(tector)
  13. 13. Typical legacy problems • multiple styles/architecture • copy paste and edit • missing tests • low abstraction
  14. 14. Typical delphi issues • code written in the form eventhandlers • missing domain model, all transaction script • no database abstraction • sometimes still turbo pascal style structured programming/mixed with oop • missing basic libraries/misuse of tlist • no longer maintained components
  15. 15. Code written in forms • subclasses of form • method with first parameter of type TObject (eventhandler) • complexity view
  16. 16. Changes • EggRace • (Torch)
  17. 17. Results • Shown with Delphi how to start strategic Humane Assessment • Typical Delphi browser • Moose browser • Dude • Sonar
  18. 18. Iterative, Incremental! • each answer leads to new questions • focus on risk & value • A rational design process, how and why to fake it (Parnas)
  19. 19. Where? • www.humane-assessment.com • www.moosetechnology.org • www.smalltalkhub.com/mc/Moose/PetitDelphi/main
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×