Copyright 2002, Freshwater Partners, all rights reserved. Lessons from the implementation practice of C-bridge Internet Solutions Making Agile Methods.

Slides:



Advertisements
Similar presentations
© 2007 BigVisible Solutions, Inc. All Rights Reserved Coaching Solutions Agile Project Start v
Advertisements

September 2008Mike Woodard Rational Unified Process Key Concepts Mike Woodard.
Calyxinfo Walking through Calyx Info The Organisation.
Unified process(UP) UP is an OO system development methodology offered by Rational(Rational Rose) s/w, now a part of IBM Developed by Booach,Rambaugh,Jacobson--
Course: e-Governance Project Lifecycle Day 1
Test Automation Success: Choosing the Right People & Process
CS487 Software Engineering Omar Aldawud
Alternate Software Development Methodologies
Sixth Hour Lecture 10:30 – 11:20 am, September 9 Framework for a Software Management Process – Artifacts of the Process (Part II, Chapter 6 of Royce’ book)
Internet Management Consultants and Solution Providers Outstanding CMS Projects Lessons from the Front Line.
ROI When Web Content Management Meets Knowledge Management
Software Engineering.
Object-oriented Analysis and Design
KNOWLEDGE MANAGEMENT AT ACCENTURE
The Software Product Life Cycle. Views of the Software Product Life Cycle  Management  Software engineering  Engineering design  Architectural design.
Agile Process: Overview n Agile software engineering represents a reasonable compromise to conventional software engineering for certain classes of software.
LEARN. NETWORK. DISCOVER. | #QADexplore Implementing Business Process Management: Steps to Success WCUG – November 18, 2014.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 17 Slide 1 Extreme Programming.
Gaining Support for a Sustainable Agile Transformation Dennis Stevens, VP Enterprise Engagements LeadingAgile November 12, 2013.
Problems with reuse – Increased maintenance costs; lack of tool support; not-invented- here syndrome; creating, maintaining, and using a component library.
Roles and Responsibilities
Introduction to RUP Spring Sharif Univ. of Tech.2 Outlines What is RUP? RUP Phases –Inception –Elaboration –Construction –Transition.
RUP Fundamentals - Instructor Notes
Page 1 MODEL TEST in the small GENERALIZE PROGRAM PROCESS allocated maintenance changes management documents initial requirement project infrastructure.
-Nikhil Bhatia 28 th October What is RUP? Central Elements of RUP Project Lifecycle Phases Six Engineering Disciplines Three Supporting Disciplines.
A Microsoft Perspective Kirby Bartholomew Product Manager Application Platform & Developer Marketing
1 ISA&D7‏/8‏/ ISA&D7‏/8‏/2013 Systems Development Life Cycle Phases and Activities in the SDLC Variations of the SDLC models.
Agile Methodologies: Comparative Study and Future Direction 林佳蓁 資工 4B.
EMI INFSO-RI SA2 - Quality Assurance Alberto Aimar (CERN) SA2 Leader EMI First EC Review 22 June 2011, Brussels.
Industry SDLCs and Business Climate. Justin Kalicharan Credentials Director and Senior Technology Officer Over 14 years of coding experience in various.
© 2006 Cisco Systems, Inc. All rights reserved.Cisco Public 1 Version 4.0 Gathering Network Requirements Designing and Supporting Computer Networks – Chapter.
 CS 5380 Software Engineering Chapter 2 – Software Processes Chapter 2 Software Processes1.
