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