Download presentation
Presentation is loading. Please wait.
1
Copyright 2001 - Larry Dribin, Ph.D. SE470_ProjMgmt_v1.ppt SE470 - ProjMgmt - 1 Excellence in Software Engineering Repeatable Level Defined Level Manage d Level Initial Level Optimized Level SE470 - Project Management Workflow Excellence in Software Engineering Repeatable Level Defined Level Managed Level Initial Level Optimizing Level Larry Dribin, Ph.D. - DePaul University Phone: (847)807-7390 - Fax: (847)459-1650 Email: dribin@cs.depaul.edu Copyright 2001 - Larry Dribin, Ph.D. - v1 10-21-01
2
Copyright 2001 - Larry Dribin, Ph.D. SE470_ProjMgmt_v1.ppt SE470 - ProjMgmt - 2 Excellence in Software Engineering Repeatable Level Defined Level Manage d Level Initial Level Optimized Level Agenda Lecture / discussion on Project Management Workflow & Architecture A1 - Informal presentation of each person’s experiences (Complete) A2 - Present, discuss and plan next interation
3
Copyright 2001 - Larry Dribin, Ph.D. SE470_ProjMgmt_v1.ppt SE470 - ProjMgmt - 3 Excellence in Software Engineering Repeatable Level Defined Level Manage d Level Initial Level Optimized Level Best Practices Rational’s View of Best Practices: Develop Iteratively Manage Requirements Use Component Architectures Model Visually Continuously Verify Quality Control Change XP View of Best Practices: The Planning Game Small releases Metaphor Simple design Testing Refractoring Pair Programming Collective ownership Continuous integration 40-hour work week On-site customer Coding standards “An organized and documented set of principles, methods and processes that increase quality and productivity of software development.” Source: Rational - “Principles of Managing Iterative Development v2.0” “An organized and documented set of principles, methods and processes that increase quality and productivity of software development.” Source: Rational - “Principles of Managing Iterative Development v2.0”
4
Copyright 2001 - Larry Dribin, Ph.D. SE470_ProjMgmt_v1.ppt SE470 - ProjMgmt - 4 Excellence in Software Engineering Repeatable Level Defined Level Manage d Level Initial Level Optimized Level Rational Unified Process - Phases
5
Copyright 2001 - Larry Dribin, Ph.D. SE470_ProjMgmt_v1.ppt SE470 - ProjMgmt - 5 Excellence in Software Engineering Repeatable Level Defined Level Manage d Level Initial Level Optimized Level Iterations and Phases
6
Copyright 2001 - Larry Dribin, Ph.D. SE470_ProjMgmt_v1.ppt SE470 - ProjMgmt - 6 Excellence in Software Engineering Repeatable Level Defined Level Manage d Level Initial Level Optimized Level Iterative Development
7
Copyright 2001 - Larry Dribin, Ph.D. SE470_ProjMgmt_v1.ppt SE470 - ProjMgmt - 7 Excellence in Software Engineering Repeatable Level Defined Level Manage d Level Initial Level Optimized Level Project Management Workflow Coarse- Grained Plan Fine-Grained Plan Iter. #1 Iter. #2 Iter. #3 Iter. #4 Iter. # 5 Beta1 Beta 2 Product Release v v v v 5/01 6/01 7/01 8/01 9/01 11/01 12/01 2/02
8
Copyright 2001 - Larry Dribin, Ph.D. SE470_ProjMgmt_v1.ppt SE470 - ProjMgmt - 8 Excellence in Software Engineering Repeatable Level Defined Level Manage d Level Initial Level Optimized Level Inception Objectives Establish the Projects Scope Define the high level Requirements / Use Cases Exhibit a candidate Architecture Estimate the Cost & Schedule Estimate the Risk Activities Formulate the Scope Prepare a Business Case which include: Risk Management, Staffing, Project Plan, & Tradeoffs between: Cost, Schedule & Profitability Develop a Candidate Architecture Outcomes / Artifacts Vision Document Use-Case Model Survey (list of all use cases and actors) Business Case Risk Assessment Project Plan Evaluation Criteria Stakeholder Concurrence Requirements Understanding Credibility of estimates Depth & Breadth of architectural prototype Actual Expenditures vs. Planned Expenditures Inception -> Elaboration -> Construction -> Transition
9
Copyright 2001 - Larry Dribin, Ph.D. SE470_ProjMgmt_v1.ppt SE470 - ProjMgmt - 9 Excellence in Software Engineering Repeatable Level Defined Level Manage d Level Initial Level Optimized Level Elaboration Objectives Define & validate the Architecture Baseline of Vision Baseline of Construction Plan Demonstrate that Architecture will support the Vision Activities Elaborate the Vision Elaborate: – Process – Infrastructure – Tools & Automation Elaborate the Architecture – Begin to Evaluate Components Outcomes / Artifacts Use-Case Model Supplementary Requirements Software Architecture Description Executable Architectural Prototype Development Plan Evaluation Criteria Is the Vision stable? Is the Architecture Stable? Does the Prototype show that the risks have been addressed? Is the construction phase plan sufficiently detailed? Do all stakeholders agree that the vision can be achieved with the current plan and architecture? Is the resource plan acceptable? Inception -> Elaboration -> Construction -> Transition
10
Copyright 2001 - Larry Dribin, Ph.D. SE470_ProjMgmt_v1.ppt SE470 - ProjMgmt - 10 Excellence in Software Engineering Repeatable Level Defined Level Manage d Level Initial Level Optimized Level Construction Objectives Achieve useful versions Achieve adequate quality Minimize development costs Construct as rapidly as possible Activities Complete Component Development Resource Management and process optimization Assess product releases against acceptance criteria and Vision Outcomes / Artifacts Software Product Releases Description of current release Users Manuals Evaluation Criteria Is the product release stable? Are all stakeholders ready for transition? Are resource expenditures vs. planned expenditures still acceptable Inception -> Elaboration -> Construction -> Transition
11
Copyright 2001 - Larry Dribin, Ph.D. SE470_ProjMgmt_v1.ppt SE470 - ProjMgmt - 11 Excellence in Software Engineering Repeatable Level Defined Level Manage d Level Initial Level Optimized Level Transition Objectives Move the software product to the user community Achieve user self-support Achieve stakeholder concurrence that deployment baselines are complete and consistent with the vision Activities Rollout of Product – Cutover to production – Commercial Packaging & Shipping Training of Users Tuning and bug fixing Add new features Assess deployment baseline against the vision Outcomes / Artifacts Deployed Software Beta Testing Parallel Operation Conversion of Data Bases Evaluation Criteria Is the user satisfied? Are the actual resources vs. planned resources acceptable Inception -> Elaboration -> Construction -> Transition
12
Copyright 2001 - Larry Dribin, Ph.D. SE470_ProjMgmt_v1.ppt SE470 - ProjMgmt - 12 Excellence in Software Engineering Repeatable Level Defined Level Manage d Level Initial Level Optimized Level Iteration within the Phases
13
Copyright 2001 - Larry Dribin, Ph.D. SE470_ProjMgmt_v1.ppt SE470 - ProjMgmt - 13 Excellence in Software Engineering Repeatable Level Defined Level Manage d Level Initial Level Optimized Level Iteration is a way to Control Risk & Poorly Defined Requirements Project Management Requirements Analysis & Design Implementation Test (Validation & Verification) Deployment Selected Scenarios Product Release The Iteration Life Cycle is a mini-waterfall.
14
Copyright 2001 - Larry Dribin, Ph.D. SE470_ProjMgmt_v1.ppt SE470 - ProjMgmt - 14 Excellence in Software Engineering Repeatable Level Defined Level Manage d Level Initial Level Optimized Level Metrics are the Basis of Iteration Assessment Iteration ‘N’ Assessment Compare iteration actual costs, schedule and functional content with plan Determine rework (if any) Determine what risks have been eliminated or reduced Determine what risks remain and any new risks Update overall project plan for next iteration Prepare detailed plan for next iteration Iteration ‘N’ Costs & Schedule Actuals Quality Assessment Test Results Defect Density Architecture Stability Requirements Stability Revised Risk Plan Revised Project Plan total Cost Schedule Scope Iteration ‘N+1’ Plan Cost Schedule Content
15
Copyright 2001 - Larry Dribin, Ph.D. SE470_ProjMgmt_v1.ppt SE470 - ProjMgmt - 15 Excellence in Software Engineering Repeatable Level Defined Level Manage d Level Initial Level Optimized Level Benefits of an Iterative Approach Risk Mitigation Requirements Risks Integration Risks Architectural Risks Easier to Accommodate Change Requirements Tactical Technology Learning As You Go Increased Opportunity for Reuse Better overall Quality
16
Copyright 2001 - Larry Dribin, Ph.D. SE470_ProjMgmt_v1.ppt SE470 - ProjMgmt - 16 Excellence in Software Engineering Repeatable Level Defined Level Manage d Level Initial Level Optimized Level Core Workflows Engineering Workflows Business Modeling Requirements Definition Analysis and Design Implementation Test Deployment Supporting Workflows Project Management Configuration and change management Environment
17
Copyright 2001 - Larry Dribin, Ph.D. SE470_ProjMgmt_v1.ppt SE470 - ProjMgmt - 17 Excellence in Software Engineering Repeatable Level Defined Level Manage d Level Initial Level Optimized Level Architectural Views Definition System Organization Selection of Structural elements and their interfaces and their behavior Composition of these elements into progressively larger subsystems Architectural Style that guides this organization Presentation Different Views for Different Stakeholders – Analyst – End user – Project Manager – Designer – Developers – etc. Logical View Process View Implementation View Deployment View Use Case View End Users Programmers End Users System Integrators System Engineering The 4+1 View
18
Copyright 2001 - Larry Dribin, Ph.D. SE470_ProjMgmt_v1.ppt SE470 - ProjMgmt - 18 Excellence in Software Engineering Repeatable Level Defined Level Manage d Level Initial Level Optimized Level Use Cases A Use Case is a sequence of actions a system performs that yields an observable result of value to a particular actor An Actor is someone or something outside the system that interacts with the system Withdraw Money Client Check Balance Transfer Money Use Case for an ATM (RUP p100)
19
Copyright 2001 - Larry Dribin, Ph.D. SE470_ProjMgmt_v1.ppt SE470 - ProjMgmt - 19 Excellence in Software Engineering Repeatable Level Defined Level Manage d Level Initial Level Optimized Level Metaphor - XP’s View of Architecture Architecture is just as important in XP projects as it is in any software project Each XP Project is guided by a single overarching metaphor Part of the Architecture is captured in the “Systems Metaphor” The XP Metaphor replaces much of what other people call “architecture” Issues with “architecture” Architectures do not push system into any sense of cohesion An Architecture is the big boxes and connections By asking for a metaphor, we are likely to get an architecture that is easy to communicate and elaborate Put a simple “Architecture” in place and evolve it
20
Copyright 2001 - Larry Dribin, Ph.D. SE470_ProjMgmt_v1.ppt SE470 - ProjMgmt - 20 Excellence in Software Engineering Repeatable Level Defined Level Manage d Level Initial Level Optimized Level Role of pictures in design: There is nothing wrong with pictures Trouble drawing pictures can give you a subtle clue that the design is in trouble You can design quickly with Pictures Anyone can design with Pictures Issues with Pictures They can’t give you concrete feedback like tests of code can It is hard to keep the Pictures and the Code in synchronization
21
Copyright 2001 - Larry Dribin, Ph.D. SE470_ProjMgmt_v1.ppt SE470 - ProjMgmt - 21 Excellence in Software Engineering Repeatable Level Defined Level Manage d Level Initial Level Optimized Level Full Life Cycle Software Engineering Processes Needs Analysis Design Build Operate Project Tracking & Oversight Project Planning Subcontractor Management Quality Assurance Configuration Management & Documentation Standards Performance Measurement Systems Management Call Management Tech. Support & Maintenance Requirements Management Software Product Engineering Project Evaluation & Prioritization (Work Request) Technology Organization Technology Strategy Organization Process Function IT Value Chain
22
Copyright 2001 - Larry Dribin, Ph.D. SE470_ProjMgmt_v1.ppt SE470 - ProjMgmt - 22 Excellence in Software Engineering Repeatable Level Defined Level Manage d Level Initial Level Optimized Level The Planning Game (XP p 86) The Pieces - Story Cards The Players Business Development The Moves Exploration – Write a story – Estimate a story – Split / refine a story Commitment – Sort by value – Sort by risk – Set Velocity (how fast can the development team go) – Choose scope The Moves (Continued) Steer – Iteration - Business picks one iteration worth of the most valuable stories – Recovery - If Development overestimated, it can ask the Business to revise the stories for this iteration – New Story - If Business needs a new story, it can write the story and – Re-estimate - If development feels that the plan is no longer accurate, it can re-estimate all of the remaining stories
23
Copyright 2001 - Larry Dribin, Ph.D. SE470_ProjMgmt_v1.ppt SE470 - ProjMgmt - 23 Excellence in Software Engineering Repeatable Level Defined Level Manage d Level Initial Level Optimized Level Iteration Planning (XP p 91) The Pieces - Task Cards The Players - Individual Programmers Elaboration Phase Write a task Split / combine tasks Commitment Phase Accept a Task Estimate a Task Set Load Factor Balancing Steering Phase Record Progress Recovery Verify Story
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.