project management - dovetailing the project with its team · project management dovetailing the...

54
Project Management Dovetailing the Project with its Team Project Management Dovetailing the Project with its Team Mai 18 th , 2011 Andreas Cord-Landwehr Peter Kling Friedhelm Meyer auf der Heide Peter Pietrzyk Project Management Andreas Cord-Landwehr 1 HEINZ NIXDORF INSTITUTE University of Paderborn Algorithms and Complexity

Upload: others

Post on 03-Sep-2019

2 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Project Management - Dovetailing the Project with its Team · Project Management Dovetailing the Project with its Team Mai 18th, 2011 Andreas Cord-Landwehr Peter Kling Friedhelm Meyer

Project ManagementDovetailing the Project with its Team

Project ManagementDovetailing the Project with its Team

Mai 18th, 2011

Andreas Cord-LandwehrPeter KlingFriedhelm Meyer auf der HeidePeter Pietrzyk

Project Management Andreas Cord-Landwehr 1

HEINZ NIXDORF INSTITUTEUniversity of Paderborn

Algorithms and Complexity

Page 2: Project Management - Dovetailing the Project with its Team · Project Management Dovetailing the Project with its Team Mai 18th, 2011 Andreas Cord-Landwehr Peter Kling Friedhelm Meyer

A short guide to motivate yourself

Remember “Duke Nukem Forever”

Remember “Toll Collect”

Remember “KDE PIM 4.6”

Remember (maybe) your SWTPra?

. . .

The common slide that everybody uses says:only 1/4 of all IT projects are in a stable state, 1/4 even canceled (data from 2006).

Why Project Management?!Some Examples of how you should not release.

Project Management Andreas Cord-Landwehr 2

HEINZ NIXDORF INSTITUTEUniversity of Paderborn

Algorithms and Complexity

Page 3: Project Management - Dovetailing the Project with its Team · Project Management Dovetailing the Project with its Team Mai 18th, 2011 Andreas Cord-Landwehr Peter Kling Friedhelm Meyer

Project Management is the task to. . .

understand the project and part it into doable units of work

organize the work units and make sure that they fit together

achieve the project goals in time and keep track on the progress

while keeping the team together

having an overview on what was/will be/must be done

understanding structures and taking countermeasures in case of problems

Requirements are in different fields

1 take care of the community/team

2 structural work/planning

3 time management

Project-ManagementAt least “my notion” of this term.

Project Management Andreas Cord-Landwehr 3

HEINZ NIXDORF INSTITUTEUniversity of Paderborn

Algorithms and Complexity

Page 4: Project Management - Dovetailing the Project with its Team · Project Management Dovetailing the Project with its Team Mai 18th, 2011 Andreas Cord-Landwehr Peter Kling Friedhelm Meyer

Characteristics

1 There is a goal to achieve.

2 It can be achieved in finite time.

3 The resources are limited.

4 We have a unique job that differsto anything that was done before or will be done.

5 The project is so complex that we need to think beforehand.

6 The project is organized/a hierarchy is introduced that is temporary and not necessarilyconnect to any secondary kind of organization.

7 Usually team members have quite different backgrounds

The Project. . . is sometimes a quite ugly beast.

Project Management Andreas Cord-Landwehr 4

HEINZ NIXDORF INSTITUTEUniversity of Paderborn

Algorithms and Complexity

Page 5: Project Management - Dovetailing the Project with its Team · Project Management Dovetailing the Project with its Team Mai 18th, 2011 Andreas Cord-Landwehr Peter Kling Friedhelm Meyer

Definition (Community)

[kuh-myoo-ni-tee] – noun, plural -ties.

1 a social group of any size whose members reside in a specific locality, sharegovernment, and often have a common cultural and historical heritage. [. . . ]

3 a social, religious, occupational, or other group sharing common characteristics orinterests and perceived or perceiving itself as distinct in some respect from the largersociety within which it exists (usually preceded by the ): the business community; thecommunity of scholars.

[American Heritage Dictionary]

Examples of Communities

Practical Session: Board-based discussion.

Communities by. . .

Nature family, men, women, children, students, workers

a Goal KDE, Gnome Community, Peace-Movement, Amnesty International

an Assignment an assigned task force, project group, a team, special ops team

The Community. . . is a main argument that rules the outcome.

Project Management Andreas Cord-Landwehr 5

HEINZ NIXDORF INSTITUTEUniversity of Paderborn

Algorithms and Complexity

Page 6: Project Management - Dovetailing the Project with its Team · Project Management Dovetailing the Project with its Team Mai 18th, 2011 Andreas Cord-Landwehr Peter Kling Friedhelm Meyer

Definition (Community)

[kuh-myoo-ni-tee] – noun, plural -ties.

1 a social group of any size whose members reside in a specific locality, sharegovernment, and often have a common cultural and historical heritage. [. . . ]

3 a social, religious, occupational, or other group sharing common characteristics orinterests and perceived or perceiving itself as distinct in some respect from the largersociety within which it exists (usually preceded by the ): the business community; thecommunity of scholars.

[American Heritage Dictionary]

Examples of Communities

Communities by. . .

Nature family, men, women, children, students, workers

a Goal KDE, Gnome Community, Peace-Movement, Amnesty International

an Assignment an assigned task force, project group, a team, special ops team

The Community. . . is a main argument that rules the outcome.

Project Management Andreas Cord-Landwehr 5

HEINZ NIXDORF INSTITUTEUniversity of Paderborn

Algorithms and Complexity

Page 7: Project Management - Dovetailing the Project with its Team · Project Management Dovetailing the Project with its Team Mai 18th, 2011 Andreas Cord-Landwehr Peter Kling Friedhelm Meyer

Project Team

TasksDeadlines

Long-Term-RunsDecisions

HierarchyTime ManagementCommunity BuildingDiscussions

Pro

ject

Com

munit

y

Project and TeamA life-long relationship.

Project Management Andreas Cord-Landwehr 6

HEINZ NIXDORF INSTITUTEUniversity of Paderborn

