Transcript PS MRM Pack

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
The Oracle Application / Fusion
Dilemma
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.
Yet, CHANGE is REALITY.
3
Competing Approaches
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
Competing Approaches
Characteristics
Agile
Plan-Driven
Application
Primary Goal
Rapid value: responding to change
Predictability, stability, high assurance
Size
Smaller teams and projects
Larger teams and projects
Environment
Turbulent: high change: project focused
Stable: low change: project/organization focused
Management
Customer Relations
Dedicated on-site customers: focused on
prioritized increments.
As-needed customer interactions: focused on contract
provisions
Planning and Control
Internalized plans: qualitative control
Documented plans, quantitative control
Communications
Tacit interpersonal knowledge
Explicit documented knowledge
Technical
Requirements
Prioritized informal stories and test cases;
undergoing unforeseeable change.
Formalized project, capability, interface, quality,
foreseeable evolution requirements.
Development
Simple design; short increments; refactoring
assumed inexpensive
Extensive design; longer increments; refactoring
assumed expensive.
Testing
Executable test cases define requirements
Document test plans and procedures
Personal
Customers
Dedicated, collocated, high collaborative skills
Collaborative, not always collocated.
Developers
Continuous presents of critical mass of top
performers. Risky to use “non-agile” resources
Needs critical mass of top performers during project
definition, but can work with fewer later in the project.
Management
Collaborative, flexible, facilitator, negotiator,
empowering, people orientation.
Collaborative, planner mentality, scheduling skills,
process orientation
5
Examples of Plan-Driven Methods
Examples of Plan-Driven Methods
Method
Players
Description
Capability Maturity Model Software
(CMM-SW)
SEI, Air Force, Watts Humphrey, Mark Pulk
A process improvement framework, SWCMM 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
CMM – Integration (CMMI)
SEI, DoD, NDIA, Roger Bate, Jack Ferguson,
Mike Phillips
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.
Software factories
Hitachi, General Electric, others
A long-term, integrated effort to improve
software quality, software re-use, and software
development productivity. Highly process
driven, emphasizing early defect reduction.
Oracle AIM, CDM, PJM
Oracle Corporation
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
Examples of Agile Methods
Examples of Agile Methods
Method
Players
Description
eXtreme Programming (XP)
Kent Beck, Ward Cunningham, Ron Jeffries,
Daimler Chrysler, Microsoft (Daily Build)
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.
eXtreme Project Management
Doug DeCarlo, Rob Thomsett
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.
Adaptive Software Development (ASD)
Jim Highsmith
Provides a philosophical base and practical
approach to iterative development.
Crystal
Alistar Cockburn
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
Hybrid Premise
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
Defining Project Success
7 Win Conditions
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
On
Meeting Budget
Off
On
Meeting Deadlines
Off
On
Added-Value Requirements (Whole PLC perspective)
Off
On
Quality Requirements
Off
On
Team Satisfaction (most contentious)
9
Quality Management
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
Efficiency
Maintainability
Flexibility
Reliability
Portability
Reusability
Security/ audit
Job impact
Description
SH1
SH2
SH3
Are all data, processes and function there?
Is product easy to use and understood by the Client?
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?
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
Other :Cross-Over” Agile Tactics
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
People
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,
but 10,000x.”
-Nathan Myhrvold, former Chief Scientist, Microsoft
(This is true regardless of which approach you take)
12
Want More Information?
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
Thank You
Paul Frangoulis, CPA, PMP
Global Program Office, NCR
[email protected]
770-329-0836
14