Lecture 2 Project Management Basics Flashcards
Project Definition
- A project is an undertaking, limited in time, with a clear goal and a specific budget, requiring a concerted effort
- A project consists of
- A start date and duration
- A set of deliverables to a client
- A schedule
- All technical and managerial activities required to produce and deliver the deliverables
- Resources consumed by the activities
- A project is managed by a project manager
- Administers the resources
- Maintains accountability
- Makes sure the project goals are met.
What is a role?
A role defines a set of responsibilities
A responsibility is a duty or task a person is required to do Examples of roles and responsibilities:
-
Project manager
- Administer the resources
- Maintain accountability
- Make sure the project goals are met
-
Analyst
- Analyse the application domain
- Create a taxonomy of the domain abstractions
-
System architect
- Decompose the system into subsystems • Choose a software architectural style
- Select the system integration strategy
-
Tester
- Design and implement tests.
Example of Meeting Management Roles
- Primary facilitator
- Organize the meeting and guide the execution
- Set up the agenda, describing objective and scope • Distributed the agenda to the meeting participants
- Minute taker
- Record the meeting
- Identify action items and issues
- Distributed the minutes to the participants and other stakeholders
- Time keeper
- Keep track of time.
Role Taxonomy: Role types

Assignments of Roles to Participants
- One-to-One: Ideal but rare
-
Many-to-Few
- Each project member assumes several “hats”
- Danger of over-commitment
-
Many-to-“Too-Many”
- Some people don’t have significant roles
- Lack of accountability
- Loosing touch with project
-
Problems in Role Assignments:
- Incompetence: The wrong person fills the wrong role
- Useless role: The role exists only to minimize damage control
- Increase of Bureaucracy: The role swells unnecessarily simply because it can.
Bad Role Assignments
- Bad role assignments have been expressed in 3 timeless laws:
-
Incompetence -> Peter Principle
- “Employees who perform their roles in a hierarchy with competence are promoted to a higher level until they reach a level where they are no longer competent. There they remain forever”
-
Useless Role -> Dilbert’s Law
- “Companies tend to systematically promote their least- competent employees to management (generally middle management), in order to limit the amount of damage they are capable of doing”
-
Increased Bureaucracy-> Parkinson’s Law
- „Work expands to fill the time available for its completion“ Parkinson says this happens for two reasons:
- “Officials want to multiply subordinates, not rivals”
- ”Officials make work for each other”
- „Work expands to fill the time available for its completion“ Parkinson says this happens for two reasons:
Refactored Solution Heuristics. How to deal with bad role assignment
- Dealing with incompetence:
- It makes little sense to take your most brilliant engineer and have him or her manage people and budgets
- Dealing with useless roles:
- Put individuals to work in their core competencies.
- Dealing with increased bureaucracy: •
- Improve estimation
- Don’t wait for the last minute.
What is a task?
- A task describes the smallest amount of work monitored (tracked) by the project manager
- Typically 3-10 working days effort (1-2 weeks)
- Tasks are associated with a
- Role
- Work Package
- Work Product
- Start date
- Duration
- Required resources.
What is an Activity?
- An activity is a major unit of work
- Culminates in a project milestone
- A project milestone is a scheduled event used to visualize/measure progress
- A project milestone is visible to the customer
- A project milestone usually produces a baseline
- Activities can also have internal checkpoints
- These are not externally visible to the customer
- Activities allow to separate concerns
- Precedence relations often exist among activities
- Example: “Activity A1 must be finished before Activity A2 can start.”
What is a Unit of Work
- Activities are often grouped again into higher-level activities:
- Phase 1, Phase 2, …., Phase n
- Step 1, Step 2, …., Step n
- Unit of Work: A task or an activity that contains other tasks and lower-level activities
Examples of Activities in a Software Project
- • Planning
- • Requirements Elicitation
- • Analysis
- • System Design
- • Rationale Management
- • Configuration Management
- • Detailed Design (Object Design) • Implementation
- • Testing
- • Delivery
What is Project Function ?
• Project Function: An activity that spans the entire duration of a software project. Examples of project functions include project management, configuration management, quality assurance, and verification and validation [IEEE 1058]*.
- • Project management
- • Documentation
- • Configuration Management • Testing
- • Continuous Integration
- • Continuous Delivery
Sometimes project functions are also called cross-development processes or Integral processes*
What is a Work Package?
- A task or activity is specified by a work package which contains:
- Description of work to be done
- Preconditions for starting, duration, required resources
- Work products to be produced, acceptance criteria for it Risks involved
- A work package must have completion criteria
- Includes the acceptance criteria for the work products produced by the task or activity.
What is a Work Product?
- A work product is the visible outcome of a unit of work, that is, a task or activity
- Examples
- A model
- A review of a document
- A presentation
- A piece of code
- A test report
- Work products that have to be given to the customer are called deliverables.
Associations between roles, tasks, activities, work products, and work packages