Algorithms and Complexity

Page 8: Project Management - Dovetailing the Project with its Team · Project Management Dovetailing the Project with its Team Mai 18th, 2011 Andreas Cord-Landwehr Peter Kling Friedhelm Meyer

1 Team Hierarchy & Project Tasks

2 Decisions & Discussions

3 Working Together & Community Building

4 Deadlines & Progress Management

Outline

Project Management Andreas Cord-Landwehr 7

HEINZ NIXDORF INSTITUTEUniversity of Paderborn

Algorithms and Complexity

Page 9: Project Management - Dovetailing the Project with its Team · Project Management Dovetailing the Project with its Team Mai 18th, 2011 Andreas Cord-Landwehr Peter Kling Friedhelm Meyer

Decision Processes in Communities

1 Dictatorial Decisions

2 Decisions by the ONE guy

3 Agreement of the Project Leaders

4 On behalf of the President

5 The Blue Ribbon Commission

6 Control in hands of the Grass-roots

Characteristics

Similar to: Dictatorship

one person has all the power, and somehow he came to this power

decisions are made (in final instance) by only one person

dictator never gives/must give account for his decisions

dictator’s strategy is to push group into direction in which he keeps his power

Team Hierarchy & Project TasksHierarchy of a Group

Project Management Andreas Cord-Landwehr 8

HEINZ NIXDORF INSTITUTEUniversity of Paderborn

Algorithms and Complexity

Page 10: Project Management - Dovetailing the Project with its Team · Project Management Dovetailing the Project with its Team Mai 18th, 2011 Andreas Cord-Landwehr Peter Kling Friedhelm Meyer

Decision Processes in Communities

1 Dictatorial Decisions

2 Decisions by the ONE guy

3 Agreement of the Project Leaders

4 On behalf of the President

5 The Blue Ribbon Commission

6 Control in hands of the Grass-roots

Characteristics

Similar to: Monarchy

everybody thinks that one person has all the power

decisions are made (in final instance) by only this single person

usually does not have to give account on what he decides

typically: the guy with the money, the wise guy, some other bizarre rule

Team Hierarchy & Project TasksHierarchy of a Group

Project Management Andreas Cord-Landwehr 8

HEINZ NIXDORF INSTITUTEUniversity of Paderborn

Algorithms and Complexity

Page 11: Project Management - Dovetailing the Project with its Team · Project Management Dovetailing the Project with its Team Mai 18th, 2011 Andreas Cord-Landwehr Peter Kling Friedhelm Meyer

Decision Processes in Communities

1 Dictatorial Decisions

2 Decisions by the ONE guy

3 Agreement of the Project Leaders

4 On behalf of the President

5 The Blue Ribbon Commission

6 Control in hands of the Grass-roots

Characteristics

Similar to: Tribunat

power is equally assigned to two persons

decisions are made (in final instance) by agreement of both

tribunes mutually give account for their decisions

tribuns usually assigned by kind of election process

Team Hierarchy & Project TasksHierarchy of a Group

Project Management Andreas Cord-Landwehr 8

HEINZ NIXDORF INSTITUTEUniversity of Paderborn

Algorithms and Complexity

Page 12: Project Management - Dovetailing the Project with its Team · Project Management Dovetailing the Project with its Team Mai 18th, 2011 Andreas Cord-Landwehr Peter Kling Friedhelm Meyer

Decision Processes in Communities

1 Dictatorial Decisions

2 Decisions by the ONE guy

3 Agreement of the Project Leaders

4 On behalf of the President

5 The Blue Ribbon Commission

6 Control in hands of the Grass-roots

Characteristics

Similar to: Presidency

one person holds all the power

decisions are made (in final instance) by this person but need to obey rules

must give account for its decisions to team, follow the rules

usually elected in a democratic process

Team Hierarchy & Project TasksHierarchy of a Group

Project Management Andreas Cord-Landwehr 8

HEINZ NIXDORF INSTITUTEUniversity of Paderborn

Algorithms and Complexity

Page 13: Project Management - Dovetailing the Project with its Team · Project Management Dovetailing the Project with its Team Mai 18th, 2011 Andreas Cord-Landwehr Peter Kling Friedhelm Meyer

Decision Processes in Communities

1 Dictatorial Decisions

2 Decisions by the ONE guy

3 Agreement of the Project Leaders

4 On behalf of the President

5 The Blue Ribbon Commission

6 Control in hands of the Grass-roots

Characteristics

Similar to: Parliament

committee assigned to solve specific problem/to be responsible for strictly limited field

decisions are made by polls in this committee

the committee as a whole must give account for his decisions

members usually assigned in a democratic process

Team Hierarchy & Project TasksHierarchy of a Group

Project Management Andreas Cord-Landwehr 8

HEINZ NIXDORF INSTITUTEUniversity of Paderborn

Algorithms and Complexity

Page 14: Project Management - Dovetailing the Project with its Team · Project Management Dovetailing the Project with its Team Mai 18th, 2011 Andreas Cord-Landwehr Peter Kling Friedhelm Meyer

Decision Processes in Communities

1 Dictatorial Decisions

2 Decisions by the ONE guy

3 Agreement of the Project Leaders

4 On behalf of the President

5 The Blue Ribbon Commission

6 Control in hands of the Grass-roots

Characteristics

Similar to: grass-root democracy ([email protected] during last 5 days)

everybody holds same power

decisions are made by agreement of all/most

nobody/everybody is responsible for everything

no selection necessary, you have power since you are there

Team Hierarchy & Project TasksHierarchy of a Group

Project Management Andreas Cord-Landwehr 8

HEINZ NIXDORF INSTITUTEUniversity of Paderborn

Algorithms and Complexity

Page 15: Project Management - Dovetailing the Project with its Team · Project Management Dovetailing the Project with its Team Mai 18th, 2011 Andreas Cord-Landwehr Peter Kling Friedhelm Meyer

Definition (Project Leader)

The Project Leader is the official representative of the Project. They have two mainfunctions, one internal and one external.

