Presentation is loading. Please wait.

Presentation is loading. Please wait.

ARCH-06 Redesign & Harvest Mike Ormerod - Architect Christian Stiller - Senior Consultant Applied Technology Group.

Similar presentations


Presentation on theme: "ARCH-06 Redesign & Harvest Mike Ormerod - Architect Christian Stiller - Senior Consultant Applied Technology Group."— Presentation transcript:

1 ARCH-06 Redesign & Harvest Mike Ormerod - Architect Christian Stiller - Senior Consultant Applied Technology Group

2 2© 2005 Progress Software Corporation ARCH-06 – Redesign & Harvest Agenda n Recurring Themes & Topics n Application Transformation Approach n Redesign Examples n Harvesting n Physical Artifacts and Logical Models n Redesign, Reuse or Harvest?

3 3© 2005 Progress Software Corporation ARCH-06 – Redesign & Harvest Redesign – A Definition ‘To make a revision in the appearance or function of’ (www.dictionary.com)

4 4© 2005 Progress Software Corporation ARCH-06 – Redesign & Harvest Recurring Themes & Topics n Metrics n Institutionalizing change n Redesign paradigms n Constraints

5 5© 2005 Progress Software Corporation ARCH-06 – Redesign & Harvest Metrics n How do you measure redesign ‘quality’ or ‘goodness’? n How do you define metrics that can assess the effectiveness of redesign? n Is understanding the ‘as-is’ necessary?

6 6© 2005 Progress Software Corporation ARCH-06 – Redesign & Harvest Institutionalizing Redesign n What resources are needed to implement redesign? n How can you construct, analyze, and enact processes for specific organizational or business needs? n How can you sustain in-place design, while transitioning to new design? n Determine ‘patterns’ to aid redesign

7 7© 2005 Progress Software Corporation ARCH-06 – Redesign & Harvest Redesign Paradigms n "Darwinian" vs "Genetic" n Agile model n Model Driven Redesign

8 8© 2005 Progress Software Corporation ARCH-06 – Redesign & Harvest Redesign Constraints n Distributed capabilities –People, process, everything! n New and old –Architectures –Data –Tools & environments –Internal processes

9 9© 2005 Progress Software Corporation ARCH-06 – Redesign & Harvest Agenda n Recurring Themes & Topics n Application Transformation Approach n Redesign Examples n Harvesting n Physical Artifacts and Logical Models n Redesign, Reuse or Harvest?

10 10© 2005 Progress Software Corporation ARCH-06 – Redesign & Harvest Application Transformation Approach n Model Driven Redesign n ‘Genetic’ as opposed to ‘Darwinian’ n Metrics –Function Point Analysis (FPA) –Estimation extrapolation n Risk management

11 11© 2005 Progress Software Corporation ARCH-06 – Redesign & Harvest Application Transformation Approach Abstract Concrete Legacy Application Modernized Application Logical Design Physical Design Implementation Deployment Conceptual Context Logical Design Physical Design Implementation Deployment Conceptual Context Analyze & Model Redesign Harvest Build & Test

12 12© 2005 Progress Software Corporation ARCH-06 – Redesign & Harvest Model Driven Transformation Abstract Concrete Legacy Application Modernized Application Logical Design Physical Design Implementation Deployment Conceptual Context Logical Design Physical Design Implementation Deployment Conceptual Context Deployment Model Source Code Model Physical Data Model Component Model Harvest Inventory Logical Data Model Requirements User Interface Model Use Case Model Business Rule Inventory

13 13© 2005 Progress Software Corporation ARCH-06 – Redesign & Harvest Model Driven Transformation Abstract Concrete Legacy Application Modernized Application Logical Design Physical Design Implementation Deployment Conceptual Context Logical Design Physical Design Implementation Deployment Conceptual Context Deployment Model Source Code Model Physical Data Model Component Model Harvest Inventory Logical Data Model Requirements User Interface Model Use Case Model Business Rule Inventory

