Bernd Bruegge & Allen Dutoit Object-Oriented Software Engineering: Conquering Complex and Changing Systems 1 Software Engineering November 7, 2001 Project.

Slides:



Advertisements
Similar presentations
Conquering Complex and Changing Systems Object-Oriented Software Engineering Chapter 12, Software Life Cycle.
Advertisements

Computer Science Department
Bernd Bruegge & Allen Dutoit Object-Oriented Software Engineering: Conquering Complex and Changing Systems 1 Software Engineering September 12, 2001 Capturing.
Using UML, Patterns, and Java Object-Oriented Software Engineering Chapter 3, Project Organization and Communication, Part 2.
Alternate Software Development Methodologies
IS4799 Information Systems and Cybersecurity Capstone Project
CSE 308 Project Management. SWE Communication Skills Management: Run a team meeting Presentation: Present aspects of your project during its development.
Using UML, Patterns, and Java Object-Oriented Software Engineering Royce’s Methodology Chapter 16, Royce’ Methodology.
Pair of Wires Box 1Box 2 A Communication Example "Two missile electrical boxes manufactured by different contractors were joined together by a pair of.
Conquering Complex and Changing Systems Object-Oriented Software Engineering TJSS System Design Lecture 12 Päivi Ovaska.
Project Management and Communication Represented by: Latifa Jaber Al-Ghafran.
Feb. 2, 2004CS WPI1 CS 509 Design of Software Systems Lecture #3 Monday, Feb. 2, 2004.
IS 421 Information Systems Management James Nowotarski 16 September 2002.
SE 555 Software Requirements & Specification Requirements Validation.
Using UML, Patterns, and Java Object-Oriented Software Engineering Chapter 3, Project Organization and Communication.
Configuration Management
CEN Fourth Lecture Introduction to Software Engineering (CEN-4010) Instructor: Masoud Sadjadi Project Organization.
Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 1 Reminders  First project report due today 14:00.
What is Business Analysis Planning & Monitoring?
Using UML, Patterns, and Java Object-Oriented Software Engineering Chapter 3, Project Organization and Communication.
Using UML, Patterns, and Java Object-Oriented Software Engineering Chapter 3, Project Organization and Communication, Part 1.
L545 Systems Analysis & Design Week 4: September 23, 2008.
Project Management Process Overview
S/W Project Management
Conquering Complex and Changing Systems Object-Oriented Software Engineering Chapter 1, Introduction to Software Engineering.
Conquering Complex and Changing Systems Object-Oriented Software Engineering Art for Chapter 11, Project Management.
Using UML, Patterns, and Java Object-Oriented Software Engineering Art for Chapter 3, Project Communication.
Using UML, Patterns, and Java Object-Oriented Software Engineering Chapter 16, Meeting Management with Scrum.
Conquering Complex and Changing Systems Object-Oriented Software Engineering Chapter 3, Project Communication.
 To explain the importance of software configuration management (CM)  To describe key CM activities namely CM planning, change management, version management.