In the external function, the Project Leader represents the project to others. Thisinvolves giving talks and presentations about the project and attending trade shows, aswell as building good relationships with other organizations and companies.

Internally, the Project Leader manages the project and defines its vision. They shouldtalk to other developers, especially to the delegates, to see how they can assist theirwork. A main task of the Project Leader therefore involves coordination andcommunication.

[This definition essentially describes the Debian Project Leader.]

Popular Additions/Modifications

twin-leaders

community leader + technical leader

leader supported by a technical committee

Team Hierarchy & Project TasksThe Project Leader

Project Management Andreas Cord-Landwehr 9

HEINZ NIXDORF INSTITUTEUniversity of Paderborn

Algorithms and Complexity

Page 16: Project Management - Dovetailing the Project with its Team · Project Management Dovetailing the Project with its Team Mai 18th, 2011 Andreas Cord-Landwehr Peter Kling Friedhelm Meyer

Definition (Project Leader)

The Project Leader is the official representative of the Project. They have two mainfunctions, one internal and one external.

In the external function, the Project Leader represents the project to others. Thisinvolves giving talks and presentations about the project and attending trade shows, aswell as building good relationships with other organizations and companies.

Internally, the Project Leader manages the project and defines its vision. They shouldtalk to other developers, especially to the delegates, to see how they can assist theirwork. A main task of the Project Leader therefore involves coordination andcommunication.

[This definition essentially describes the Debian Project Leader.]

Popular Additions/Modifications

twin-leaders

community leader + technical leader

leader supported by a technical committee

Team Hierarchy & Project TasksThe Project Leader

Project Management Andreas Cord-Landwehr 9

HEINZ NIXDORF INSTITUTEUniversity of Paderborn

Algorithms and Complexity

Page 17: Project Management - Dovetailing the Project with its Team · Project Management Dovetailing the Project with its Team Mai 18th, 2011 Andreas Cord-Landwehr Peter Kling Friedhelm Meyer

Project Planning Activities

1 Task Planning (aka parting project into doable units of work)

2 Project Plan (aka how the tasks are related)

3 Capacity Planning (aka what can be done in which time)

4 Cost Planning (aka money)

5 Quality assurance (aka testing, unit-testing, bug-fixing, updating, controlling)

6 Risk planning (aka what do we agree by the target agreement)

How a project is planned (in a community6=company):

the project leader gathers, structures, discusses and compiles the plan together withthe community

community members rate their fields of work and support the project leader

the community as a whole takes care of the overall goal: can it be reached bycombination of the individual tasks?

Team Hierarchy & Project TasksPlanning a Project.

Project Management Andreas Cord-Landwehr 10

HEINZ NIXDORF INSTITUTEUniversity of Paderborn

Algorithms and Complexity

Page 18: Project Management - Dovetailing the Project with its Team · Project Management Dovetailing the Project with its Team Mai 18th, 2011 Andreas Cord-Landwehr Peter Kling Friedhelm Meyer

Project Planning Activities

1 Task Planning (aka parting project into doable units of work)

2 Project Plan (aka how the tasks are related)

3 Capacity Planning (aka what can be done in which time)

4 Cost Planning (aka money)

5 Quality assurance (aka testing, unit-testing, bug-fixing, updating, controlling)

6 Risk planning (aka what do we agree by the target agreement)

How a project is planned (in a community6=company):

the project leader gathers, structures, discusses and compiles the plan together withthe community

community members rate their fields of work and support the project leader

the community as a whole takes care of the overall goal: can it be reached bycombination of the individual tasks?

Team Hierarchy & Project TasksPlanning a Project.

Project Management Andreas Cord-Landwehr 10

HEINZ NIXDORF INSTITUTEUniversity of Paderborn

Algorithms and Complexity

Page 19: Project Management - Dovetailing the Project with its Team · Project Management Dovetailing the Project with its Team Mai 18th, 2011 Andreas Cord-Landwehr Peter Kling Friedhelm Meyer

Tasks are the building blocks of a project.

Definition (Task)

[. . . ] Task usually refers to a clearly defined piece of work, sometimes of short or limitedduration, assigned to or expected of a person [. . . ].

[American Heritage Dictionary]

Define a task by gathering similar/connected activities, usually orientated with a goal.

Checklist for Definition of a Task (sub-project)

1 Don’t cut it too small, don’t blow it too big.

2 Limit the task and thoroughly describe what has to be done/the expected result.

3 Assign task to a team or a single person, BUT pick one unique person to beresponsible.

4 Let the team create an internal structure.

Soon, tasks will be the basic building blocks for the project plan. Note that tasks are usuallycompilations of several strongly connected small sub-tasks.

Team Hierarchy & Project TasksWork Units of a ProjectDefinition of a Task.

Project Management Andreas Cord-Landwehr 11

HEINZ NIXDORF INSTITUTEUniversity of Paderborn

Algorithms and Complexity

Page 20: Project Management - Dovetailing the Project with its Team · Project Management Dovetailing the Project with its Team Mai 18th, 2011 Andreas Cord-Landwehr Peter Kling Friedhelm Meyer

Practical Session: Token-based discussion.

Question: What steps are necessary to make a raisin cake?

Making a Raisin Cake

T1: Recipe google for ‘recipe raisin cake’

T2: Shopping buy 1 cup raisins, 1/2 cup butter, 1 tsp baking soda, 1 cup sugar, 1/2 tspsalt, 1/2 tsp ground cinnamon, 1/2 tsp nutmeg. 1 cup chopped walnuts, 13/4 cups all-purpose flour. . .

T3: Mixing Mix all ingredients.

T4: Setup Preheat oven to 175 degrees C. Lightly grease one 10 x 10 inch bakingpan and put dough in.

T5: Building Bake at 175 degrees C for 35 minutes.

T6: Testing Test if the cake is well done.

T7: Release Eat the cake.

Team Hierarchy & Project TasksExample: Disassembling the ProjectIdentify the individual tasks.

Project Management Andreas Cord-Landwehr 12