14 14© 2005 Progress Software Corporation ARCH-06 – Redesign & Harvest Model Driven Transformation Abstract Concrete Legacy Application Modernized Application Logical Design Physical Design Implementation Deployment Conceptual Context Logical Design Physical Design Implementation Deployment Conceptual Context Deployment Model Source Code Model Physical Data Model Component Model Harvest Inventory Logical Data Model Requirements User Interface Model Use Case Model Business Rule Inventory Business Goals

15 15© 2005 Progress Software Corporation ARCH-06 – Redesign & Harvest Model Driven Transformation Abstract Concrete Legacy Application Modernized Application Logical Design Physical Design Implementation Deployment Conceptual Context Logical Design Physical Design Implementation Deployment Conceptual Context Deployment Model Source Code Model Physical Data Model Component Model Harvest Inventory Logical Data Model Requirements User Interface Model Use Case Model Business Rule Inventory Business Goals Technology Goals

16 16© 2005 Progress Software Corporation ARCH-06 – Redesign & Harvest Model Driven Transformation Abstract Concrete Legacy Application Modernized Application Logical Design Physical Design Implementation Deployment Conceptual Context Logical Design Physical Design Implementation Deployment Conceptual Context Deployment Model Source Code Model Physical Data Model Component Model Harvest Inventory Logical Data Model Requirements User Interface Model Use Case Model Business Rule Inventory OpenEdge Reference Architecture Business Goals Technology Goals

17 17© 2005 Progress Software Corporation ARCH-06 – Redesign & Harvest Model Driven Transformation Abstract Concrete Legacy Application Modernized Application Logical Design Physical Design Implementation Deployment Conceptual Context Logical Design Physical Design Implementation Deployment Conceptual Context Deployment Model Source Code Model Physical Data Model Component Model Harvest Inventory Logical Data Model Requirements User Interface Model Use Case Model Business Rule Inventory OpenEdge Reference Architecture Business Goals Technology Goals Requirements

18 18© 2005 Progress Software Corporation ARCH-06 – Redesign & Harvest Model Driven Transformation Abstract Concrete Legacy Application Modernized Application Logical Design Physical Design Implementation Deployment Conceptual Context Logical Design Physical Design Implementation Deployment Conceptual Context Deployment Model Source Code Model Physical Data Model Component Model Harvest Inventory Logical Data Model Requirements User Interface Model Use Case Model Business Rule Inventory OpenEdge Reference Architecture Use Case Model Business Goals Technology Goals Requirements

19 19© 2005 Progress Software Corporation ARCH-06 – Redesign & Harvest Model Driven Transformation Abstract Concrete Legacy Application Modernized Application Logical Design Physical Design Implementation Deployment Conceptual Context Logical Design Physical Design Implementation Deployment Conceptual Context Deployment Model Source Code Model Physical Data Model Component Model Harvest Inventory Logical Data Model Requirements User Interface Model Use Case Model Business Rule Inventory OpenEdge Reference Architecture Use Case Model Logical Data Model Business Goals Technology Goals Requirements

20 20© 2005 Progress Software Corporation ARCH-06 – Redesign & Harvest Model Driven Transformation Abstract Concrete Legacy Application Modernized Application Logical Design Physical Design Implementation Deployment Conceptual Context Logical Design Physical Design Implementation Deployment Conceptual Context Deployment Model Source Code Model Physical Data Model Component Model Harvest Inventory Logical Data Model Requirements User Interface Model Use Case Model Business Rule Inventory OpenEdge Reference Architecture Use Case Model Logical Data Model Business Object Model Business Goals Technology Goals Requirements

21 21© 2005 Progress Software Corporation ARCH-06 – Redesign & Harvest Model Driven Transformation Abstract Concrete Legacy Application Modernized Application Logical Design Physical Design Implementation Deployment Conceptual Context Logical Design Physical Design Implementation Deployment Conceptual Context Deployment Model Source Code Model Physical Data Model Component Model Harvest Inventory Logical Data Model Requirements User Interface Model Use Case Model Business Rule Inventory OpenEdge Reference Architecture Use Case Model Logical Data Model Business Object Model User Interface Model Business Goals Technology Goals Requirements