Extreme/Agile Programming Prabhaker Mateti. ACK These slides are collected from many authors along with a few of mine. Many thanks to all these authors.
Systems Design Approaches The Waterfall vs. Iterative Methodologies.
1 Software Process Models-ii Presented By; Mehwish Shafiq.
Object-oriented Analysis and Design Stages in a Software Project Requirements Writing Analysis Design Implementation System Integration and Testing Maintenance.
University of Southern California Center for Systems and Software Engineering Model-Based Software Engineering Supannika Koolmanojwong Spring 2013.
IS Methodologies. Systems Development Life Cycle - SDLC Planning Planning define the system to be developed define the system to be developed Set the.
The Systems Development Life Cycle
Assessing the influence on processes when evolving the software architecture By Larsson S, Wall A, Wallin P Parul Patel.
Microsoft Office Project 2003: Selling EPM in your Organization Matt Wilson Business Solutions Specialist LMR Solutions.
Rational Unified Process Fundamentals Module 5: Implementing RUP.
Fifth Lecture Hour 9:30 – 10:20 am, September 9, 2001 Framework for a Software Management Process – Life Cycle Phases (Part II, Chapter 5 of Royce’ book)
Landstar Application Case Study: Development Of Content-rich Solutions For The Mobile Employee Bob Leo Director of Professional Services October 15, 2000.
All rights reserved © 2005 Eminent System. April 14, Oct 04, 2007 EMINENT SYSTEM.
Software Project Management (SEWPZG622) BITS-WIPRO Collaborative Programme: MS in Software Engineering SECOND SEMESTER /1/ "The content of this.
PPTTEST 12/26/ :41 1 IT Ron Williams Information Technology Management Project Management.
Requirements Engineering Requirements Engineering in Agile Methods Lecture-28.
Overview of RUP Lunch and Learn. Overview of RUP © 2008 Cardinal Solutions Group 2 Welcome  Introductions  What is your experience with RUP  What is.
An organizational structure is a mostly hierarchical concept of subordination of entities that collaborate and contribute to serve one common aim... Organizational.
Process Asad Ur Rehman Chief Technology Officer Feditec Enterprise.
Rational Unified Process Fundamentals Best Practices of Software Engineering Rational Unified Process Fundamentals Best Practices of Software Engineering.
Agenda: Overview of Agile testing Difference between Agile and traditional Methodology Agile Development Methodologies Extreme Programming Test Driven.
1 SYS366 Week 1 - Lecture 1 Introduction to Systems.
RUP RATIONAL UNIFIED PROCESS Behnam Akbari 06 Oct
LECTURE 5 Nangwonvuma M/ Byansi D. Components, interfaces and integration Infrastructure, Middleware and Platforms Techniques – Data warehouses, extending.
AGILE METHODS Curtis Cook CS 569 Spring 2003.
Chapter 5 Agile Development Moonzoo Kim KAIST
TK2023 Object-Oriented Software Engineering
Rapid Launch Workshop ©CC BY-SA.
Methodologies and Algorithms
Roles and Responsibilities
Management Information Systems
CIM Modeling for E&U - (Short Version)
Tools of Software Development
Agile Process: Overview
OCD Risk Management CS 577a, Fall 2012 ©USC-CSSE.
{Project Name} Organizational Chart, Roles and Responsibilities
Presentation transcript:

Copyright 2002, Freshwater Partners, all rights reserved. Lessons from the implementation practice of C-bridge Internet Solutions Making Agile Methods Work in a Commercial Consulting Environment

2/28/02 Copyright 2002, Freshwater Partners, all rights reserved. 2 About C-bridge Founded in 1996 Developer of custom e-business solutions – Internet, Intranet, Extranet, CRM, B2B2C2A, supply chain, content management, personalization, e-commerce, trade exchange – Over 150 systems delivered in 5 years – Teams ranged from consultants, customers Sample Customers – Aegon, Allmerica, Ameritrade, BellSouth, Caterpillar, Chevron, Economical Fosters, Insurance Group, JPMorganChase, Motorola, Phillips Petroleum, Seagate, Toyota, US West, US Navy, etc. Developed our method “RAPID Value” in 1997 and have refined it continuously since Created C-bridge Institute in 1999 to teach developed best practices to customers Grew to 900 employees and $84MM in 2000 Merged with eXcelon (ObjectDesign) in 2001 Discontinuing services practices to focus on XML and object database products

2/28/02 Copyright 2002, Freshwater Partners, all rights reserved. 3 About Freshwater Partners Assisting companies to drive business value with technology through education and consulting services – Assessments – Education – Coaching Our Process AssessingAligningEducatingCoachingMeasuring

2/28/02 Copyright 2002, Freshwater Partners, all rights reserved. 4 The Drivers for Agile Methods Speed to market – day delivery cycles A need to drive understanding of how new technology was to be leveraged

2/28/02 Copyright 2002, Freshwater Partners, all rights reserved. 5 Discover The Iterative Release Process Define 90 days (13 weeks) Design Develop Deploy 2 weeks 3 weeks 6 weeks 2 weeks Lines of readiness Weekly iteration Customers and team members need time to “learn” the requirements through interaction with each other. Define, design and deploy could be shortened in subsequent release cycles because system requirements were better understood and major design decisions had been made. Define and design also allows the team to innovate beyond current process assumptions.