HEINZ NIXDORF INSTITUTEUniversity of Paderborn

Algorithms and Complexity

Page 21: Project Management - Dovetailing the Project with its Team · Project Management Dovetailing the Project with its Team Mai 18th, 2011 Andreas Cord-Landwehr Peter Kling Friedhelm Meyer

Making a Raisin Cake

T1: Recipe google for ‘recipe raisin cake’

T2: Shopping buy 1 cup raisins, 1/2 cup butter, 1 tsp baking soda, 1 cup sugar, 1/2 tspsalt, 1/2 tsp ground cinnamon, 1/2 tsp nutmeg. 1 cup chopped walnuts, 13/4 cups all-purpose flour. . .

T3: Mixing Mix all ingredients.

T4: Setup Preheat oven to 175 degrees C. Lightly grease one 10 x 10 inch bakingpan and put dough in.

T5: Building Bake at 175 degrees C for 35 minutes.

T6: Testing Test if the cake is well done.

T7: Release Eat the cake.

Team Hierarchy & Project TasksExample: Disassembling the ProjectIdentify the individual tasks.

Project Management Andreas Cord-Landwehr 12

HEINZ NIXDORF INSTITUTEUniversity of Paderborn

Algorithms and Complexity

Page 22: Project Management - Dovetailing the Project with its Team · Project Management Dovetailing the Project with its Team Mai 18th, 2011 Andreas Cord-Landwehr Peter Kling Friedhelm Meyer

The Project Plan represents the internal structure of a project.

Project Plan

Goal: establish common understanding of the project

How it is designed:

contains every task that should be done

gives time estimates

draws dependencies

names responsibilities (team leaders!)

estimate how critical the task is

T2: Shopping10 min

Alice

T3: Mixing5 min

Bob

T4: Setup10 min

Bob

T6: Testing2 min

Alice

T7: Release10 min

Bob

T1: Recipe10 min

Alice

T5: Building35 min

Bob

OPTIONALDuring the project its progress/bottle necks can beidentified with help of the plan. This plan is a coreresponsibility of the project leader.

Team Hierarchy & Project TasksThe Project (Structure) PlanConnect the Tasks as a Project Plan.

Project Management Andreas Cord-Landwehr 13

HEINZ NIXDORF INSTITUTEUniversity of Paderborn

Algorithms and Complexity

Page 23: Project Management - Dovetailing the Project with its Team · Project Management Dovetailing the Project with its Team Mai 18th, 2011 Andreas Cord-Landwehr Peter Kling Friedhelm Meyer

1 Team Hierarchy & Project Tasks

2 Decisions & Discussions

3 Working Together & Community Building

4 Deadlines & Progress Management

Decisions & DiscussionsHere we are.

Project Management Andreas Cord-Landwehr 14

HEINZ NIXDORF INSTITUTEUniversity of Paderborn

Algorithms and Complexity

Page 24: Project Management - Dovetailing the Project with its Team · Project Management Dovetailing the Project with its Team Mai 18th, 2011 Andreas Cord-Landwehr Peter Kling Friedhelm Meyer

Meetings are building blocks for project decisions and exchange of information.However, they sometimes tend rather to be lost time.

7 Tips to organize a not completely useless meeting:

1 Send the invitation at least 48 hours in advance.

2 Include a full list of topics that shall be discussed.

3 Organize an appropriate room and announce it with the invitation.

4 Assign someone for protocol writing and someone for leading discussions.

5 If materials are needed for discussion, distribute them at latest with invitation.

6 Take care that everybody who is important for the meeting attends.

7 For each topic make clear what with which possible outcomes has to be discussed in acertain way until a (possibly) specific deadline.

Decisions & DiscussionsWell, lunch is over, what about a Meeting?DOs and DON’Ts for Meetings.

Project Management Andreas Cord-Landwehr 15

HEINZ NIXDORF INSTITUTEUniversity of Paderborn

Algorithms and Complexity

Page 25: Project Management - Dovetailing the Project with its Team · Project Management Dovetailing the Project with its Team Mai 18th, 2011 Andreas Cord-Landwehr Peter Kling Friedhelm Meyer

The Headless Chicken Discussion

This is a discussion where a decision is required butnobody makes it. That can be the case either whenthere are two equally good alternatives or if nobody hasthe or grips to the power to make a specific decision.Observation: arguments are looping and looping andlooping. . . And the discussion never comes to an end.

Possible Solutions

in each group there is somebody with a natural authority

even if this guy is not aware of its authority, you can poke him

if there are two (nearly) equally good alternatives: ask supporter for A to prepare theirsolution, ask supporter for B the same. Probably only one team will present thesolution the next meeting time.

Decisions & DiscussionsMaking Decisions 1/2Beware of the Headless-Chicken.

Project Management Andreas Cord-Landwehr 16

HEINZ NIXDORF INSTITUTEUniversity of Paderborn

Algorithms and Complexity

Page 26: Project Management - Dovetailing the Project with its Team · Project Management Dovetailing the Project with its Team Mai 18th, 2011 Andreas Cord-Landwehr Peter Kling Friedhelm Meyer

The Headless Chicken Discussion

This is a discussion where a decision is required butnobody makes it. That can be the case either whenthere are two equally good alternatives or if nobody hasthe or grips to the power to make a specific decision.Observation: arguments are looping and looping andlooping. . . And the discussion never comes to an end.

Possible Solutions

in each group there is somebody with a natural authority

even if this guy is not aware of its authority, you can poke him

if there are two (nearly) equally good alternatives: ask supporter for A to prepare theirsolution, ask supporter for B the same. Probably only one team will present thesolution the next meeting time.

Decisions & DiscussionsMaking Decisions 1/2Beware of the Headless-Chicken.

Project Management Andreas Cord-Landwehr 16

HEINZ NIXDORF INSTITUTEUniversity of Paderborn

Algorithms and Complexity

Page 27: Project Management - Dovetailing the Project with its Team · Project Management Dovetailing the Project with its Team Mai 18th, 2011 Andreas Cord-Landwehr Peter Kling Friedhelm Meyer

