version 1.02 page 1 managing object-oriented projects marsh inc managing oo development at marsh a...

21
Managing Object-Oriented Managing Object-Oriented Projects Projects Marsh Inc Marsh Inc Version 1.02 Version 1.02 Page Page 1 Managing OO Development at Marsh A case study in transforming an organisation formerly versed in 'legacy' (client server, PC, mainframe) development, to a new Web Based Object Oriented Development Paradigm.

Upload: rosanna-dawson

Post on 29-Dec-2015

216 views

Category:

Documents


0 download

TRANSCRIPT

Managing Object-Oriented ProjectsManaging Object-Oriented ProjectsMarsh IncMarsh Inc

Version 1.02Version 1.02Page Page 11

Managing OO Development at Marsh

A case study in transforming an organisation formerly versed in 'legacy' (client server, PC,

mainframe) development, to a new Web Based

Object Oriented Development Paradigm.

Managing Object-Oriented ProjectsManaging Object-Oriented ProjectsMarsh IncMarsh Inc

Version 1.02Version 1.02Page Page 22

Classic Benefits of OO

Source - P. Coad, E. Yourdon 19911. Tackle more challenging problem domains

2. Improve analyst & problem domain interaction

3. Increase internal consistency of analysis results

4. Explicitly represent commonality

5. Build specifications resilient to change

6. Reuse of analysis results

7. Provide a consistent underlying representation for analysis

Managing Object-Oriented ProjectsManaging Object-Oriented ProjectsMarsh IncMarsh Inc

Version 1.02Version 1.02Page Page 33

Agenda:• OO at Marsh• CSF’s for OO Process introduction• Barriers to OO adoption overcome• Benefits derived vs. the classics

Our context :• Realities of software development

– requirements are constantly evolving– Schedule, cost & quality pressures will always be severe– the business model and the applications are complex

Managing Object-Oriented ProjectsManaging Object-Oriented ProjectsMarsh IncMarsh Inc

Version 1.02Version 1.02Page Page 44

OO Development At MarshOO Development At MarshDevelop preliminary

estimate

InitiationInitiation

Define the scope of the system

ConceptualizatiConceptualizationon

Plan release schedule, tasks, resources

Detailed PlanningDetailed Planning

Develop essential architecture

Architectural DesignArchitectural Design

Deploy into production and maintenance

DeploymentDeployment

EvolutionEvolution

Align models with source code

Post-Implementation Review Build scenarios and

business classes

Analysis

Specify how to meet requirements

Design

Write, unit test and review code

Develop and Review Code

Using test cases from approved scenarios

Test

Managing Object-Oriented ProjectsManaging Object-Oriented ProjectsMarsh IncMarsh Inc

Version 1.02Version 1.02Page Page 55

Use CasesUse Cases

ScenariosScenarios

Context DiagramContext Diagram ClassesClasses Data modelData model

Test CasesTest Cases

OO deliverables at MarshOO deliverables at Marsh

Managing Object-Oriented ProjectsManaging Object-Oriented ProjectsMarsh IncMarsh Inc

Version 1.02Version 1.02Page Page 66

Phases build on the same deliverables

OO Process deliverables AnalysisDesign & Build QA

1 ONE PAGE SYSTEM DESCRIPTION 2 USE CASE MODEL3 USE CASE DOCUMENT with SCENARIOS4 CONTEXT DIAGRAM5 CLASS MODEL6 SEQUENCE DIAGRAMS7 STATE DIAGRAM8 UI MODEL9 PERSISTENT DATA MODEL

10 DATA MODEL11 TEST CASES12 TEST SCRIPTS

Managing Object-Oriented ProjectsManaging Object-Oriented ProjectsMarsh IncMarsh Inc

Version 1.02Version 1.02Page Page 77

Current Status

• Number of Mature OO based Projects

• Critical mass of staff who understand the process

• A significant $ investment – Over time have improved the ROI

Process introduction – Transition• To transition staff

– Training & experience• The process has been painful, CSF’s (critical success factors)

– Recognize not everybody will make it• Gartner Group:

– 25% of people need retraining (Marsh 100%)– 25% never make the transition to OO (inc project mangers)

• You must have a strategy to allow a graceful exit

– Consistent message: dedicated Marsh only training by selected vendor personnel

– Just in time vs. cost efficient training– Workshops: focused on specific application projects – Coaching: trainer stays with project to provide guidance and QA