What is functional organization?
- In a functional organization people are grouped into departments, each of which addresses an activity (“function”)
- Examples of departments
- In traditional companies: Finance, production, sales, marketing
- In software companies additionally: Analysis, design, integration, testing, delivery
- Properties of functional organizations
- Projects are pipelined through the departments
- Example: The project starts in research, moves to development, then moves to production
- Different departments often address identical needs
- Example: Configuration management, IT infrastructure
- Only few participants are completely involved in a single project.
- Projects are pipelined through the departments
Properties of Functional Organizations
- Advantages:
- Members of a department have a good understanding of the functional area they support
- Disadvantages:
- It is difficult to make major investments in equipment and facilities
- High chance for overlap or duplication of work among departments.
Project based organization
- In a project-based organization people are assigned to a project, each of which has a problem to be solved in a certain time within a given budget
- Key properties of project-based organizations
- Teams are assembled for a project when it is created
- Each project has a project manager
- A participant is involved only in a single project
- Teams are disassembled when the project terminates.
Properties of Project-based Organizations
- Advantages
- Very responsive to new requirements (because the project is newly established and can be tailored around the problem)
- New people can be hired who are familiar with the problem or who have special capabilities
- There is no idle time for the project members
- Disadvantages
- Teams cannot be assembled rapidly. Often it is difficult to manage the staffing/hiring process
- Flat staffing vs. gradual staffing
- Because there are no predefined departments (as in a functional organization), roles and responsibilities need to be defined at the beginning of each project.
Flat Staffing vs Gradual Staffing
- Gradual Staffing:
- The organization is gradually ramped up by hiring people as needed
- Gradual staffing is motivated by saving resources in the early part of the project
- Flat Staffing:
- All the participants are assigned at the start of a project
- Consulting companies usually allocate these participants from a pool of available people.
When to use a Project-based Organization
- Project has high degree of uncertainty
- Open communication is needed among participants
- Requirements are expected to change during the project
- New technology that could effect the outcome may appear during the project.
Matrix Organization
In a matrix organization, people from different departments of a functional organization are assigned to work on one or more projects
Project manager and participants are usually assigned to a project with less than 100 % of their time.
Properties of Matrix Organizations
- Advantages
- Teams for projects can be assembled rapidly from the departments
- Expertise can be applied to different projects as needed
- Consistent reporting and decision procedures can be used for projects of the same type
- Disadvantages
- Team members are often not familiar with each other • Team members have different working styles
- Team members must get used to each other.
Challenges of Matrix Organization
- Team members working on multiple projects have competing demands for their time
- Multiple work procedures and reporting systems are used by different team members
- “Double-boss problem”: Team members must respond to two different bosses with different focus:
- Focus of the manager of the department:
- Assignments to different projects, performance appraisal
- Focus of the project manager :
- Work assignments to project members, support of the project team, deliver project in time and within budget
- Focus of the manager of the department:
- Matrix organization suffer when department and project interests are in conflict with each other.
Project Organization Structures
- A project organization defines the structure among the members (participants) of a project in terms of relationships
- A project organization has at least 3 relationships:
- Decision structure
- It models the control flow: Who decides what?
- Reporting structure:
- Who reports their status to whom?
- Communication structure
- It models the information flow: Who facilitates communication with whom?
- Decision structure
- Org-chart usually visualize these 3 structures in one graph with a single hierarchical relationship
- A good project manager keeps these 3 structures separate.
Visualization of Project Organization Structures
• Org-Chart: Most commonly used method to visualize a hierarchical project organization
Observations on Project Management Structures
- Information flow in a hierarchical project organization does not work well with unexpected changes
- Manager is not necessarily always right and might even misunderstand communications requests
- Information flow in non-hierarchical project organizations
- Cutting down on bureaucracy
- Reduces development time
- Decisions are expected to be made at each level
- Hard to manage.
Hierarchical Structure
- Projects with high degree of certainty, stability, uniformity and repetition
- Requires little communication
- Role definitions are clear
- When?
- The more people on the project, the more need for a formal structure
- Customer might insist that the test team be independent from the design team
- Project manager insists on a previously successful structure.
Communication Skills
- A software project manager as well as a software engineer needs to acquire several skills:
- Collaboration
- Negotiate requirements with the client and with members from your team and other teams
- Presentation
- Present a major part of the system during a review
- Technical writing
- Write part of the proposal, part of the project documentation
- Management
- Facilitate a team meeting, find compromises, negotiate between conflicting demands
- Collaboration
- In large system development efforts, you will spend more time communicating than coding.
Communication Event vs. Mechanism
Communication event: Information exchange with defined objectives and scope
- Scheduled events: Planned communication •
- Examples: Review, meeting
- Unscheduled events: Event-driven communication
- Examples: Request for change, clarification, bug report
Communication mechanism: Tool or procedure that can be used to deal with a communication event
- Synchronous mechanism: Tool requires communication partners to be available at the same time
- Asynchronous: Tool does not require communication partners to communicate at the same time.
Communication Events
- Problem Definition: Focus on Scope
- Objective: Present goals, requirements and constraints
- Example: Client presentation
- Usually scheduled at the beginning of a project
- Project Review: Focus on system models
- Objective: Assess status and review the system model •
- Example: Analysis review, system design review
- Scheduled after each project milestone
- Client Review: Focus on requirements
- Objective: Brief the client, agree on requirements changes
- Example: Requirements review, prototype review
- The first client review is usually scheduled after the analysis phase.
Communication Mechanisms (Synchronous)
Informal Meeting
- Example: Meeting at the water cooler, hallway meeting
- Supports: Unplanned conversations, request for clarification, request for change
- Cheap and effective for resolving simple problems – Information loss, misunderstandings are frequent
Formal Meeting
- Example: Face-to-face, telephone conference tool, video
- conference tool
- Supports: Planned conversations, client review, project review, status review, brainstorming, issue resolution
- Effective for issue resolutions and consensus building – High cost (people, resources).
Communication Mechanisms (Asynchronous)
- • Supports: Release, change request, brainstorming
- Ideal for planned communication and announcements
- – E-mail taken out of context can be misunderstood, sent to the wrong person, or lost
Newsgroups, Forums
- • Supports: Release, change request, brainstorming
- Suited for discussion among people who share a common interest; cheap (shareware available)
- – Primitive access control (often, you are either in or out)
Wikis
- • Supports: Release, change request, inspections
- Documents contain links to other documents
- – Does not easily support rapidly evolving documents.
Summary
- A project is a scheduled effort towards the achievement of a goal that takes place within a limited time, resources and budget
- Project participants are organized in terms of roles and teams
- An individual can fill more than one role
- Work is organized in terms of activities and tasks assigned to roles to produce work products such as deliverables
- 3 types of project organizations
- Functional, matrix and project-based organization.
- 3 structures to deal with information and control flow in a project: Decision, reporting and communication structure
- Communication Events: Planned and Unplanned (driven by unexpected events)
- There are asynchronous and synchronous communication mechanisms (tools or procedures) to support communication events.
What is a project function?
Select one:
a. It is an activity
b. It is a task
a
A team leader is a liaison
Select one:
a. true
b. false
b
A solution domain expert is a manager
Select one:
a. true
b. false
b
An application domain expert is a consultant
Select one:
a. true
b. false
a
A configuration manager is a developer
Select one:
a. false
b. true
a
Choose the typical relationships in a project organization
Select one or more:
a. Communication structure
b. Reporting structure
c. Configuration Structure
d. Documentation structure
e. Decision structure
f. Delegation structure
a,b, e
What are communication mechanisms?
Select one or more:
a. Review
b. Email
c. Bug Report
d. Wiki
b,d