The Bikeshed Discussion

A Bikeshed discussion often comes along with aheadless-chicken discussion. This is a discussionwhere some absolute low-level but completely unimpor-tant topic is picked out of a complex decision process.This is like discussing the kind of screws for a bikeshedwhen you are actually discussion the cost plan for a nu-clear power plant.

Possible SolutionsA bikeshed discussion usually can only be ended after it is discovered: Recognize it! Thenask the “why”-question.

Decisions & DiscussionsMaking Decisions 2/2Beware of Bikeshed-Discussions.

Project Management Andreas Cord-Landwehr 17

HEINZ NIXDORF INSTITUTEUniversity of Paderborn

Algorithms and Complexity

Page 28: Project Management - Dovetailing the Project with its Team · Project Management Dovetailing the Project with its Team Mai 18th, 2011 Andreas Cord-Landwehr Peter Kling Friedhelm Meyer

The Bikeshed Discussion

A Bikeshed discussion often comes along with aheadless-chicken discussion. This is a discussionwhere some absolute low-level but completely unimpor-tant topic is picked out of a complex decision process.This is like discussing the kind of screws for a bikeshedwhen you are actually discussion the cost plan for a nu-clear power plant.

Possible SolutionsA bikeshed discussion usually can only be ended after it is discovered: Recognize it! Thenask the “why”-question.

Decisions & DiscussionsMaking Decisions 2/2Beware of Bikeshed-Discussions.

Project Management Andreas Cord-Landwehr 17

HEINZ NIXDORF INSTITUTEUniversity of Paderborn

Algorithms and Complexity

Page 29: Project Management - Dovetailing the Project with its Team · Project Management Dovetailing the Project with its Team Mai 18th, 2011 Andreas Cord-Landwehr Peter Kling Friedhelm Meyer

The Water-Cooler

Members of a big group are meeting somewhere(maybe even accidentally). They talk about there cur-rent joint work, have an idea, discuss and decide thatthis is a good idea. Everybody goes back to work andimplements this idea.—However, the rest of the groupnever gets clue of this meeting, the arguments or eventhe discussion. It is even to late for counter-arguments.

Possible Solutions

at best: no spontaneous decisions

but if, let others join the decision (even if only withsmall time frames)

in any case, every discussion must be brought to the total group (e.g., be establishedand clear communication strategies)

Decisions & DiscussionsDiscussing TasksBeware of the Water-Cooler

Project Management Andreas Cord-Landwehr 18

HEINZ NIXDORF INSTITUTEUniversity of Paderborn

Algorithms and Complexity

Page 30: Project Management - Dovetailing the Project with its Team · Project Management Dovetailing the Project with its Team Mai 18th, 2011 Andreas Cord-Landwehr Peter Kling Friedhelm Meyer

The Water-Cooler

Members of a big group are meeting somewhere(maybe even accidentally). They talk about there cur-rent joint work, have an idea, discuss and decide thatthis is a good idea. Everybody goes back to work andimplements this idea.—However, the rest of the groupnever gets clue of this meeting, the arguments or eventhe discussion. It is even to late for counter-arguments.

Possible Solutions

at best: no spontaneous decisions

but if, let others join the decision (even if only withsmall time frames)

in any case, every discussion must be brought to the total group (e.g., be establishedand clear communication strategies)

Decisions & DiscussionsDiscussing TasksBeware of the Water-Cooler

Project Management Andreas Cord-Landwehr 18

HEINZ NIXDORF INSTITUTEUniversity of Paderborn

Algorithms and Complexity

Page 31: Project Management - Dovetailing the Project with its Team · Project Management Dovetailing the Project with its Team Mai 18th, 2011 Andreas Cord-Landwehr Peter Kling Friedhelm Meyer

1 Team Hierarchy & Project Tasks

2 Decisions & Discussions

3 Working Together & Community Building

4 Deadlines & Progress Management

Working Together & Community BuildingHere we are.

Project Management Andreas Cord-Landwehr 19

HEINZ NIXDORF INSTITUTEUniversity of Paderborn

Algorithms and Complexity

Page 32: Project Management - Dovetailing the Project with its Team · Project Management Dovetailing the Project with its Team Mai 18th, 2011 Andreas Cord-Landwehr Peter Kling Friedhelm Meyer

References:doxygen.orgcode.google.com/p/google-styleguidetechbase.kde.org/Policies/Kdelibs_Coding_Stylewiki.eclipse.org/Coding_Conventions

Avoid Common Pitfalls

Establish Coding Guidelines at earliest possiblepoint in time! (naming, indents, filenames,. . . )

Discuss how Commits must look like.

House-Keeping: Assign roles for taking care ofagreed rules.

Constitute Freezes and make everybody to obay.(feature freeze, soft freeze, hard freeze)

Establish a Bug Tracker (and use it).

Transparency on who takes which task and howthe progress is.

Establish Reviews.

Working Together & Community BuildingWorking Together at Source Code.

Project Management Andreas Cord-Landwehr 20

HEINZ NIXDORF INSTITUTEUniversity of Paderborn

Algorithms and Complexity

Page 33: Project Management - Dovetailing the Project with its Team · Project Management Dovetailing the Project with its Team Mai 18th, 2011 Andreas Cord-Landwehr Peter Kling Friedhelm Meyer

Example Tools:GIT, SVN

References:techbase.kde.org/Policies/SVN_Commit_Policygit.kernel.orgsubversion.tigris.org

Avoid Common Pitfalls

Establish Coding Guidelines at earliest possiblepoint in time! (naming, indents, filenames,. . . )

Discuss how Commits must look like.

House-Keeping: Assign roles for taking care ofagreed rules.

Constitute Freezes and make everybody to obay.(feature freeze, soft freeze, hard freeze)

Establish a Bug Tracker (and use it).

Transparency on who takes which task and howthe progress is.

Establish Reviews.

Working Together & Community BuildingWorking Together at Source Code.

