version 1.02 page 1 managing object-oriented projects marsh inc managing oo development at marsh a...
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.