22 22© 2005 Progress Software Corporation ARCH-06 – Redesign & Harvest Agenda n Recurring Themes & Topics n Application Transformation Approach n Redesign Examples n Harvesting n Physical Artifacts and Logical Models n Redesign, Reuse or Harvest?

23 Original Use-Case

24 Redesigned Use-Case

25 Original Use-Case

26 Redesigned Use-Case

27 Original UI Model

28 Redesigned UI Model

29 Pattern

30 30© 2005 Progress Software Corporation ARCH-06 – Redesign & Harvest Redesign Summary n Know your starting point –Analysis & Modeling n Understand & respect old cultures –Review existing design & models, establish new criteria/standards and enforce them! n Once conquered, forever conquered –Only do it once n Follow a structured method/approach

31 31© 2005 Progress Software Corporation ARCH-06 – Redesign & Harvest Agenda n Recurring Themes & Topics n Application Transformation Approach n Redesign Examples n Harvesting n Physical Artifacts and Logical Models n Redesign, Reuse or Harvest?

32 32© 2005 Progress Software Corporation ARCH-06 – Redesign & Harvest Harvest – A Definition ‘The act or process of gathering a crop’ (www.dictionary.com)

33 33© 2005 Progress Software Corporation ARCH-06 – Redesign & Harvest Harvest – A Better Definition ‘Isolating, extracting, and reworking physical legacy artifacts for reuse in the modernized application’ (Applied Technology Group)

34 34© 2005 Progress Software Corporation ARCH-06 – Redesign & Harvest Application Transformation Approach Abstract Concrete Legacy Application Modernized Application Logical Design Physical Design Implementation Deployment Conceptual Context Logical Design Physical Design Implementation Deployment Conceptual Context Analyze & Model Re-Use Harvest Build & Test Redesign

35 35© 2005 Progress Software Corporation ARCH-06 – Redesign & Harvest Redesign vs. Harvest vs. Re-Use n Redesign –Change legacy logical model into a new model n Harvest (physical components) –Reuse source code or other artifacts –Refactoring n Re-use (logical model) –Reuse legacy logical model

36 36© 2005 Progress Software Corporation ARCH-06 – Redesign & Harvest Agenda n Recurring Themes & Topics n Application Transformation Approach n Redesign Examples n Harvesting n Physical Artifacts and Logical Models n Redesign, Reuse or Harvest?

37 37© 2005 Progress Software Corporation ARCH-06 – Redesign & Harvest Harvesting Example 1

38 38© 2005 Progress Software Corporation ARCH-06 – Redesign & Harvest Harvest (Physical Components) n Harvesting existing legacy artifacts –Procedures / procedure libraries –Internal procedures –Code fragments –Data Dictionary n Use refactoring techniques and tools –Make required changes only –Minor modifications

39 39© 2005 Progress Software Corporation ARCH-06 – Redesign & Harvest Model Driven Transformation Abstract Concrete Legacy Application Modernized Application Logical Design Physical Design Implementation Deployment Conceptual Context Logical Design Physical Design Implementation Deployment Conceptual Context Deployment Model Source Code Model Physical Data Model Component Model Harvest Inventory Logical Data Model Requirements User Interface Model Use Case Model Business Rule Inventory OpenEdge Reference Architecture Use Case Model Logical Data Model Business Object Model User Interface Model Harvested Artifacts Harvested Artifacts Data Dictionary Triggers Procedures Include Files Procedure Libraries Code Fragments Messages Literals & Codes Business Goals Technology Goals Requirements

40 40© 2005 Progress Software Corporation ARCH-06 – Redesign & Harvest Harvesting Example 2

