Presentation is loading. Please wait.

Presentation is loading. Please wait.

Copyright  2001 - Larry Dribin, Ph.D. SE470_ProjMgmt_v1.ppt SE470 - ProjMgmt - 1 Excellence in Software Engineering Repeatable Level Defined Level Manage.

Similar presentations


Presentation on theme: "Copyright  2001 - Larry Dribin, Ph.D. SE470_ProjMgmt_v1.ppt SE470 - ProjMgmt - 1 Excellence in Software Engineering Repeatable Level Defined Level Manage."— Presentation transcript:

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


Download ppt "Copyright  2001 - Larry Dribin, Ph.D. SE470_ProjMgmt_v1.ppt SE470 - ProjMgmt - 1 Excellence in Software Engineering Repeatable Level Defined Level Manage."

Similar presentations


Ads by Google