© 2006 Cisco Systems, Inc. All rights reserved.Cisco Public 1 Version 4.0 Gathering Network Requirements Designing and Supporting Computer Networks – Chapter.
1.  Describe an overall framework for project integration management ◦ RelatIion to the other project management knowledge areas and the project life.
Using UML, Patterns, and Java Object-Oriented Software Engineering Chapter 3, Project Organization and Communication.
UNB CS3013 Software Engineering II lectures adapted from Bernd Bruegge & Allen Dutoit, Object-Oriented Software Engineering: Conquering Complex and Changing.
Using UML, Patterns, and Java Object-Oriented Software Engineering Chapter 4, Requirements Elicitation.
SacProNet An Overview of Project Management Techniques.
ISM 5316 Week 3 Learning Objectives You should be able to: u Define and list issues and steps in Project Integration u List and describe the components.
BUS 1040 Project Management Week 10 Let’s get a sense of direction Presented by Professor Fred Pentney.
1 Instructor: S. Masoud Sadjadi sadjadi At cs Dot fiu Dot edu Software Engineering and Project Communications.
FotoGazmic Software Project Plan Senior Project: CS 425 Spring 2003.
CEN 4010 First Lecture January 9, 2006 CEN 4010 Introduction to Software Engineering Spring 2006 Instructor: Masoud Sadjadi
© 2006 Cisco Systems, Inc. All rights reserved.Cisco Public 1 Version 4.0 Gathering Network Requirements Designing and Supporting Computer Networks – Chapter.
Using UML, Patterns, and Java Object-Oriented Software Engineering Chapter 16, Methodologies Extreme Programming.
These materials are prepared only for the students enrolled in the course Distributed Software Development (DSD) at the Department of Computer Science.
SYSC Software Project Management - Communication1 Project Organization & Communication Books: 1. B. Bruegge and A. H. Dutoit, Object-Oriented Software.
Chapter 3, Project Organization and Communication
Bernd Bruegge & Allen Dutoit Object-Oriented Software Engineering: Conquering Complex and Changing Systems 1 Software Engineering November 7, 2001 Rationale.
Project Scheduling, Tracking & Communication Aug, 2010 Presented by: Alok Wadehra.
Requirements Engineering Requirements Management Lecture-25.
Agenda: Overview of Agile testing Difference between Agile and traditional Methodology Agile Development Methodologies Extreme Programming Test Driven.
~ pertemuan 4 ~ Oleh: Ir. Abdul Hayat, MTI 20-Mar-2009 [Abdul Hayat, [4]Project Integration Management, Semester Genap 2008/2009] 1 PROJECT INTEGRATION.
Overview of Software Project Management Review – Class 5 UML diagrams cont Overview of Software Project Management - Communication CEN 4010 Class 6 – 09/15.
Review of Definitions Software life cycle: –Set of activities and their relationships to each other to support the development of a software system Software.
Overview of Software Project Management cont Review – Class 6 Scheduling Tasks Project Management Activities CEN 4010 Class 8 – 09/22.
Project Organization and Communication Roadmap for today’s class Project organization organization roles tasks and work products schedule – Gantt chart,
A comment from a student who took SE in Fall, 2004 I dont think the final result of any groups project directly relates to what we all learned in this.
Chapter 3, Project Organization and Communication
Chapter 3, Project Organization and Communication
Project Organization and Communication
Project Organization and Communication
Software Project Configuration Management
Project Organization & Communication
Chapter 11: Software Configuration Management
Project Organization and Communication
Chapter 3, Project Organization and Communication, Part 2
Chapter 11: Software Configuration Management
Introduction to Software Engineering (CEN-4010)
Joint Application Development (JAD)
Presentation transcript:

Bernd Bruegge & Allen Dutoit Object-Oriented Software Engineering: Conquering Complex and Changing Systems 1 Software Engineering November 7, 2001 Project Communication Joseph Conron Computer Science Department New York University

Bernd Bruegge & Allen Dutoit Object-Oriented Software Engineering: Conquering Complex and Changing Systems 2 Pair of Wires Box 1Box 2 A Communication Example "Two missile electrical boxes manufactured by different contractors were joined together by a pair of wires.

Bernd Bruegge & Allen Dutoit Object-Oriented Software Engineering: Conquering Complex and Changing Systems 3 Box 1Box 2 A Communication Example (continued) Thanks to a particular thorough preflight check, it was discovered that the wires had been reversed."

Bernd Bruegge & Allen Dutoit Object-Oriented Software Engineering: Conquering Complex and Changing Systems 4 After the Crash "The postflight analysis revealed that the contractors had indeed corrected the reversed wires as instructed."

Bernd Bruegge & Allen Dutoit Object-Oriented Software Engineering: Conquering Complex and Changing Systems 5  “In fact, both of them had.” Box 1Box 2

Bernd Bruegge & Allen Dutoit Object-Oriented Software Engineering: Conquering Complex and Changing Systems 6 Communication is important In large system development efforts, you will spend more time communicating than coding A software engineer needs to learn the so-called soft skills: technical writing, reading documentation, communication, collaboration, management, presentations.

Bernd Bruegge & Allen Dutoit Object-Oriented Software Engineering: Conquering Complex and Changing Systems 7 Definitions Communication mode  Type of information exchange that has defined objectives and scope  Scheduled: Planned Communication  Event Driven:Unplanned Communication Communication mechanism  Tool or procedure that can be used to transmit information  Synchronous: Sender and receiver are available at the same time  Asynchronous: Sender and Receiver are not communicating at the same time.

Bernd Bruegge & Allen Dutoit Object-Oriented Software Engineering: Conquering Complex and Changing Systems 8 Scheduled Communication Modes Problem Definition  Objective: Present goals, requirements and constraints  Example: Client Presentation  Usually scheduled at the beginning of a project. Project Review: Focus on system model  Objective: Assess status and review system model, system decomposition, and subsystem interfaces  Examples: Analysis Review, System Design Review  Scheduled around project milestones and deliverables Client Review: Focus on requirements  Objective: Brief client, agree on requirements changes  Client Review  Usually scheduled after analysis phase