– Train project managers – test them

Managing Object-Oriented ProjectsManaging Object-Oriented ProjectsMarsh IncMarsh Inc

Version 1.02Version 1.02Page Page 99

OO Test for Project Managers

Explain Principals:• Objects and Classes?

• OO System?

• Aggregation?

• Abstraction?

• Inheritance?

• Components?

• Behaviour before data?

Explain Approach:• Planning approach?

• Estimation?

• OO deliverables?

• Use of tools?

• Team roles?

Managing Object-Oriented ProjectsManaging Object-Oriented ProjectsMarsh IncMarsh Inc

Version 1.02Version 1.02Page Page 1010

Process introduction – Recruitment

• Successful OO Analyst– Good listener, fast learner– Thinks logically, not

intuitively– Some formal education

• mathematics, computer science, engineering

– Excellent interpersonal skills

– Very detail-oriented person– Some software project

experience

• Successful OO Designer– OO coding experience

• in more than 1 language

– Experience in several technical environments

– Able to understand business requirements

– Flexible approaches to problem solving

– Recent degree in computer science

• CSF: question and test resume• It’s hard to get experience – look for potential

Managing Object-Oriented ProjectsManaging Object-Oriented ProjectsMarsh IncMarsh Inc

Version 1.02Version 1.02Page Page 1111

Process introduction – CSF’s

• Implement process incrementally– Start use case-driven & build to class model-driven

• Do not rely on the use case document for analysis– People think procedurally – Result: a procedural functional decomposition in a use case

template– Class model at analysis phase is key, helps team to think in

terms of aggregation, inheritance, etc to build an abstract model

• With a new team use the coach to produce the class model, while the staff learn use case, sequence diagrams & scenarios

Managing Object-Oriented ProjectsManaging Object-Oriented ProjectsMarsh IncMarsh Inc

Version 1.02Version 1.02Page Page 1212

Process introduction – CSF’s

• Implement tools incrementally– Marsh does not have full Rational suite

• Using: Rose, Word, SourceSafe

• Define the QA points into the process– Phase based checklist on OO terms– Structured walkthroughs within each phase

• Recognise and reward adoption

Analysis Checklist     The context diagram is up-to date for this release and is checked into SourceSafe as “ ”     The use case diagram is up-to-date for this release and is checked into SourceSafe as “…..cat”     The use case document      All administrative details are complete and correct.     The scenarios which have been approved as being within scope for this release are complete and correct.     The use case diagram has been checked into SourceSafe as “……”     The business object model     The business objects from the previous software release have been reconciled with this new version of the business objects.     All classes which need to exist, do exist in the model.     All operations have been named.     There is a clear and complete English description for each operation.     All attributes which need to exist in the object model, do exist.     There is a clear definition of each attribute.     All associations are indicated correctly, including multiplicity, role names and qualifiers.     The object model has been checked into SourceSafe as “……cat”.     The “normal” scenario for each approved use case is diagramed as a sequence diagram, using the objects in the class model. One of the objects could be the User Interface Object.          Workflow     High level scenarios are implemented using sequence diagrams     All external actors are indicated on the sequence diagrams     High level business objects are identified      Events are described in clear and understandable English     Functional Tests     For each approved scenario, a set of functional test cases has been identified to prove the scenario is working correctly.     Input data has been identified•Expected Results have been defined

Managing Object-Oriented ProjectsManaging Object-Oriented ProjectsMarsh IncMarsh Inc

Version 1.02Version 1.02Page Page 1414

Barriers to Adoption

• Many project already in progress• Conflicting priorities

– Learning curve & high profile strategic project

• Management support– Is it possible to have a light weight flexible methodology?

1. Takes too long ! – the rush to to prototype screens or to cut code

2. Cost to much !– Cost of implementing methodology tracked to project more effectively than

benefits (or non compliance elsewhere)

3. We are doing fine !– Culture of ‘analysis by expertise’

Managing Object-Oriented ProjectsManaging Object-Oriented ProjectsMarsh IncMarsh Inc

Version 1.02Version 1.02Page Page 1515

Benefits Derived• Common understanding,

• Assign well-defined, encapsulated tasks• Documentation consistency• standard format for scenarios and class models• consistent use of design patterns, coding style

• Movement across projects• Fast resolution of bugs, low repeat failure

– with automated regression testing, key to 90 day cycle

• Depth & accuracy of documentation - 9/11 recovery• Limited reuse