41 41© 2005 Progress Software Corporation ARCH-06 – Redesign & Harvest Harvesting Example 2 cont.

42 42© 2005 Progress Software Corporation ARCH-06 – Redesign & Harvest Re-Use (Logical Model) n Re-Using logical model –Business rules –Use cases –Constraints n Based on work from Analysis and Modeling phase

43 43© 2005 Progress Software Corporation ARCH-06 – Redesign & Harvest Model Driven Transformation Abstract Concrete Legacy Application Modernized Application Logical Design Physical Design Implementation Deployment Conceptual Context Logical Design Physical Design Implementation Deployment Conceptual Context Deployment Model Source Code Model Physical Data Model Component Model Harvest Inventory Logical Data Model Requirements User Interface Model Use Case Model Business Rule Inventory OpenEdge Reference Architecture Use Case Model Logical Data Model Business Object Model User Interface Model Business Goals Technology Goals Requirements Re-Used Models Business Rules Use Cases Constraints

44 44© 2005 Progress Software Corporation ARCH-06 – Redesign & Harvest Harvesting Example 3

45 45© 2005 Progress Software Corporation ARCH-06 – Redesign & Harvest Harvesting Example 3 cont

46 46© 2005 Progress Software Corporation ARCH-06 – Redesign & Harvest Harvesting Example 3 cont

47 47© 2005 Progress Software Corporation ARCH-06 – Redesign & Harvest Redesign, Reuse or Harvest? n Effort required to harvest the physical artifact –Changes to code, e.g. shared variables, parameters, new schema, etc n Complexity of the physical artifact –How “valuable” is it to harvest the artifact as opposed to re-implement

48 48© 2005 Progress Software Corporation ARCH-06 – Redesign & Harvest Economics of Harvesting Effort Complexity Physical Components Logical Models Interval of Feasibility

49 49© 2005 Progress Software Corporation ARCH-06 – Redesign & Harvest Agenda n Recurring Themes & Topics n Application Transformation Approach n Redesign Examples n Harvesting n Physical Artifacts and Logical Models n Redesign, Reuse or Harvest?

50 50© 2005 Progress Software Corporation ARCH-06 – Redesign & Harvest Harvesting Rate n Harvesting Rate –Typically a low percentage –Expectations should be conservative –Higher percentages are possible depending on application and existing quality

51 51© 2005 Progress Software Corporation ARCH-06 – Redesign & Harvest Harvesting Techniques n Refactoring –Automate with tools –Replace shared variables with parameters –Change DB access to TT n Applying patterns –Data Access Layer –Interfaces / APIs / wrappers

52 52© 2005 Progress Software Corporation ARCH-06 – Redesign & Harvest Harvesting Example 4

53 53© 2005 Progress Software Corporation ARCH-06 – Redesign & Harvest Harvesting Example 5

54 54© 2005 Progress Software Corporation ARCH-06 – Redesign & Harvest To Redesign or to Harvest? n Harvest –Small, iterative changes –Takes more time and more effort to get to target architecture –Refactoring is NOT rearchitecting n Redesign –Architectural changes –Still iterative, but different scope

55 55© 2005 Progress Software Corporation ARCH-06 – Redesign & Harvest Harvesting Summary n Know your starting point –Analysis & Modeling n Understand what to harvest/re-use –Changes in architecture might require redesign –Harvest only what makes sense n Understand how to harvest –Choose physical harvesting or logical re-use based on effort and complexity n Follow a structured method/approach

56 56© 2005 Progress Software Corporation ARCH-06 – Redesign & Harvest Questions?

57 57© 2005 Progress Software Corporation ARCH-06 – Redesign & Harvest Thank you for your time!

58 58© 2005 Progress Software Corporation ARCH-06 – Redesign & Harvest


Download ppt "ARCH-06 Redesign & Harvest Mike Ormerod - Architect Christian Stiller - Senior Consultant Applied Technology Group."

Similar presentations


Ads by Google