This action might not be possible to undo. Are you sure you want to continue?
8 September 1994
Lecture Notes on Project Management
Technische Universität München Lehrstuhl für Angewandte Softwaretechnik
14 July 1998
Component-Based Software Engineering
Odds and Ends I
Book on CBSE Homepage
w See Post by Allen Duoit on July 13
u u u u u u
Chapter 1, Introduction Chapter 3, Software Lifecycle Chapter 5, Project Communication Chapter 6, Requirements Elicitation Chapter 7, Requirements Analysis Chapter 9, Design Rationale Chapter 8 System Design Chapter 4 Project Management
w Chapters available on August 15:
Component-Based Software Engineering
Odds and Ends II
w Finish System Design w Project Management (No reading available yet)
Lecture on Wednesday:
w Communication & Meeting Management
Reading: Bruegge-Dutoit Ch 5
Lecture next Tuesday:
w Software Lifecycle
Reading: Bruegge-Dutoit Ch 3
Component-Based Software Engineering
Outline of Lecture v v v v v v v v v v v Concepts and terminology Purpose of Software Project Management Plans Structure of a Project Management Plan Project responsibilities Team structures Project planning Work breakdown structure Communication Management Dependencies Schedule Project Management Tools Component-Based Software Engineering 4 Bernd Bruegge .
the rate of change will exceed the rate of progress. When things just can’t get worse. something will go wrong. Project teams detest progress reporting because it manifests their lack of progress. When things appear to be going better. When things are going well.Laws of Project Management v Projects progress quickly until they are 90% complete. If project content is allowed to change freely. Then they remain at 90% complete forever. you have overlooked something. v v v Bernd Bruegge Component-Based Software Engineering 5 . they will.
How it should go Requirements Analysis Design Implementation System Testing Delivery and Installation Bernd Bruegge Component-Based Software Engineering 6 .
How it often goes Requirements Analysis D E L A Y Vaporware 7 Bernd Bruegge Component-Based Software Engineering .
Functions v Software Project Management Plan: w The controlling document for a software project. w A software project has a specific duration.Software Project Management Plan v Software Project: w All technical and managerial activities required to deliver the deliverables to the client. consumes resources and produces work products. Activities. w SPMP may be part of project agreement. w Specifies the technical and managerial approaches to develop the software product. w Companion document to requirements analysis document: Changes in either may imply changes in the other document. w Management categories to complete a software project: u Tasks. Bernd Bruegge Component-Based Software Engineering 8 .
Can be a contract. delivery dates. v v v Client: Individual or organization that specifies the requirements and accepts the project deliverables. duration. cost and deliverables for the project. Deliverables (= Work Products that will be delivered to the client: w w w w Documents Demonstrations of function Demonstration of nonfunctional requirements Demonstrations of subsystems Bernd Bruegge Component-Based Software Engineering 9 . or a project charter. quantities. a statement of work.Project Agreement v Document written for a client that defines: w the scope. a business plan. w the exact items. delivery location.
Project Agreement vs Problem Statement Client (Sponsor) Manager Project Team Problem Statement Project Agreement Bernd Bruegge Software Project Management Plan Component-Based Software Engineering 10 .
Project: Functions. Activities and Tasks Function Project Function Activity Activity Task Activity Activity Task Task Activity Activity Task Bernd Bruegge Component-Based Software Engineering 11 .
Functions v Activity or set of activities that span the duration of the project Function Project Function Activity Activity Activity Activity Activity Activity Task Task Task Task Bernd Bruegge Component-Based Software Engineering 12 .
We call them cross-development processes Bernd Bruegge Component-Based Software Engineering 13 .Functions v Examples: w w w w w Project management Configuration Management Documentation Quality Control (Verification and validation) Training v v Question: Is system integration a project function? Mapping of terms: Project Functions in the IEEE 1058 standard are called Integral processes in the IEEE 1074 standard.
Tasks Function Project Function • Smallest unit of work subject to management • Small enough for adequate planning and tracking • Large enough to avoid micro management Bernd Bruegge Component-Based Software Engineering 14 Activity Activity Activity Activity Activity Activity Task Task Task Task .
acceptance criteria for it Risk involved v Completion criteria w Includes the acceptance criteria for the work products (deliverables) produced by the task. required resources Work product to be produced.Tasks v Smallest unit of management accountability w Atomic unit of planning and tracking w Finite duration. description of work to be done Preconditions for starting. duration. Bernd Bruegge Component-Based Software Engineering 15 . need resources. code) v Specification of a task: Work package w w w w Name. produce tangible result (documents.
Bernd Bruegge Component-Based Software Engineering 16 .Task Sizes v Finding the appropriate task size is problematic w Todo lists from previous projects w During initial planning a task is necessarily large w You may not know how to decompose the problem into tasks at first w Each software development activitity identifies more tasks and modifies existing ones v Tasks must be decomposed into sizes that allow monitoring w Work package usually corresponds to well defined work assignment for one worker for a week or a month. w Depends on nature of work and how well task is understood.
Action item Bernd Bruegge Component-Based Software Engineering 17 .Examples of Tasks v v v v v v v v v Unit test class “Foo” Test subsystem “Bla” Write user manual Write meeting minutes and post them Write a memo on NT vs Unix Schedule the code review Develop the project plan Related tasks are grouped into hierarchical sets of functions and activities.
Action Item v v Definition: A task assigned to a person that has to be done within a week or less Action items w Appear on the agenda in the Status Section (See lecture on communication) w Cover: What?. Who?. 12noon. w The VIP team develops the project plan by Sep 18 Bernd Bruegge Component-Based Software Engineering 18 . When? v Example of action items: w Florian unit tests class “Foo” by next week w Marcus develops a project plan before the next meeting w Bob posts the next agenda for the Simulation team meeting before Sep 10.
Activities Function Project Function Activity Activity Activity • Major unit of work with precise dates • Consists of smaller activities or tasks • Culminates in project milestone. Activity Activity Activity Task Task Task Task Bernd Bruegge Component-Based Software Engineering 19 .
step...Activities v v Major unit of work Culminates in major project milestone: w Internal checkpoint should not be externally visible w Scheduled event used to measure progress v Activitites may be grouped into larger activities: w Establishes hierarchical structure for project (phase.) w Allows separation of concerns w Precedence relations often exist among activities (PERT Chart) v Milestone often produces baseline: w formally reviewed work product w under change control (change requires formal procedures) Bernd Bruegge Component-Based Software Engineering 20 . .
Examples of Activities v Major Activities: v Activities w Planning w Requirements Analysis w System Design w Object Design w Implementation w System Testing w Delivery during requirements analysis: w Refine scenarios w Define Use Case model w Define object model w Define dynamic model w Design User Interface Bernd Bruegge Component-Based Software Engineering 21 .
Work Elements. Project Organization 3. Technical Process 5. Front Matter 1. Introduction 2. Managerial Process 4. Schedule.Structure of a Software Project Management Plan v v v v v v v 0. Budget Optional Inclusions Bernd Bruegge Component-Based Software Engineering 22 .
figures.SPMP Part 0: Front Matter v Title Page v Revision sheet (update history) v Preface: Scope and purpose v Tables of contents. tables Bernd Bruegge Component-Based Software Engineering 23 .
SPMP Part 1: Introduction v 1.2 w All items to be delivered.1 Project Overview Project Deliverables Evolution of the SPMP Reference Materials Definitions and Acronyms Component-Based Software Engineering 24 w Executive summary: description of project.4 v 1.3 v 1.5 Bernd Bruegge w Plans for anticipated and unanticipated change w Complete list of materials referenced in SPMP . including delivery dates and location v 1. product summary v 1.
3 v 2.SPMP Part 2: Project Organization v 2. organization chart w Relations with other entities w Major functions and activities.2 v 2.4 Process Model Organizational Structure Organizational Interfaces Project Responsibilities w Relationships among project elements w Internal management.1 v 2. nature of each. who’s in charge Bernd Bruegge Component-Based Software Engineering 25 .
tasks w Milestones w Baselines w Reviews w Work breakdown structure w Project deliverables w Sign-offs Bernd Bruegge Component-Based Software Engineering 26 .Process Model v Shows among relationships v Visualization v of process model Project Management Aids w MS Project (Microsoft) w MAC Project (Claris) w EasyTrak (Planning Control International) w Functions. activities.
Example of an Organization Chart Client Management Consultants Cross-functional Teams Development Teams Architecture HCI Web Master Documentation Configuration Mgt Logbook Maintenance Vehicle Travel VIP Infrastructure Team Bernd Bruegge Component-Based Software Engineering 27 .
Managers and Consultants Management Malcolm Bauer Bernd Bruegge Allen Dutoit Brian Cavalier Sam Perman Isabel Torres-Yebra Alfonso Guerrero.Clients. Claus Czymmek Infrastructure Team Stephan Schoenig (CMU) Joyce Johnstone (CMU) Andreas Doerner (DB) Arno Schmackpfeffer (DB) Bernd Bruegge Component-Based Software Engineering 28 .Galan Client Dieter Hege Brigitte Pihulak Consultants Klaus Eitzenberger Manfred Mueller Juergen Bortolazzi.
Development and Cross-functional Teams Logbook Team Aaron Wald Herbert Stiel Michael Poole MichaelScheinholtz Nathaniel Woods Pradip Hari Uhyon Chung Maintenance Team Arjun Cholkar Aveek Datta Darren Mauro Joel Slovacek Steve Sprang Vincent Mak Yenni Kwek Vehicle Team Andrew Wang Hoda Moustapha Jaewoo You Ognjen Martinovic Paul Stadler Tze Bin Loh William Ferry Travel Team Ann Sluzhevsky Bin Zhou Christopher Chiappa Gordon Cheng John Doe Kalyana Prattipati Michael Samuel VIP Team Christopher Lumb Eric Farng Idan Waisman Li-Lun Cheng Patrick Toole Phillip Ezolt Venkatesh Natarajan HCI Team Darren Mauro Gordon Cheng Idan Waisman Paul Stadler Steve Sprang Tze Bin Loh Yenni Kwek Web Master Team Uhyon Chang (Logbook) Aveek Datta (Maintenance) Tze Bin Loh (Simulation) Kalyana Prattipati (Travel) Component-Based Software Engineering Configuration Mgt Team Michael Poole (Logbook) Darren Mauro (Maintenance) William Ferry (Simulation) Chris Chiappa (Travel) Eric Farng (VIP) 29 Bernd Bruegge .
Project Responsibilities v v v v v v v v v v Planner Analyst Designer Programmer Tester Maintainer Trainer Document Editor Web Master Configuration Manager v v v v Group leader Liaison Minute Taker Project Manager Bernd Bruegge Component-Based Software Engineering 30 .
Project Management: Hierarchical Project Organization Chief Executive Team Leaders Project Members Basis of organization: Hierarchical information flow across corporate boundaries Bernd Bruegge Component-Based Software Engineering 31 .
Example of Hierchical Organization: Chief Programmer Team Chief Programmer Assistant Chief Programmer Senior Programmer Librarian Administration Tester Junior Programmer Bernd Bruegge Component-Based Software Engineering 32 .
Another Project Organization: Egoless Programming Team(Weinberg) Analyst Tester Programmer Designer Librarian Bernd Bruegge Component-Based Software Engineering 33 .
Project-Based Project Organization Project Leader Team Leaders Subsystem Team Subsystem Team Subsystem Team Team Members Basis of organization: Nonlinear information flow across dynamically formed units Bernd Bruegge Component-Based Software Engineering 34 .
Observations on Management Structures v Egoless structures don't work well w "Ownership" is important v Hierarchical information flow does not work well with iterative and incremental software development process w Manager is not necessarily always right v Project-based structures w Cut down on bureaucracy reduces development time w Decisions are expected to be made at each level w Hard to manage Bernd Bruegge Component-Based Software Engineering 35 .
Hierarchical Structure v Projects with high degree of certainty. stability. the more need for a formal structure wCustomer might insist that the test team be independent from the design team wProject manager insists on a previously successful structure Bernd Bruegge Component-Based Software Engineering 36 . wRequires little communication wRole definitions are clear v When? wThe more people on the project. uniformity and repetition.
Project-Based Structure v Project with degree of uncertainty wOpen communication needed among members wRoles are defined on project basis v When? wRequirements change during development wNew technology develops during project Bernd Bruegge Component-Based Software Engineering 37 .
Assigning Responsibilities To People Project To Do List • Item 1 • Item 2 • Item 3 • Item 4 • Item 5 • Item 6 • Item 7 • Item 8 • Item 9 Role 3 Item 3 Item 6 Item 8 Role 1 Item 1 Item 2 Item 9 Role 2 Item 4 Item 5 Item 7 Person A Role 1 Role 2 Person B Role 3 Bernd Bruegge Component-Based Software Engineering 38 .
Possible Mappings of ToDos to People v One-to-One w Ideal but often not worth to be called a project v Many-to-Few w Each project member assumes several roles ("hats") w Danger of overcommittment w Need for load balancing v Many-to-"Too-Many" w Some people don't have significant roles w Bystanders w Loosing touch with project Bernd Bruegge Component-Based Software Engineering 39 .
client acceptance test) v Resolve conflicts if they cannot be resolved otherwise Bernd Bruegge Component-Based Software Engineering 40 . client review.Project Roles: Coach v Listen to gripes from individual teams v Review weekly team reports v Attend weekly project meetings v Schedule and prepare meetings with client v Insist that guidelines are followed v Assign presentations (in-class project meetings.
Project Role: Group leader v Responsible for intra-group communication (Meeting Management: Primary Facilitator) w Run the weekly project meeting w Post agenda before meeting w Define and keep track of action items (who. when) w Measure progress (Enforce milestones) w Deliver work packages for the tasks to the project management w Present problems and status of team to project manager v The group leader has to be rotated among members of the team. Component-Based Software Engineering 41 Bernd Bruegge . what.
Group Leader: Create an Agenda
v v v v v
Purpose of Meeting Desired Outcome Information Sharing Information Processing Meeting Critique
Action Items (Check Previous Meeting)
Issues (Check Previous Meeting & BBoards)
Bernd Bruegge Component-Based Software Engineering 42
Project Role: Group Liason (Architecture, HCI)
for inter-group communication
w Make available public definitions of subsystem developed by the team to the architecture teams (ensure consistency, etc) w Coordinate tasks spanning more than one group with other teams
for team negotiations
Component-Based Software Engineering
Project Role: Planner
the activities of an individual team and has the following responsibilities. v Define project plan for team:
w PERT chart, resource table and GANTT chart showing work packages w Enter project plan into MS Project
project plan available to management v Report group project status to group leader No explicit planner in JAMES. Responsibilities assumed by group leaders
Bernd Bruegge Component-Based Software Engineering 44
Project Role: Document Editor v Collect. proofread and distribute team documentation v Submit team documentation to Architecture team v Collect agendas v Take Minutes at meetings Bernd Bruegge Component-Based Software Engineering 45 .
Web Master v Maintain team home page v Keep track of meeting history v Keep track of design rationale Bernd Bruegge Component-Based Software Engineering 46 .
Web Master: v Publish Meeting Information on Team Homepage w Must contain Agenda. etc (maintained by several roles) Agenda Agenda Minutes Minutes Action Items Action Items Issues Date 9/9/96 Issues 9/16/96 Agenda Minutes Action Items Issues 47 Bernd Bruegge Component-Based Software Engineering . action items and issues w Possibilities: u u One HTML document per meeting. with anchors (maintained by one role) Separate HTML documents for Agenda. Minutes. minutes.
1 Management Objectives and Priorities w Philosophy. how much?. assessing. when?) Bernd Bruegge Component-Based Software Engineering 48 . goals and priorities v 3.SPMP Part 3: Managerial Processes v 3.3 Risk Management w Identifying.4 Monitoring and Controlling Mechanisms w Reporting mechanisms and formats.2 Assumptions. Constraints w External factors v 3. contingencies for risks v 3. Dependencies. reviews v v 3. information flows. tracking.5 Staffing Plan Needed skills (what?.
Examples of Assumptions v v v v v There are enough cycles on the development machines Security will not be addressed There are no bugs in the CASE Tool recommended for the project A demonstration of the X system will be given by the client The CAD Model of the seat will be made available by the client Bernd Bruegge Component-Based Software Engineering 49 .
0.2 v Bernd Bruegge Component-Based Software Engineering 50 .Examples of Dependencies v The VIP team depends on the vehicle subsystem provided by the vehicle team The automatice code generation facility in the CASE tool Rose/Java depends on JDK. The current release of Rose/Java supports only JDK 1.
It will take time to learn how to use the tools Not every project member is always up-to-date with respect to the project status The use of UML and a CASE tool is required Any new code must be written in Java The system must use Java JDK 1. limited amount of time to build the system The project consists of beginners.1 Bernd Bruegge Component-Based Software Engineering 51 .Examples of Constraints v v v v v v The length of the project is 3 months.
Functionality of the system is renegotiated with the client. w Contingency: Extra project meetings are scheduled. Risk: Rose will not support JDK 1.1 w Contingency: ? Bernd Bruegge Component-Based Software Engineering 52 .Risk Management v Risk: Members in key roles drop the course. w Contingency: Roles are assigned to somebody else. v Risk: One subsystem does not provide the functionality needed by another subsystem. w Contingency: ? v v Risk: The project is falling behind schedule.
v 4.3 Project Support Functions w Plans for functions (quality assurance. policies. including milestones. development method. v 4.SPMP Part 4: Technical Process v 4. etc. Bernd Bruegge Component-Based Software Engineering 53 . Tools and Techniques w Computing system.2 Software Documentation w Documentation plan. team structure. configuration management).1 Methods. w Standards. reviews and baselines. guidelines.
SPMP Part 5: Work Elements v 5. activities and tasks. accounting for dependencies. activities and tasks v 5.4 Budget and Resource Allocation w Connect costs to functions.3 Resource Requirements w Estimates for resources such as personnel. computer time.2 Dependencies w Precedence relations among functions. special hardware. v 5. support software.5 Schedule w Deadlines. required milestones Bernd Bruegge Component-Based Software Engineering 54 . definitions of tasks v 5.1 Work Packages (Work breakdown structure) w Project decomposed into tasks. v 5.
Creating Work Packages v Work Breakdown Structure (WBS) (Section 5. w The work breakdown structure does not show the interdependence of the tasks v WBS identification is an instance of object identification Bernd Bruegge Component-Based Software Engineering 55 . steps) and tasks.1) w Break up project into activities (phases.
N.J.2 % or 15 PMs v Determination of work breakdown structure is incremental and iterative WBS Schedule Source: Software Engineering Economics.WBS Trade-offs v v Work breakdown structure influences cost and schedule Thresholds for establishing WBS in terms of percentage of total effort: w Small project (7 person-month): at least 7% or 0. Boehm p. 1981 Cost (Time. $$) Bernd Bruegge Component-Based Software Engineering 56 .5 PM w Medium project (300 person-month): at least 1% or 3 PMs w Large project (7000 person-month): at least 0. Barry W.. 47. Prentice Hall.
2 + 5.Dependencies and Schedule (Section 5.5) v v An important temporal relation: “must be preceded by” Dependency graphs show dependencies of the tasks (hiercharchical and temporal) w Activity Graph: u u Nodes of the graph are the project milestones Lines linking the nodes represent the tasks involved Nodes are tasks and milestones Lines represent temporal dependencies w Schedule Chart (MS-Project): u u v v Estimate the duration of each task Label dependency graph with the estimates Bernd Bruegge Component-Based Software Engineering 57 .
Project Management Tools for Work Packages v Visualization Aids for Project Presentation w Graphs (Schedule). v Schedule Chart (PERT Chart) w Cornerstone in many project management tools w Graphically shows dependencies of tasks and milestones u u PERT: Program Evaluation and Review Technique – A PERT chart assumes normal distribution of tasks durations – Useful for Critical Path Analysis CPM: Critical Path Method Component-Based Software Engineering 58 Bernd Bruegge . Trees (WBS) w Tables (Resources) v Task Timeline w Gantt Charts: Shows project activities and tasks in parallel. Enables the project manager to understand which tasks can be performed concurrently.
GANTT Chart Example for OWL Project 8/9/96 9/6/96 10/4/96 11/1/96 11/29/96 12/27/96 Start Planning Phase Requirements Analysis Phase System Design Phase Analysis Review Object Design Project Review Implementation & Unit Testing Object Design Review System Integration Internal Project Review Client Acceptance Bernd Bruegge Component-Based Software Engineering 59 .
4: Obtaining materials Component-Based Software Engineering 60 Bernd Bruegge .2: Building the exterior w Activity 2.1: Surveying w Task 2.2: Seeding the Turf w Task 1.2: Obtaining permits w Task 18.104.22.168 : Site preparation w Activity 2.3: Planting shrubs and trees Activity 2: Building the House w Activity 2.Project: Building a House v v v v Activity 1: Landscaping the lot w Task 1.1.3: Excavating Task 2.3: Finishing the interior Activity 2.1 : Site preparation w Task 2.1: Clearing and grubbing w Task 1.1.
22.214.171.124: Wallboard w Task 2.4: Exterior electrical work w Task 2.2.4: Interior painting w Task 2.3.3 : Finishing the Interior w Task 2.Activity 2: Building a House.1: Foundation w Task 126.96.36.199: Floor covering w Task 188.8.131.52: Interior plumbing w Task 2. ctd v Activity 2.2: Interior electrical work w Task 2.6: Doors and fixtures Bernd Bruegge Component-Based Software Engineering 61 .2.3: Exterior plumbing w Task 2.2.8: Roof v Activity 2.2.5: Exterior siding w Task 2.2.2: Building the exterior w Task 2.7: Doors and Fixtures w Task 2.6: Exteror painting w Task 2.2: Outside Walls w Task 2.3.
5 3.6 Bernd Bruegge FINISH 62 Component-Based Software Engineering .2 1.1 Install Interior Electrical 3.3 Paint Interior Install Flooring 3.1 Build Outside Wall Install Exterior Plumbing 2.3 Buy Materials 1.3 Install Exterior Electrical 2.8 3.5 Paint Exterior 2.1 Excavation 1.7 2.Activity Graph for Activity “Building a House” START Build Outside Wall Surveying 1.2 Install Wallboard 3.4 Lay Foundation 2.4 Install Exterior Siding 2.2 Install Interior Plumbing 3.6 2.4 Install Rooﬁng Install Interior Doors 2.6 Install Exterior Doors 2.
PERT Chart Example for "Building a House" 12/3/94 12/21/94 1/11/95 Install Wallboard 0 9 1/22/95 Paint Interior 0 11 1/22/95 2/8/95 Install Interior Doors 0 7 2/16/95 FINISH 1/19/95 0 Install 0 Exterior Doors 15 6 Building a House: MS Project PERTcy Chart with Duration of Activities (Pfleeger 2.3) 0 12 Install Interior Plumbing 0 15 Install Interior Electrical Install Flooring 8/27/94 8/27/94 9/17/94 START 0 0 Survey ing 12 3 8/27/94 Request Permits 0 15 12/3/94 Start Time 8/29/94 Legend Slack Time Duration Bernd Bruegge 10/1/94 10/15/94 11/5/94 Build Outside Wall 0 20 1/19/95 Excava tion 0 10 Buy Material 0 10 Lay Founda tion 0 15 0 18 Install Roofing 12 9 1/12/95 Paint Exterior 12 5 12/17/94 12/31/94 Install Exterior Siding 12 8 63 Install Exterior Plumbing 12 10 Install Exterior Electrical 12 10 0 0 Component-Based Software Engineering .
Earliest Start Time v Critical Path w The path in a project plan for which the slack time at each task is zero. Bernd Bruegge Component-Based Software Engineering 64 . The critical path has no margin for error when performing the tasks (activities) along its route.Slack Time and Critical Path v Slack Time w Available Time .Estimated (“Real”) Time for a task or activity w Or: Latest Start Time .
How do you become a good project planner? v Establish a project plan w Start with the plan based on your experience with the last project(s) v v v Keep track of activities and their duration Determine difference between planned and actual performance Make sure to do a post-mortem w Lessons learned w Ask developers for feedback w Write a document about what could have been improved Bernd Bruegge Component-Based Software Engineering 65 .
cmu.edu/15-413/courseDocs/spmpF96.html Bernd Bruegge Component-Based Software Engineering 66 .se.cs.Writing the SPMP v Example of a full SPMP for the OWL project w http://cascade1.
Project Management Heuristics v Make sure to be able to revise or dump a project plan w Complex system development is a nonlinear activity v If project goals are unclear and complex use team-based project management. In this case w Avoid perfect GANTT charts and PERT charts w Don’t look too far into the future v v Avoid micro management of details Don’t be surprise if current project management tools don’t work: w They were designed for projects with clear goals and fixed organizational structures Bernd Bruegge Component-Based Software Engineering 67 .
activities.Project Management Summary v Get agreement among customers. Dependency graph. managers and teams w w w w Problem statement Software project management plan Project agreement Make sure agreement allows for iteration v v Team Structures Project planning w Start with work breakdown structure (WBS) w Identify dependencies and structure: Tasks. Critical Path Analysis Bernd Bruegge Component-Based Software Engineering 68 . functions v Tools and Techniques w GANTT. Schedule.
Communication Management v v v v v Communication in distributed Teams Communication Modes Communication Mechanisms Scheduled Communications Communication workflow w Example: Distributed Document Review with Lotus Notes Bernd Bruegge Component-Based Software Engineering 69 .
Box 1 Pair of Wires Box 2 Bernd Bruegge Component-Based Software Engineering 70 .A Communication Example v "Two missile electrical boxes manufactured by different contractors were joined together by a pair of wires.
" Box 1 Box 2 Bernd Bruegge Component-Based Software Engineering 71 .A Communication Example ctd v Thanks to a particular thorough preflight check. it was discovered that the wires had been reversed.
"The postflight analysis revealed that the contractors had indeed corrected the reversed wires as instructed.." Bernd Bruegge Component-Based Software Engineering 72 . v v .After the Crash....
both of them had.“In fact.” Box 1 Box 2 Bernd Bruegge Component-Based Software Engineering 73 .
Bernd Bruegge Component-Based Software Engineering 74 .Communication is Important v Communication Mode: Type of information exchange that has defined objectives and scope w Scheduled: Planned Communication w Event Driven:Unplanned Communication v Communication Mechanism Tool or procedure that can be used to transmit or receive information w Synchronous: Sender and Receiver are available at the same time w Asynchronous: Sender and Receiver are not communicating at the same time.
Classification of Communication Communication mode supports is supported by Communication mechanism Scheduled Event driven Synchronous Asynchronous Client review Problem reporting Smoke signals Fax Bernd Bruegge Component-Based Software Engineering 75 .
Confirm Changes in Requirements u Bernd Bruegge System Design Review (October 23. 97) v Project Review: Focus on System Model w Objective: Assess status and review subsystem interfaces u u u Analysis Review (October 16. 1997) Implementation Review (November 25. Nonfunctional) and Constraints u Problem Statement Presentation (JAMES Example: August 26. 1997) v Client Review: Focus on Requirements w Objective: Brief Client of Progress. 1997) Component-Based Software Engineering 76 .Scheduled Modes of Communication v Problem Definition w Objective: Present Goals & Requirements (Functional. 1997) Object Design Review (November 11 & 13.
1997) Bernd Bruegge Component-Based Software Engineering 77 .Scheduled Modes of Communication v Walkthrough (Informal) w Objective: Increase quality of subsystem w Developer presents to team members Informal. peerto-peer u To be scheduled by each team v Inspection (Formal) w Objective: Compliance with (functional and nonfunctional) requirements w Developer answers questions from the reviewers u Client Acceptance Test (December 9.
Scheduled Modes of Communication v Status Review: w Objective: Find deviations from schedule and correct them or identify new issues w Part of every team meeting (Status) v Brainstorming: w Objective: Generate and evaluate large number of solutions for a problem w Part of every team meeting (Discussion) Bernd Bruegge Component-Based Software Engineering 78 .
Meeting as Scheduled and Synchronous Communication v Purpose of Meeting w Why do we meet? v Desired Outcome w What do we want to achieve? v Information Sharing w Action Items v Information Processing w Open Issues v Meeting Critique Action Items (From previous meeting) Issues (From previous meetings and BBoards) Bernd Bruegge Component-Based Software Engineering 79 .
Scheduled Modes of Communication v Release w The result of each software development activity u u u u u u Software Project Management Plan (SPMP) Requirements Analysis Document (RAD) System Design Document (SDD) Object Design Document (ODD) Test Manual User Manual v Postmortem u Review w Objective: Describe Lessons Learned Final Homework (December 16. 1997) Bernd Bruegge Component-Based Software Engineering 80 .
Event-Driven Modes of Communication v v v Request for Clarification Change Request Resolution of Issue Bernd Bruegge Component-Based Software Engineering 81 .
Telephone conversation v Groupware w Same time.Synchronous Communication Mechanisms v Hallway conversation w Unplanned face-to-face meeting v v Questionaire and structured interviews Meeting w Planned Face-to-Face Meeting. different location groupware Bernd Bruegge Component-Based Software Engineering 82 .
Asynchronous Communication Mechanisms v v v v E-Mail Newsgroups Web Lotus Notes Bernd Bruegge Component-Based Software Engineering 83 .
Example of Asynchronous Documentation: Document Review v v v v v v v v Fill out a review form Attach document to be reviewed Distribute the review form to reviewers Wait for comments from reviewers Review comments Create action items from selected comments Revise document and post the revised version Iterate the review cycle Example: w “Review of Documents” Database in JAMES Project Bernd Bruegge Component-Based Software Engineering 84 .
Review of Documents Database Bernd Bruegge Component-Based Software Engineering 85 .
NewReview Form Bernd Bruegge Component-Based Software Engineering 86 .
Fill out the Review Form v v v v Select reviewers Select the document to be reviewed Add comments to reviewers Determine deadline Bernd Bruegge Component-Based Software Engineering 87 .
Selected reviewers get e-mail
Component-Based Software Engineering
Status of Document Review
Component-Based Software Engineering
Reviewers add their Comments
Component-Based Software Engineering
Originator Notification Bernd Bruegge Component-Based Software Engineering 91 .
Final Recipient Notification Bernd Bruegge Component-Based Software Engineering 92 .
Document Editor & Web Master Tasks v v v v v v Editor reviews comments Editor selects reviewed comments Web Master posts reviewed document and action items Team members complete their action items Editor integrates changes Editor posts changed document on the review database for the next review cycle Bernd Bruegge Component-Based Software Engineering 93 .
Accepted Document w/ Action Items Bernd Bruegge Component-Based Software Engineering 94 .
SPMP Action Items Bernd Bruegge Component-Based Software Engineering 95 .
Summary v v v v Communication Modes vs Communication Mechanisms Scheduled Communications Asynchronous Communications Team review of documents with Lotus Notes Bernd Bruegge Component-Based Software Engineering 96 .
This action might not be possible to undo. Are you sure you want to continue?
We've moved you to where you read on your other device.
Get the full title to continue reading from where you left off, or restart the preview.