– At the component not enterprise level

• Career investment by the firm in the team

Managing Object-Oriented ProjectsManaging Object-Oriented ProjectsMarsh IncMarsh Inc

Version 1.02Version 1.02Page Page 1616

Benefits Derived

• Estimation - Cost and Time– Process ‘falls’ from the OO deliverables– Refined though out life cycle

• Use Cases Order of magnitude +40 / -20%• Scenarios and business classes Project estimate +20 / -10%• Design Classes Build estimate +10 / -5%

– Metrics used have been refined across projects• Scenario with UI 45 days• Scenario without UI 38 days

Managing Object-Oriented ProjectsManaging Object-Oriented ProjectsMarsh IncMarsh Inc

Version 1.02Version 1.02Page Page 1717

Benefits Derived

• Managing the client - Scope – Use cases– Scenarios– Functionality by release matrix

Bond Template Bond Template AdministratorAdministrator

Manage Bond LibraryManage Bond Library

ClientClientRequest a bondRequest a bond

ReportsReports Inquire on InvoicesInquire on Invoices

Manage Bond PackageManage Bond Package

Manage CarrierManage Carrier

Marsh Bond UserMarsh Bond User

<<extend>><<extend>>

Manage Project Profile

Support Sales Effort

Manage Reports

Oversee Loss Control

Manage QA

Convert code data

Manage SecurityInc Marsh.com

manage Reference data and codes

Generate Feasibility AnalysisClient User

Manage project Budget

Claims data acquisition

Wrap-Up Specialist

Procure InsuranceInterface to placement

Broker

Manage Payroll Audit and Closeout

Analyze a bid deduct

Manage Contractor

Manage Client Hierarchy

Marsh project Administrator

Marsh-Wrap : Project Scope

Priority for implementation

Partial implementation to support the priority use cases

20012002

2002

2002

2002Contractor

2001

2001/22002

2002

2002

2002

2001 Priority 1a 2001 Priority 3

Use Cases

Generate feasibility analysis

Manage Project Profile

Support sales effort Manage Project BudgetManage client Hierarchy

Procure Insurance

Normal scenario

Generate external feasibility analysis

Link to client hierarchy

Generate generic presentations and benchmarking documentation for use by sales staff

Create initial project insurance budget using composite rates reflecting only insurance coverage's commonly provided by all trade contractors (WC, GL) Create project budget based on incomplete data (WU has incomplete information available including but,

Create and maintain clients hierarchy, eg region,office,business sector (sponsor is client)

Request quotes from Carriers, choose insurer, and buy insurance. Interface to placement?

2

Generate internal feasibility analysis with more detail, i.e. primer documents and drill-down calculations

Build Client Team

Generate LKQ-specific presentations and benchmarking documentation for use by sales staff

(2)Compute wrap-up cost using a hybrid of standard premium & payroll

Reorganize clients hierarchy & / or projects assignment within hierarchy

Project must change Insurance Carriers (carrier goes out of business; gets bought; drops coverage; etc.)

3WU Specialist has minimal amount of information

Needs assessment, insurance coverage details

Calculate a partly bought-out bid packageHold effective date on hierarchy change

4Revise Feasibility Analysis

(1)Manage a budget using a state specific premium calculation formula (variation use of rate and adjustments)

5 (3)Rollup of multiple projects to clients hierarchy

6 (4)Implement a change order

Project Scope

Managing Object-Oriented ProjectsManaging Object-Oriented ProjectsMarsh IncMarsh Inc

Version 1.02Version 1.02Page Page 2020

Benefits Derived• Enable control of Offshore development:

– Contracts are fixed price• Price is as ‘fixed’ as the scope definition• Any CMM level 5 vendor is very good at change control

– Accurate specification is a key to managing off shore• Functional acceptance • Technical acceptance of code V’s Marsh design & standards• Class model passed between Marsh and vendor • Used metrics based on $ per use case, scenario and class

– Develop independent estimates– compare quotes over time

– Have a 110% cost over run where not properly implemented – Achieved 15% cost reduction where process followed

Managing Object-Oriented ProjectsManaging Object-Oriented ProjectsMarsh IncMarsh Inc

Version 1.02Version 1.02Page Page 2121

Managing OO Development at Marsh

A case study in transforming an organisation formerly versed in 'legacy' (client server, PC,

mainframe) development, to a new Web Based

Object Oriented Development Paradigm.