Project Management Andreas Cord-Landwehr 20

HEINZ NIXDORF INSTITUTEUniversity of Paderborn

Algorithms and Complexity

Page 34: Project Management - Dovetailing the Project with its Team · Project Management Dovetailing the Project with its Team Mai 18th, 2011 Andreas Cord-Landwehr Peter Kling Friedhelm Meyer

Avoid Common Pitfalls

Establish Coding Guidelines at earliest possiblepoint in time! (naming, indents, filenames,. . . )

Discuss how Commits must look like.

House-Keeping: Assign roles for taking care ofagreed rules.

Constitute Freezes and make everybody to obay.(feature freeze, soft freeze, hard freeze)

Establish a Bug Tracker (and use it).

Transparency on who takes which task and howthe progress is.

Establish Reviews.

Working Together & Community BuildingWorking Together at Source Code.

Project Management Andreas Cord-Landwehr 20

HEINZ NIXDORF INSTITUTEUniversity of Paderborn

Algorithms and Complexity

Page 35: Project Management - Dovetailing the Project with its Team · Project Management Dovetailing the Project with its Team Mai 18th, 2011 Andreas Cord-Landwehr Peter Kling Friedhelm Meyer

Freezes before Ubuntu Lucid Release

Avoid Common Pitfalls

Establish Coding Guidelines at earliest possiblepoint in time! (naming, indents, filenames,. . . )

Discuss how Commits must look like.

House-Keeping: Assign roles for taking care ofagreed rules.

Constitute Freezes and make everybody to obay.(feature freeze, soft freeze, hard freeze)

Establish a Bug Tracker (and use it).

Transparency on who takes which task and howthe progress is.

Establish Reviews.

Working Together & Community BuildingWorking Together at Source Code.

Project Management Andreas Cord-Landwehr 20

HEINZ NIXDORF INSTITUTEUniversity of Paderborn

Algorithms and Complexity

Page 36: Project Management - Dovetailing the Project with its Team · Project Management Dovetailing the Project with its Team Mai 18th, 2011 Andreas Cord-Landwehr Peter Kling Friedhelm Meyer

Debian Release Critical Bugs (a release plan)

Example Tools:Redmine, bugzilla, Trac

References:www.redmine.org/www.bugzilla.org/trac.edgewall.org/

Avoid Common Pitfalls

Establish Coding Guidelines at earliest possiblepoint in time! (naming, indents, filenames,. . . )

Discuss how Commits must look like.

House-Keeping: Assign roles for taking care ofagreed rules.

Constitute Freezes and make everybody to obay.(feature freeze, soft freeze, hard freeze)

Establish a Bug Tracker (and use it).

Transparency on who takes which task and howthe progress is.

Establish Reviews.

Working Together & Community BuildingWorking Together at Source Code.

Project Management Andreas Cord-Landwehr 20

HEINZ NIXDORF INSTITUTEUniversity of Paderborn

Algorithms and Complexity

Page 37: Project Management - Dovetailing the Project with its Team · Project Management Dovetailing the Project with its Team Mai 18th, 2011 Andreas Cord-Landwehr Peter Kling Friedhelm Meyer

Digest of Planned Features KDE SC 4.7

Avoid Common Pitfalls

Establish Coding Guidelines at earliest possiblepoint in time! (naming, indents, filenames,. . . )

Discuss how Commits must look like.

House-Keeping: Assign roles for taking care ofagreed rules.

Constitute Freezes and make everybody to obay.(feature freeze, soft freeze, hard freeze)

Establish a Bug Tracker (and use it).

Transparency on who takes which task and howthe progress is.

Establish Reviews.

Working Together & Community BuildingWorking Together at Source Code.

Project Management Andreas Cord-Landwehr 20

HEINZ NIXDORF INSTITUTEUniversity of Paderborn

Algorithms and Complexity

Page 38: Project Management - Dovetailing the Project with its Team · Project Management Dovetailing the Project with its Team Mai 18th, 2011 Andreas Cord-Landwehr Peter Kling Friedhelm Meyer

Avoid Common Pitfalls

Establish Coding Guidelines at earliest possiblepoint in time! (naming, indents, filenames,. . . )

Discuss how Commits must look like.

House-Keeping: Assign roles for taking care ofagreed rules.

Constitute Freezes and make everybody to obay.(feature freeze, soft freeze, hard freeze)

Establish a Bug Tracker (and use it).

Transparency on who takes which task and howthe progress is.

Establish Reviews.

Working Together & Community BuildingWorking Together at Source Code.

Project Management Andreas Cord-Landwehr 20

HEINZ NIXDORF INSTITUTEUniversity of Paderborn

Algorithms and Complexity

Page 39: Project Management - Dovetailing the Project with its Team · Project Management Dovetailing the Project with its Team Mai 18th, 2011 Andreas Cord-Landwehr Peter Kling Friedhelm Meyer

Writing documents is quite similar to writing source code.Only the Commit-diffs are uglier ;-)

Similar Pitfalls

Language Guidelines

Commits

House-Keeper tasks

Roadmap

Also a Bugtracker?

Transparency

Reviews

Working Together & Community BuildingWorking Together at Documents.

Project Management Andreas Cord-Landwehr 21

HEINZ NIXDORF INSTITUTEUniversity of Paderborn

Algorithms and Complexity

Page 40: Project Management - Dovetailing the Project with its Team · Project Management Dovetailing the Project with its Team Mai 18th, 2011 Andreas Cord-Landwehr Peter Kling Friedhelm Meyer

The Falling Down Guy

Motivated by the blockbuster “Falling Down” withMichael Douglas. A white office-worker gets into trou-ble at his way to work. He helps himself, gets again introuble and this iterates. At the end he thinks that hedid everything right though actually he became the badguy of the movie.A common observation in groups is that there are guyslooking after others. If there are mistakes, they say so.(Sometimes in a slightly impolite way.) However, withtime the become the guys in the community “who arealways only complaining”.

Possible Solutions

do not be the falling down guy ;-)

Working Together & Community BuildingDo not Become the Bad Guy.

