210 likes | 336 Views
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. Classic Benefits of OO. Source - P. Coad, E. Yourdon 1991
E N D
Managing OO Development at MarshA 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 Projects Marsh Inc
Classic Benefits of OO Source - P. Coad, E. Yourdon 1991 • Tackle more challenging problem domains • Improve analyst & problem domain interaction • Increase internal consistency of analysis results • Explicitly represent commonality • Build specifications resilient to change • Reuse of analysis results • Provide a consistent underlying representation for analysis Managing Object-Oriented Projects Marsh Inc
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 Projects Marsh Inc
Detailed Planning Plan release schedule, tasks, resources Post-Implementation Review Test Align models with source code Using test cases from approved scenarios Design Specify how to meet requirements OO Development At Marsh Initiation Develop preliminary estimate Conceptualization Deployment Define the scope of the system Deploy into production and maintenance Architectural Design Develop essential architecture Evolution Analysis Build scenarios and business classes Develop and Review Code Write, unit test and review code Managing Object-Oriented Projects Marsh Inc
Test Cases Use Cases Scenarios Classes Context Diagram Data model OO deliverables at Marsh Managing Object-Oriented Projects Marsh Inc
Phases build on the same deliverables Managing Object-Oriented Projects Marsh Inc
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 Managing Object-Oriented Projects Marsh Inc
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
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? OO Test for Project Managers Managing Object-Oriented Projects Marsh Inc
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 Process introduction – Recruitment • CSF: question and test resume • It’s hard to get experience – look for potential Managing Object-Oriented Projects Marsh Inc
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 Projects Marsh Inc
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 Managing Object-Oriented Projects Marsh Inc
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
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? • Takes too long ! • the rush to to prototype screens or to cut code • Cost to much ! • Cost of implementing methodology tracked to project more effectively than benefits (or non compliance elsewhere) • We are doing fine ! • Culture of ‘analysis by expertise’ Managing Object-Oriented Projects Marsh Inc
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 Projects Marsh Inc
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 Projects Marsh Inc
Manage Carrier Manage Bond Package Marsh Bond User Request a bond Client <<extend>> Reports Inquire on Invoices Bond Template Administrator Manage Bond Library Benefits Derived • Managing the client - Scope • Use cases • Scenarios • Functionality by release matrix Managing Object-Oriented Projects Marsh Inc
Marsh-Wrap : Project Scope Generate Feasibility Analysis Client User Support Sales Effort Manage project Budget Wrap-Up Broker Specialist Claims data acquisition Procure Insurance Interface to placement 2001 2002 Oversee Loss Control Manage Payroll Audit and Closeout Manage Project Profile 2001 Manage QA 2002 2002 2002 2002 2002 2002 manage Reference data and codes Analyze a bid deduct Manage Security Inc Marsh.com Marsh project Administrator Contractor Convert code data 2002 2001/2 Manage Contractor Manage Reports Manage Client Hierarchy Priority for implementation Partial implementation to support the priority use cases
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 Projects Marsh Inc
Managing OO Development at MarshA 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 Projects Marsh Inc