Вы находитесь на странице: 1из 13

Software Engineering Essentials

Project Organization
Bernd Bruegge, Stephan Krusche, Andreas Seitz, Jan Knobloch

Chair for Applied Software Engineering — Faculty of Informatics


Learning goals

1) Explain the terms project, role, task, team

2) Remember the most important activities in software engineering

3) Explain the differences of the main organization forms

2
Project
A project is an undertaking, limited in time, with a clear goal and a specific
budget, requiring a concerted effort

It consists of

• Start date and duration

• Deliverables

• Schedule

• Technical and managerial activities

• Resources

3
Project management
Project Management is a collection of techniques, methodologies, tools and
heuristics that support the development of

• A high quality software system

• With a given budget

• Before a given deadline

• While change occurs

A project is managed by a project manager

• Administers the resources and team members

• Makes sure the project goals are met


4
Roles, responsibilities and teams
• Responsibilities (e.g. specific tasks) are assigned to roles

• Roles are assigned to people

• People are assigned to teams


Team A
Developer
(Role)
Todo list Task 1 Participant A
Task 2
Task 1
Task 9 Developer
Task 2
Task 3 Tester
Tester
Task 4 (Role)
Task 5
Task 4
Task 6 System Task 5 Participant B
Task 7 architect Task 7
Task 8 (Role)
System
Task 9 Task 3 architect
Task 6
Task 8 5
Tasks and activities
A task describes the smallest amount of work tracked by the project manager

• Typically 2-10 working days effort

• Tasks are associated with a role, have a start date, duration and relate to a work product

An activity is a major unit of work and culminates in a project milestone:

• Scheduled event used to visualize/measure progress

• Visible to the customer

• Usually produces a deliverable

6
Examples of activities in software projects
• Planning
• Detailed design (object design)

• Requirements elicitation
• Implementation

• Analysis
• Testing

• System design
• Delivery

• Software configuration management


• Maintenance

Project functions: some of these activities span the duration of a project, e.g.
software configuration management

7
Activities
Activities are shown in rounded rectangles, always formulated in the active form 

“verb <object>”, e.g.

plan project design objects

elicit requirements implement software

analyze problem test software

design system deliver software

manage software configuration maintain software


8
Organization forms
1) Functional organization: people are grouped into departments, each of which
addresses an activity (“function”)

2) 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

3) Matrix organization: people from different departments of a functional


organization are assigned to work on one or more projects

9
Example of functional organization
Executive Office

Finance Production Sales Marketing

Region1 Region1 Region1 Region1

Region2 Region2 Region2 Region2

IT IT IT IT

➡ Also called line organization


10
Properties of project-based organizations
Project A Participants in Project A

Project B Participants in Project B

Advantages
• Responsive to new requirements

• New people can be hired

• There is no idle time for the project members

Disadvantages
• Teams cannot be assembled rapidly

• Roles and responsibilities need to be defined 



at the beginning of each project 11
Example of a matrix organization
Executive Office

Finance Production Sales Marketing

Project A Participants in Project A

Project B Participants in Project B

➡ Disadvantages: double boss problem


12
Software Engineering Essentials
Project Organization
Bernd Bruegge, Stephan Krusche, Andreas Seitz, Jan Knobloch

Chair for Applied Software Engineering — Faculty of Informatics

Вам также может понравиться