Project Management Andreas Cord-Landwehr 22

HEINZ NIXDORF INSTITUTEUniversity of Paderborn

Algorithms and Complexity

Page 41: Project Management - Dovetailing the Project with its Team · Project Management Dovetailing the Project with its Team Mai 18th, 2011 Andreas Cord-Landwehr Peter Kling Friedhelm Meyer

The Falling Down Guy

Motivated by the blockbuster “Falling Down” withMichael Douglas. A white office-worker gets into trou-ble at his way to work. He helps himself, gets again introuble and this iterates. At the end he thinks that hedid everything right though actually he became the badguy of the movie.A common observation in groups is that there are guyslooking after others. If there are mistakes, they say so.(Sometimes in a slightly impolite way.) However, withtime the become the guys in the community “who arealways only complaining”.

Possible Solutions

do not be the falling down guy ;-)

Working Together & Community BuildingDo not Become the Bad Guy.

Project Management Andreas Cord-Landwehr 22

HEINZ NIXDORF INSTITUTEUniversity of Paderborn

Algorithms and Complexity

Page 42: Project Management - Dovetailing the Project with its Team · Project Management Dovetailing the Project with its Team Mai 18th, 2011 Andreas Cord-Landwehr Peter Kling Friedhelm Meyer

The Broken Window

In New York of the 90s, criminality was high and thecity was coming down. Giuliani, the city’s major, es-tablished the zero-tolerance policy: he dramatically in-creased number of cops and took care to have a cleantown. The motivation behind is: it is mentally easier tosmash a window if others are already broken than tothrow the first stone at. Analogue, you can look at cod-ing guidelines, wikis, mailing lists,. . .

Possible Solutions

everybody must see his responsibility to never left a “broken window”

everybody must notice unfinished tasks and feel responsible to finish them

Working Together & Community BuildingBeware of the Broken Window.

Project Management Andreas Cord-Landwehr 23

HEINZ NIXDORF INSTITUTEUniversity of Paderborn

Algorithms and Complexity

Page 43: Project Management - Dovetailing the Project with its Team · Project Management Dovetailing the Project with its Team Mai 18th, 2011 Andreas Cord-Landwehr Peter Kling Friedhelm Meyer

The Broken Window

In New York of the 90s, criminality was high and thecity was coming down. Giuliani, the city’s major, es-tablished the zero-tolerance policy: he dramatically in-creased number of cops and took care to have a cleantown. The motivation behind is: it is mentally easier tosmash a window if others are already broken than tothrow the first stone at. Analogue, you can look at cod-ing guidelines, wikis, mailing lists,. . .

Possible Solutions

everybody must see his responsibility to never left a “broken window”

everybody must notice unfinished tasks and feel responsible to finish them

Working Together & Community BuildingBeware of the Broken Window.

Project Management Andreas Cord-Landwehr 23

HEINZ NIXDORF INSTITUTEUniversity of Paderborn

Algorithms and Complexity

Page 44: Project Management - Dovetailing the Project with its Team · Project Management Dovetailing the Project with its Team Mai 18th, 2011 Andreas Cord-Landwehr Peter Kling Friedhelm Meyer

1 Team Hierarchy & Project Tasks

2 Decisions & Discussions

3 Working Together & Community Building

4 Deadlines & Progress Management

Deadlines & Progress ManagementHere we are.

Project Management Andreas Cord-Landwehr 24

HEINZ NIXDORF INSTITUTEUniversity of Paderborn

Algorithms and Complexity

Page 45: Project Management - Dovetailing the Project with its Team · Project Management Dovetailing the Project with its Team Mai 18th, 2011 Andreas Cord-Landwehr Peter Kling Friedhelm Meyer

The roadmap is a series of project milestones, (eventually) equipped with specific dates.

Definition (Milestone)

A Milestone clearly defines a specific verifiable state of a task or a set of tasks. It can beconnected to a date but its meaning is given by the project state and not the due date.(formally this is a cut of the project structure plan/DAG)

Roadmap

its elements are milestones that are ordered bytheir due dates

is mapping between the aimed state ofactivities/tasks and concrete dates

establishes synchronization points betweenseveral tasks

its basis are time estimations from project plan

Deadlines & Progress ManagementThe Roadmap

Project Management Andreas Cord-Landwehr 25

HEINZ NIXDORF INSTITUTEUniversity of Paderborn

Algorithms and Complexity

Page 46: Project Management - Dovetailing the Project with its Team · Project Management Dovetailing the Project with its Team Mai 18th, 2011 Andreas Cord-Landwehr Peter Kling Friedhelm Meyer

The roadmap is a series of project milestones, (eventually) equipped with specific dates.

Definition (Milestone)

A Milestone clearly defines a specific verifiable state of a task or a set of tasks. It can beconnected to a date but its meaning is given by the project state and not the due date.(formally this is a cut of the project structure plan/DAG)

Roadmap

its elements are milestones that are ordered bytheir due dates

is mapping between the aimed state ofactivities/tasks and concrete dates

establishes synchronization points betweenseveral tasks

its basis are time estimations from project plan

Deadlines & Progress ManagementThe Roadmap

Project Management Andreas Cord-Landwehr 25

HEINZ NIXDORF INSTITUTEUniversity of Paderborn

Algorithms and Complexity

Page 47: Project Management - Dovetailing the Project with its Team · Project Management Dovetailing the Project with its Team Mai 18th, 2011 Andreas Cord-Landwehr Peter Kling Friedhelm Meyer

If you want to keep track on the progress of tasks you need

to track work that has to be done,

work that was done,

and decide how this ratio influence your future plans.

Estimating Progress

progress should be estimated for each taskyou can estimate by

percentagestate (e.g., planning, implementing, testing, release)by bugsby number of finished/unfinished sub-tasks

can be combined with project plan or be a plan of its own

Deadlines & Progress ManagementSynchronization of Task Progress

Project Management Andreas Cord-Landwehr 26

HEINZ NIXDORF INSTITUTEUniversity of Paderborn

