1 / 36

PRJ480 Mastering the Management of Iterative Development v2

PRJ480 Mastering the Management of Iterative Development v2. Module 2: Iterative Project Management. Module 2 Objectives. Understand issues for Project Managers (PM) who use iterative development by: Learning how the PM monitors and steers an iterative project towards success.

bezanson
Download Presentation

PRJ480 Mastering the Management of Iterative Development v2

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. PRJ480 Mastering the Management of Iterative Development v2 Module 2: Iterative Project Management

  2. Module 2 Objectives Understand issues for Project Managers (PM) who use iterative development by: • Learning how the PM monitors and steers an iterative project towards success. • Understanding the importance of the following in iterative development: • Confronting risk early. • Using an architecture-first approach. • Using objective quality control and progress assessment. • Learning the importance of the principal artifacts used by PM. • Understanding how team responsibilities change.

  3. Team Leadership • The following are the main elements of team leadership: • The team framework: putting in place the appropriate roles, staff assignments, tools, and processes • The big picture: seeing that the effort continues to meet the business needs, and that it has the correct contents, schedule, and budget • Team dynamics: making sure that the project team and individuals are communicating effectively

  4. E-end START C-end T-end I-end Review: Project Navigation Business-Oriented Goals Achieved Technically-Oriented Goals Achieved

  5. Coarse-Grained Versus Fine-Grained Plans Project Plan Phase Plan Iteration Plan (current) • Phases and major milestones • What and when • Iterations for each phase • Number of iterations • Objectives • Duration • Work Breakdown Structure Iteration Plan (next) Roadmap Coarse-grained Plan Fine-grained Plans

  6. Work Breakdown Structure Issues

  7. Review: RUP Effort and Time Distribution by Phase This distribution is typical for new software projects

  8. Iteration Assessment and Steering Start Iteration Using Artifact: Iteration Assessment Iteration Plan Complete Planned Iteration Work Assess Reducerisk Accept change Steer project Iteration Stop Continue Project Stopped Adjust Adjust Target Objectives Product Adjust Remaining Plan Plan Next Iteration Artifact: Iteration Plan Start Next Iteration

  9. Discussion: Iteration Assessment • What types of information are needed to assess an iteration correctly? • Under what conditions might you be required to adjust: • Your project objectives? • Your target product?

  10. Risk Recommendations Iterative development recommends that you: • Create a risk list, order it by risk magnitude, and update it as the project progresses • Mitigate the highest magnitude risks as early as possible Exiting Elaboration requires that highest (technical or otherwise) risks have been mitigated.

  11. Software Architecture • Software architecture defines the infrastructure, control, and data interfaces that permit: • Software components to cooperate as a system • Software designers to cooperate efficiently as a team • It is the most critical technical product of a software project. • It encompasses the set of significant decisions about the organization of a software system. • It maps the problem to a solution without violating constraints. It requires innovation and cannot be automated.

  12. Software Architecture (Cont.) • Software Architecture is the basis for decisions relating to: • Make/buy decisions • Component reuse • Intellectual control • Manage complexity • Maintain integrity • Project management • Planning, Staffing, Delivery

  13. Architecture As a Basis for Project Management • A stable architecture represents a significant project milestone. • Poor architecture is often a reason for project failure. • Architecture is a prerequisite for predictable planning. • Architecture is the source of numerous high-payoff / high-risk decisions.

  14. Measurements in a Software Development Project • Measurements provide the development and management teams with: • An assessment of progress to date • Insight into the quality of the evolving software product • A basis for estimating the cost and schedule for completing the product with increasing accuracy over time • Two perspectives: • Point values • Trends of values

  15. Use of Measurements in Iterations Start Iteration Using Iteration Plan Measurements Complete Planned Iteration Work Assess Iteration Stop Continue Project Stopped Adjust Adjust Target Objectives Product Adjust Remaining Measurements are used to assess iterations. Plan Plan Next Iteration Start Next Iteration

  16. Seven Core Metrics: Management

  17. Measurement Recommendations Iterative development recommends: • Measuring the progress and quality of software products throughout the development lifecycle • Extracting information from evolving artifacts, since these are the most useful measurements • Using objective analysis and automated data collection, since these are crucial to the success of any measurement program

  18. Discussion: Measurements • Which measurements would you consider essential to iterative development in your environment? Can you think of any other measurement that your organization MUST have in addition to this core set? What is it and why? • In your last project, how did you adjust (or should you have adjusted) your objectives? What kind of measurement do you need to adjust your objectives?

  19. Iteration Assessment Iteration Plan Developer Test Storyboard Analysis Model Business Goal Architectural Proof-of-Concept Use Case Model Test Environment Configuration Workspace Project Measurements Tools User-Interface Prototype Business Use Case Model Work Products • A work product is an abstract concept that provides a generalization for the concrete work product types Artifact,Outcome, and Deliverable. • A work product is: • Produced, modified, or used by a task • The responsibility of a single role, but can be modified or used by others • Likely to be subject to configuration control • Artifact-type work products may contain other artifacts

  20. Iteration Plan Use Case Model Artifacts • An artifact is a work product that represents a piece of information that is produced, modified, or used by a process • Artifacts can be of type: • Model– created using modeling tools, from where we can automatically createreports • Document– created using word processors

  21. Generic Artifact Lifecycles • Evolving – Minor Changes Expected • Example: Vision • Example: Development Case • Evolving – Major Changes Expected • Example: Requirements Model • Snap-shot – Newly created for each iteration • Example: Iteration Plan

  22. Artifacts and their Uses Artifacts provide: • Permanent documentation of a system’s structure and behavior, such as: • Reference manuals, user guides, and architecture description • Used by end-users, maintainers, and re-users • Transitory documentation of the development process, such as: • Internal design documentation • Status assessments • Defect reports The goal is to minimize the creation of artifacts.

  23. How Much Documentation is Enough? A successful project provides documentation sufficient for: • Shared Vision • Communicate overall vision of project • Risk reduction • Promote a dialog between stakeholders and developers • Points of control for management • Make decisions and progress explicit and tangible • Conceptual integrity of the architecture • Capture and communicate the vision of the software architect/team

  24. Sample Artifacts Small Commercial Product Large System Development Business Case Short memo and spreadsheet Full scope proposal Vision Brief concept paper 20-page paper with GUI prototype Software Development Plan 10 page overall plan Development plan, CM Plan, QA Plan, and so on Iteration Plan Kickoff meeting Detailed scenarios, quality targets, performance benchmarks, and so on Software Architecture Document 5 slide presentation 120 page document Iteration Assessment Release Notes In-depth analysis of test results, measurement results, demos, and so on Deployment Plan Online help, Sales rollout, and marketing collateral Online help and tutorials, user manual, training course, phased cut-over plan, advertising campaign Contrasting Approaches to Artifact Development

  25. Essential Project Management Artifacts • Software Development Plan • Business Case • Deployment Plan • Risk List • Issues List • Review Record • Iteration Plan/ Iteration Assessment • Status Assessment

  26. Essential Mgt. Artifact: Software Development Plan • The Software Development Plan includes the following information: • Project Overview • Project Organization • Management Process • Project Estimates • Project Plan • Iteration Plans • Project Monitoring and Control • Technical and Supporting Process Plans • Important for gathering all information necessary to control the project, and for directing the development effort.

  27. Essential Mgt. Artifact: Iteration Plan • The Iteration Plan includes the following information: • Task-level Plan • Resources • Use Cases • Evaluation Criteria • It is important for: • The project manager, to plan the iteration tasks and activities, to schedule resource needs, and to track progress against the schedule • Project team members, to understand what they need to do, when they need to do it, and what other activities they are dependent upon

  28. Essential Mgt. Artifact: Iteration Assessment • The Iteration Assessment includes the following information: • Iteration Objectives reached • Adherence to Plan • Use Cases implemented • Results relative to Evaluation Criteria • Test Results • External Changes • Rework required • It is important for the development organization to reflect on what has happened, what was achieved (or not) and why, and the lessons learned from the iteration.

  29. Team Scheduling and Staffing

  30. Team Scheduling and Staffing (Continued)

  31. Inception % Elaboration% Construction% Transition % Management 14 12 10 14 Environment/CM 10 8 5 5 Requirements 38 18 8 4 Design 19 36 16 4 Implementation 8 13 34 19 Assessment 8 10 24 24 Deployment 3 3 3 30 Total 100 100 100 100 RUP Distribution of Skills by Phase Table shows percentage of effort by activity for each phase.

  32. Iterative Project Management Issues • Overly detailed planning up to the end • Detailed plans outdate quickly • Incorporate precision commensurate with knowledge of current activities • Progress based upon completion of artifacts • Artifacts are poor predictors of project completion • Concentrate on code completion instead • Too many iterations • A build is not an iteration release • Keep iteration durations to a minimum of about 1-2 months

  33. Iterative Project Management Issues • Change in responsibilities and perspective of team members and clients • Analysts • Developers • Testers • Project Manager • Quality Assurance and Method Expert • Client

  34. Exercise: Collegiate Sports Case Study Refer to Exercises section of your workbook and complete: Exercise 1: Project Planning

  35. Module 2 Review • A Project Manager must monitor and steer an iterative project towards success by regularly assessing and re-planning. • Three concepts important for an iterative lifecycle are: • Addressing risk early • Stabilizing architecture early • Using objective measurements • Use of artifacts should be kept to a minimum, and the decision should be made about artifact evolution. • Important iterative project management artifacts are: • Software Development Plan • Iteration Plan • Iteration Assessment • Team responsibilities evolve through phases and iterations, so staffing and scheduling must evolve.

More Related