Bernd Bruegge & Allen Dutoit Object-Oriented Software Engineering: Conquering Complex and Changing Systems 9 Scheduled Communication Modes (continued) Walkthrough (Informal)  Objective: Increase quality of subsystem  Example: Developer presents subsystem to team members, informal, peer-to-peer  To be scheduled by each team Inspection (Formal)  Objective: Compliance with requirements  Example: Client acceptance test (Demonstration of final system to customer)  To be scheduled by project management

Bernd Bruegge & Allen Dutoit Object-Oriented Software Engineering: Conquering Complex and Changing Systems 10 Scheduled Communication Modes (continued) Status Review  Objective: Find deviations from schedule and correct them or identify new issues  Example: Status section in regular weekly team meeting  Scheduled every week Brainstorming  Objective: Generate and evaluate large number of solutions for a problem  Example: Discussion section in regular weekly team meeting  Scheduled every week

Bernd Bruegge & Allen Dutoit Object-Oriented Software Engineering: Conquering Complex and Changing Systems 11 Scheduled Communication Modes (continued) Release  Objective: Baseline the result of each software development activity  Requirements Analysis Document (RAD)  Software Project Management Plan (SPMP)  System Design Document (SDD)  Object Design Document (ODD)  Test Manual (TM)  User Manual (UM)  Usually scheduled after each phase Postmortem Review  Objective: Describe Lessons Learned  Scheduled at the end of the project

Bernd Bruegge & Allen Dutoit Object-Oriented Software Engineering: Conquering Complex and Changing Systems 12 Event Driven Communication Modes Request for clarification  The bulk of communication among developers, clients and users.  Example: A developer may request a clarification about an ambiguous sentence in the problem statement. Request for change  A participant reports a problem and may propose a solution  Change requests are often formalized when the project size is substantial.  Example: A participant reports of a problem with the air conditioner in the lecture room and suggests a change. Issue resolution  Selects a single solution to a problem for which several solutions have been proposed.  Uses issue base to collect problems and proposals

Bernd Bruegge & Allen Dutoit Object-Oriented Software Engineering: Conquering Complex and Changing Systems 13 Synchronous Communication Mechanisms Smoke signals  Supports: ?, Pros: ?, Cons: ? Hallway conversation (face-to-face)  Supports: Unplanned conversations, Request for clarification, request for change  Pro: Cheap and effective for resolving simple problems  Con: Important information can be lost, misunderstandings can occur when conversation is relayed to others. Meeting (face-to-face, telephone, video conference)  Supports: Planned conversations, client review, project review, status review, brainstorming, issue resolution  Pro: Effective mechanism for resolution of issues, and building consensus  Con: High cost (people, resources); difficulty of managing them and getting effective results

Bernd Bruegge & Allen Dutoit Object-Oriented Software Engineering: Conquering Complex and Changing Systems 14 Meeting Roles  Primary facilitator  Responsible for organizing the meeting and guiding the execution.  Writes the agenda describing objective and scope of meeting.  Distribute the agenda to the meeting participants  Minute taker  Responsible for recording the meeting.  Identifies action items and issues  Release them to the participants  Time keeper  Responsible for keeping track of time

Bernd Bruegge & Allen Dutoit Object-Oriented Software Engineering: Conquering Complex and Changing Systems 15 Structure of a Meeting Agenda

Bernd Bruegge & Allen Dutoit Object-Oriented Software Engineering: Conquering Complex and Changing Systems 16 Asynchronous Communication Mechanisms  Supports: Release, change request, brainstorming  Pro: Ideal for event-driven communication modes and announcements.  Con: taken out of context can be easily misunderstood, sent to the wrong person, lost or not read by the receiver. Newsgroups  Supports: Release, change request, brainstorming  Pro: Suited for notification and discussion among people who share a common interest; cheap (shareware available)  Con: Primitive access control (often, you are either in or out) World Wide Web  Supports: Release, change request, inspections  Pro: Provide the user with a hypertext metaphor: Documents contain links to other documents.  Con: Does not easily support rapidly evolving documents

Bernd Bruegge & Allen Dutoit Object-Oriented Software Engineering: Conquering Complex and Changing Systems 17 Asynchronous Communication Mechanisms Lotus Notes  Each user sees the information space as a set of databases, containing documents composed of a set of fields. Users collaborate by crating, sharing and modifying documents  Supports: Release, change request, brainstorming  Pro: Provides excellent access control mechanisms and replication of databases.  Con: Proprietary format, expensive

Bernd Bruegge & Allen Dutoit Object-Oriented Software Engineering: Conquering Complex and Changing Systems 18 Summary  Communication Modes  Scheduled communication  Event-driven communication  Communication Mechanisms  Asynchronous communication mechanisms  Synchronous communication mechanisms  Important modes and mechanisms  Weekly meeting  Project reviews  Online communication (discussion forum, , web)