Algorithms and Complexity

Page 48: Project Management - Dovetailing the Project with its Team · Project Management Dovetailing the Project with its Team Mai 18th, 2011 Andreas Cord-Landwehr Peter Kling Friedhelm Meyer

The Cookie-Licker

Idea: Alice and Bob want to have the last cookie, butAlice is already full. So, in front of Bob she licks overthe cookie and puts the cookie back. Now she is surethat Bob will not eat it and the cookie will be there forhere when she comes back later.In a community: there are guys that want to do nearlyeverything. They every free task but actually they graspthat many tasks that they do no succeed doing they all.So they miss deadline after deadline but as they occupythe task, nobody can step in and finish this task.

Possible Solutions

Assign each task with a deadline.

Make it “ok” and tolerate it if somebody says: I took too much tasks and cannot afforddoing them all.

Encourage team-members to say so if the cannot afford finishing their tasks.

Deadlines & Progress ManagementBeware of the Cookie-Licker.

Project Management Andreas Cord-Landwehr 27

HEINZ NIXDORF INSTITUTEUniversity of Paderborn

Algorithms and Complexity

Page 49: Project Management - Dovetailing the Project with its Team · Project Management Dovetailing the Project with its Team Mai 18th, 2011 Andreas Cord-Landwehr Peter Kling Friedhelm Meyer

The Cookie-Licker

Idea: Alice and Bob want to have the last cookie, butAlice is already full. So, in front of Bob she licks overthe cookie and puts the cookie back. Now she is surethat Bob will not eat it and the cookie will be there forhere when she comes back later.In a community: there are guys that want to do nearlyeverything. They every free task but actually they graspthat many tasks that they do no succeed doing they all.So they miss deadline after deadline but as they occupythe task, nobody can step in and finish this task.

Possible Solutions

Assign each task with a deadline.

Make it “ok” and tolerate it if somebody says: I took too much tasks and cannot afforddoing them all.

Encourage team-members to say so if the cannot afford finishing their tasks.

Deadlines & Progress ManagementBeware of the Cookie-Licker.

Project Management Andreas Cord-Landwehr 27

HEINZ NIXDORF INSTITUTEUniversity of Paderborn

Algorithms and Complexity

Page 50: Project Management - Dovetailing the Project with its Team · Project Management Dovetailing the Project with its Team Mai 18th, 2011 Andreas Cord-Landwehr Peter Kling Friedhelm Meyer

A sprint is a time-boxed period of software development focused on a given list of goals.

Common goals for a sprint

community building

architectural discussions

project goals and roadmaps

features prototypes and bug squashing

Deadlines & Progress ManagementLet’s make a sprint!

Project Management Andreas Cord-Landwehr 28

HEINZ NIXDORF INSTITUTEUniversity of Paderborn

Algorithms and Complexity

Page 51: Project Management - Dovetailing the Project with its Team · Project Management Dovetailing the Project with its Team Mai 18th, 2011 Andreas Cord-Landwehr Peter Kling Friedhelm Meyer

April 28 Soft Feature FreezeMay 12 Soft Message Freeze, Soft API Freeze, Dependency Freeze, Hard Feature

FreezeMay 19 Beta 1 TaggingMay 25 Beta 1 ReleaseMay 30 Documentation FreezeJune 2 Beta 2 TaggingJune 8 Beta 2 Release

June 20 Tagging Freeze for Release Candidate 1June 20 Hard API Freeze, Hard Message Freeze, Artwork and Bindings FreezeJune 21 Release Candidate 1 TaggingJune 22 Release Candidate 1 Release

July 4 Tagging Freeze for Release Candidate 2July 5 Release Candidate 2 TaggingJuly 6 Release Candidate 2 Release

July 20 Final TagJuly 27 KDE 4.7 Release

Deadlines & Progress ManagementProject Planning, an ExampleThe KDE Release Cycle

Project Management Andreas Cord-Landwehr 29

HEINZ NIXDORF INSTITUTEUniversity of Paderborn

Algorithms and Complexity

Page 52: Project Management - Dovetailing the Project with its Team · Project Management Dovetailing the Project with its Team Mai 18th, 2011 Andreas Cord-Landwehr Peter Kling Friedhelm Meyer

Quality Assurance

progress estimation and discussion

responsibilities (team leaders!)

reviews (peer, leader)

unit tests

unit dependencies, identifying critical components

establish clear time frames for bug-fixing, releasing, . . .

Note that these are only buzzwords. Your own quality assurance policy can only besuccessful if you take the important parts and establish your own policy.

Deadlines & Progress ManagementQuality Assurance

Project Management Andreas Cord-Landwehr 30

HEINZ NIXDORF INSTITUTEUniversity of Paderborn

Algorithms and Complexity

Page 53: Project Management - Dovetailing the Project with its Team · Project Management Dovetailing the Project with its Team Mai 18th, 2011 Andreas Cord-Landwehr Peter Kling Friedhelm Meyer

1 Team Hierarchy & Project Tasks

2 Decisions & Discussions

3 Working Together & Community Building

4 Deadlines & Progress Management

Deadlines & Progress ManagementSummary

Project Management Andreas Cord-Landwehr 31

HEINZ NIXDORF INSTITUTEUniversity of Paderborn

Algorithms and Complexity

Page 54: Project Management - Dovetailing the Project with its Team · Project Management Dovetailing the Project with its Team Mai 18th, 2011 Andreas Cord-Landwehr Peter Kling Friedhelm Meyer

Thank you for your attention!Thank you for your attention!

Andreas Cord-LandwehrHeinz Nixdorf Institute& Department of Computer ScienceUniversity of Paderborn

Address: Fürstenallee 1133102 PaderbornGermany

Phone: +49 5251 60-6427Fax: +49 5251 60-6482E-mail: [email protected]: http://wwwhni.upb.de/en/alg/

Project Management Andreas Cord-Landwehr 32

HEINZ NIXDORF INSTITUTEUniversity of Paderborn

Algorithms and Complexity