Agile Project Management for Oracle
Implementations
Applying eXtreme Techniques In a Plan-Driven
Environment
Do the right project the right way January 20, 2006
PNF
AGENDA
• The Large Project / Fusion Dilemma
• Competing Approaches – Agile, Plan-Driven
• Examples of the Plan-Driven Approach
• Examples of the Agile Approach
• The Hybrid Premise
• Defining Project Success
• Quality Management
• Other “Cross Over” Agile Tactics
• Did I Mention People?
• What More Information?
2
Oracle Application projects are complex, and require considerable integration and up-front planning to be successful. Fusion of technologies adds to the complexity to the process as technical architecture must be clear, defined and stable. These are characteristics that drive existing Oracle Methods to be traditional in nature (Plan-Driven) and not necessarily conduciveness to rapid change.
3
Plan Driven Methods – are generally considered the traditional way to develop software.
Based on concepts drawn from the mainline engineering fields, these methods approach development in a requirements/design/build paradigm with standard, well-defined processes that organizations improve continuously. The genesis of plan-driven methods lies in the systems engineering and quality disciplines.
Agile Methods – are an outgrowth of rapid prototyping and rapid development experiences as well as the resurgence of the philosophy that programming is a craft rather than an industrial process. A truly agile method must include all of the following attributes; iterative cycles, incremental functionality, self-organizing teams , and the principal of emergence - meaning processes, principles, and work structures are flexible and receptive to recognized change rather than pre-determined.
“ An extreme project is a complex, high-speed, self-correcting venture during which people interact in search of a desirable result under conditions of high uncertainty, high change, and high stress”
Doug DeCarlo, Extreme Project Management
4
Characteristics
Primary Goal
Size
Environment
Customer Relations
Planning and Control
Communications
Requirements
Development
Testing
Customers
Developers
Management
Agile
Rapid value: responding to change
Application
Smaller teams and projects
Turbulent: high change: project focused
Management
Dedicated on-site customers: focused on prioritized increments.
Internalized plans: qualitative control
Tacit interpersonal knowledge
Technical
Prioritized informal stories and test cases; undergoing unforeseeable change.
Simple design; short increments; refactoring assumed inexpensive
Executable test cases define requirements
Personal
Dedicated, collocated, high collaborative skills
Continuous presents of critical mass of top performers. Risky to use “non-agile” resources
Collaborative, flexible, facilitator, negotiator, empowering, people orientation.
Plan-Driven
Predictability, stability, high assurance
Larger teams and projects
Stable: low change: project/organization focused
As-needed customer interactions: focused on contract provisions
Documented plans, quantitative control
Explicit documented knowledge
Formalized project, capability, interface, quality, foreseeable evolution requirements.
Extensive design; longer increments; refactoring assumed expensive.
Document test plans and procedures
Collaborative, not always collocated.
Needs critical mass of top performers during project definition, but can work with fewer later in the project.
Collaborative, planner mentality, scheduling skills, process orientation
5
Method
Capability Maturity Model Software
(CMM-SW)
CMM – Integration (CMMI)
Software factories
Oracle AIM, CDM, PJM
Examples of Plan-Driven Methods
Players
SEI, Air Force, Watts Humphrey, Mark Pulk
SEI, DoD, NDIA, Roger Bate, Jack Ferguson,
Mike Phillips
Hitachi, General Electric, others
Oracle Corporation
Description
A process improvement framework, SW-
CMM grew out of the need for the Air Force to select qualified software system developers.
Collects best practices into Key Practice Area that are organized into five levels of increasing process maturity
CMMI was established by DoD and the
National Defense Industrial Association
(NDIA) to integrate software and systems engineering CMM’s, and to improve or extend the CMM concept to other disciplines. CMMI is comprised of a suite of models and appraisal methods.
A long-term, integrated effort to improve software quality, software re-use, and software development productivity. Highly process driven, emphasizing early defect reduction.
Oracle’s suite of proprietary methods comprised of the Application Implementation
Method (AIM), the Custom Development
Method (CDM), and the Project Management
Method (PJM). Highly process and product specific (especially AIM), the Oracle Methods provide specific guidance for implementing and configuring Oracle products.
6
Method eXtreme Programming (XP) eXtreme Project Management
Crystal
Examples of Agile Methods
Players
Kent Beck, Ward Cunningham, Ron Jeffries,
Daimler Chrysler, Microsoft (Daily Build)
Doug DeCarlo, Rob Thomsett
Adaptive Software Development (ASD) Jim Highsmith
Alistar Cockburn
Description
Probably the most famous agile method.
Refined by Daimler Chrysler Corp. Microsoft used a highly refined and effective variation of similar release strategies to successfully build
Windows 2000 and Windows XP.
A project management method that is based upon Agile concepts and the supporting XP principals of rapid development, flexibility, team empowerment and customer based quality management.
Provides a philosophical base and practical approach to iterative development.
A family of methods that provide different levels of “ceremony” depending on the size of the team and the criticality of the project.
Scrum Ken Schwaber, Jeff Southerland, Mike Beedle More management technique, Scrum projects are divided into 30-day work intervals in which a specific number of requirements from a prioritized list are implemented. Daily 15minute “Scrum meetings’ maintain coordination.
7
In an Oracle environment and on a project by project basis it’s possible to incorporate components of both the Agile approach and the Plan-Driven approach and yield optimal results. Some examples follow:
•
•
•
•
Defining project requirements
Quality management
Extreme Programming (cross-over) Tactics
People (a common finding)
8
The Win Conditions / Success Sliders principal contends that a set of 7 variables can be used to define how success is measured on a project. The Project
Stakeholders decide the priority. Everything is negotiable: Radical Project
Mgmt, Rob Thomsett.
(Note: this replaces the old “iron triangle” Schedule, Quality, Cost” view of success)
Off On Stakeholder Satisfaction
Off On Meeting of Objectives and Requirements
Off
Off
Off
On Meeting Budget
On Meeting Deadlines
On Added-Value Requirements (Whole PLC perspective)
Off
Off
On
Quality Requirements
On Team Satisfaction (most contentious)
9
The IEEE and ISO 9000 define quality as “fitness of use” which mirrors Philip
Crosby’s (1979) definition of quality - “conformance to requirements”.
However the question remains, what is the required quality , and according to whose requirements and whose purpose? Agile theory suggests that quality on a project may be defined by an agreed upon combination of a set of attributes:
Attribute
Conformity
Usability
Description
Are all data, processes and function there?
Is product easy to use and understood by the Client?
SH1 SH2 SH3
Efficiency
Maintainability
Flexibility
Reliability
Portability
Reusability
Are people, processes, hardware, etc. used efficiently?
Is product easy to maintain and support?
Is it easy to include or add new functionality?
Does the product perform reliably and free from errors?
Can the product easily operate in different environments?
Does the product require re-use for different purpose?
Is the software secure, can it be audited? Security/ audit
Job impact Does the product negatively impact existing workflows
3 Step Process:
1. Define requirements
2. Negotiate Product Quality Attributes with Stakeholders – document agreements
3.
Determine and Review Stakeholders’ Ranking
10
1.
Planning
•
•
•
•
• User stories
Release planning
Project Velocity
Iterations
Stand-up meetings
• Designing
•
•
•
• Simplicity
Spike solutions
No functionality added early
Re-factor
3.
Coding
•
•
•
•
•
•
• Customer always available
Agreed standards mandatory
Unit test first
Pair Programming
Integrate often
Collective cod ownership
Leave optimization to last
No overtime •
4.
Testing
•
•
• All code must have unit tests
When a bug is found tests are created
Acceptance tests are run often and the score is published.
11
Did I say that “Talent Matters”?
“The top software developers are more productive than average software developers not by a factor of 10X or 100X, or even 1000X,
-Nathan Myhrvold, former Chief Scientist, Microsoft
( This is true regardless of which approach you take)
12
Web Sites http://thomsett.com.au/ http://www.extremeprogramming.org/index.html
http://projectconnections.com/index.html
http://www.pmi.org/ www.standishgroup.com/
Books
Radical Project Management – Rob Thomsett eXtreme Project Management – Doug DeCarlo
Balancing Agility and Discipline – Barry Boehm, Richard
Turner
13
Global Program Office, NCR pfrangoulis@bellsouth.net
770-329-0836
14