2/28/02 Copyright 2002, Freshwater Partners, all rights reserved. 6 Primary Barrier to Development Speed Success Process Product Property Business Users IT Speed to market Value creation Customer retention Ease of use Lifestyle improvement Right features Development team quality of life Career progression Integrated business processes Initiative management Business goals/metrics Resource constraints Adaptability Involvement in System development Efficient user processes The system Fit with other user tools Requirements process Development process Quality process COTS integration Choice of architecture, platform and components Quality metrics Performance metrics Risk minimization Enterprise Integration Product line reuse System usage metrics System quality Stakeholders’ lack of shared perspective drives inefficient decision making. Stakeholders Operating Models

2/28/02 Copyright 2002, Freshwater Partners, all rights reserved. 7 Creating Stakeholder Understanding with Workshops Workshops provide a highly effective forum for stakeholders to discuss their issues in their own language. Creating understanding early in the lifecycle is the most important task of the development team. – Create jointly defined acceptance criteria Workshop content – User experience stories, processes, pain points, needs, wants – Group prototyping – Group development of workflows and use cases

2/28/02 Copyright 2002, Freshwater Partners, all rights reserved. 8 Project Preparation Another significant barrier to speed in development was lack of proper project definition. Solution: Discovery phase - A short phase before the project begins creating the right environment for the project – Business case – Clearly defined project goals and business objectives – Proper understanding of current IT infrastructure and plans – Organizational impact assessment – Ensure you have the right people for the team and time commitments exist – Project logistics – procurement, critical cycle constraints Without a basic understanding of these issues, the team can not create consensus on requirements.

2/28/02 Copyright 2002, Freshwater Partners, all rights reserved. 9 Documentation Deliverable-based process – Documentation reinforces process Documentation was kept as light as possible, but was still significant. Detailed system documentation was maintained in the source code. The goal of the printed system documentation was to make it possible to know where to look in the code if detailed designs were necessary. Documentation included – Project plan – Financial business case – Organizational impact assessment – Architecture assessment – System requirements – Use cases – System architecture and application performance requirements – Roles and interactions of primary business objects – Database design – Release plan – Testing plan – Acceptance criteria – System maintenance and support plan – System rollout plan

2/28/02 Copyright 2002, Freshwater Partners, all rights reserved. 10 Proof of Concept Prototype A working prototype that is built and tested during design to mitigate technical risk – Typical agile approach: Small builds to test new technical designs as needed throughout the release cycle. – Adapted approach: Brainstorm technical risks with the entire team Create a specification for a build that will test/mitigate the identified risks Build and test – Added benefit of testing the build process during design.

2/28/02 Copyright 2002, Freshwater Partners, all rights reserved. 11 Pair Programming and “Moving People Around” Did not seem to improve speed or quality on most C-bridge projects – Difficult to leverage programmers’ expertise in UI, middleware, database, network technologies. – When schedules were tight, the stronger developer tended to do most of the work Our solutions – Development sub-groups (UI, middleware, database) that owned code as a group. – Weekly code reviews of “suspect” code

2/28/02 Copyright 2002, Freshwater Partners, all rights reserved. 12 Development Environments Emphasis on maintaining a standard set of development environments. – Programmer, Integration, Build, Test, Production Developers integrated their code in the integration environment in serial fashion. Programmer implementation tasks were 1-3 days in length. Weekly builds had to run before anyone on the team could go home. Late in the process this moved to daily builds. QA tested all builds.

2/28/02 Copyright 2002, Freshwater Partners, all rights reserved. 13 User Stories Use cases were faster Stories were too imprecise to serve as coding specifications and created misunderstanding and rework. Use cases could be used as common working documents with business and IT personnel.

2/28/02 Copyright 2002, Freshwater Partners, all rights reserved. 14 Other Useful Practices Stand-up meetings – Often held at the beginning and end of every day – Emphasize identifying risks, not designing solutions. Optimize last – Optimization typically took place during the deploy phase User Acceptance Test – Acceptance test developed by the users, developed during define. – Focused users on how they were going to accept the system. – Gave development a target, captured by acceptance criteria. Use of an Application Framework and Experience Factory – Commonly useful code was maintained by a central group and used on many projects. Lessons from prior projects were distilled on a web site where they were easily accessed.

2/28/02 Copyright 2002, Freshwater Partners, all rights reserved. 15 Things That Are Simply Good Engineering Simple design Coding standards Unit tests / test harness – All developers were required to create unit tests, especially for business objects. Unit tests were aggregated and run daily by QA.

2/28/02 Copyright 2002, Freshwater Partners, all rights reserved. 16 Things We Did Not Try CRC Cards – UML diagrams worked very well for us and all of our engineers were already trained in their use.