Click here to load reader
Upload
samuel90
View
192
Download
2
Embed Size (px)
Citation preview
Do the right project the right way
Agile Project Management for Oracle Agile Project Management for Oracle ImplementationsImplementations
Applying eXtreme Techniques In a Plan-Driven Applying eXtreme Techniques In a Plan-Driven EnvironmentEnvironment
January 20, 2006PNF
2
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?
3
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.
4
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-definedprocesses 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 developmentexperiences as well as the resurgence of the philosophy that programming is a
craft rather than an industrial process. A truly agile method must include allof 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-correctingventure 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
5
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
6
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, 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
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.
7
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 15-minute “Scrum meetings’ maintain coordination.
8
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)
9
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
Off On
Off On
Off On
Off On
Off On
Meeting of Objectives and Requirements
Meeting Budget
Meeting Deadlines
Added-Value Requirements (Whole PLC perspective)
Quality Requirements
Team Satisfaction (most contentious)
10
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 Description SH1 SH2 SH3
Conformity Are all data, processes and function there? Usability Is product easy to use and understood by the Client? Efficiency Are people, processes, hardware, etc. used efficiently? Maintainability Is product easy to maintain and support? Flexibility Is it easy to include or add new functionality? Reliability Does the product perform reliably and free from errors? Portability Can the product easily operate in different environments? Reusability Does the product require re-use for different purpose? Security/ audit Is the software secure, can it be audited? 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
11
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.
12
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)
13
Want More Information?
Web Siteshttp://thomsett.com.au/http://www.extremeprogramming.org/index.htmlhttp://projectconnections.com/index.htmlhttp://www.pmi.org/www.standishgroup.com/
BooksRadical Project Management – Rob ThomsetteXtreme Project Management – Doug DeCarloBalancing Agility and Discipline – Barry Boehm,
Richard Turner