PS MRM Pack

advertisement

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

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

Examples of Plan-Driven Methods

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

Examples of Agile Methods

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

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

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

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

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

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 pfrangoulis@bellsouth.net

770-329-0836

14

Download