Top Banner
Project coordination tools José Dapena Paz <[email protected]>
32

Project Coordination Tools

May 19, 2015

Download

Technology

Andrés Maneiro
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Project Coordination Tools

Project coordination tools

José Dapena Paz <[email protected]>

Page 2: Project Coordination Tools

Contents

● Project coordination requirements● Team communication● Twiki + XPTracker● Planning● Doc tools● Source code repositories● Integrated tools

Page 3: Project Coordination Tools

Project coordination requirements

● Project coordination requirements● Team communication● Twiki + XPTracker● Planning● Doc tools● Source code repositories● Integrated tools

Page 4: Project Coordination Tools

Project coordination requirements

● Communication among collaborators.– Fast communication (IRC, mi)

– More formal (email, mailing lists)

● Manage project information/documentation, to be shared among the collaborators.– Software manuals

– Project documentation (rules of the project, reference info, etc)

– Code doc

Page 5: Project Coordination Tools

Project coordination requirements (2)

● Plan tasks and assign them to people– Define requirements

– Plan tasks to fulfil requirements

– Assign them to people

● Provide a common repository for project source code– Many people working on the same project

– Tools to provide different branches, tagging, releasing.

Page 6: Project Coordination Tools

Team communication

● Project coordination requirements● Team communication● Twiki + XPTracker● Planning● Doc tools● Source code repositories● Integrated tools

Page 7: Project Coordination Tools

Team communication

We've got people. Now make them work as a community.

Communication problems of a free software community: distance, non-shared timetable, different cultures, ...

But then we've got... Internet.

Page 8: Project Coordination Tools

Team communication

● Internet solutions:– Mailing lists for asynchronous communication.

Formal discussions, communications, etc. Mails themselves act as documentation about the project.

– IM for fast, peer to peer communication. Ask doubts, take fast decissions, etc.

– Chats for “all people” reading discussions. Better if all the team read even peer to peer discussions.

Page 9: Project Coordination Tools

Team communication

● Effects of improving communication– Feel as a group.

– Reduce conflicts caused by individual decissions.

– Bring democracy to the project. Try to consider all opinions available.

● Take care of:– Flamewars.

– Establish rules and solve soon conflicts. Politeness.

– Treat all members as equals.

Page 10: Project Coordination Tools

Team communication

But this is not enough.

A really big improvement comes with getting all the team in the same physical place (hackfests, conferences, etc).

Page 11: Project Coordination Tools

Team communication

● Conferences/meetings/hackfests:– At least one event per year (more is better).

– Use this for discussions, learning, shared knowledge.

– But also for “making a team”. Make it be a social event,not only work. A good, amusing, emotive shared experience will do far more than the best speech.

Page 12: Project Coordination Tools

Team communication

● Two developer profiles:– Volunteers

– Professional contribution

● Main difference:– Professionals can do tasks with a schedule

– Volunteers shouldn't be considered for schedules. All their effort sum, but we cannot forecast too much the effect.

Page 13: Project Coordination Tools

Twiki + XP Tracker

● Project coordination requirements● Team communication● Twiki + XPTracker● Planning● Doc tools● Source code repositories● Integrated tools

Page 14: Project Coordination Tools

Twiki + XP Tracker

We need a common place for information about a project.

This place is where all the team will get and put the project information: decissions, design, requirements, incidences, etc.

A wiki provides a place like this.

Page 15: Project Coordination Tools

Twiki + XP Tracker

● Ad hoc documentation:– Put there not only format docs, but also any other

thought or discussion.

– BUT maintain a rational structure of contents in wiki. At least the main contents should be easy to find. But also a good structure maintains itself structured.

● Encourage people to write about their work and tasks.

● Key concept: all team can participate in any information of the project.

Page 16: Project Coordination Tools

Twiki + XP Tracker

● XP Tracker: tool integrated in Twiki that let you do and track project tasks.

● It's XP (eXtreme Programming) oriented.

Page 17: Project Coordination Tools

XP Tracker

● We've got these entities:– Projects: any big entity of work. It doesn't have to

be a free software project, but also a contract, etc.

– Teams: group of people that share the schedule for a project (examples: translation team, test team, developers, etc).

– Iterations: set of stories to be done by a team in a timeframe.

– Stories: a specific set of goals, that can be done finishing tasks.

– Tasks.

Page 18: Project Coordination Tools

XP Tracker

● Schedule is mainly oriented to professional contributors.

● Iterations should be short. Schedule often, as requirements change.

● Document all the work process in the wiki, both in the stories and in general documentation nodes.

Page 19: Project Coordination Tools

Planning tools

● Project coordination requirements● Team communication● Twiki + XPTracker● Planning● Doc tools● Source code repositories● Integrated tools

Page 20: Project Coordination Tools

Planning

● You've got limited resources. A good plan should optimize them to fulfill the tasks of the project as soon as posible.

● Tools to do this:– Gantt diagrams. Describe a project schedule in

time, and assign resources.

– PERT diagram. Describe project tasks interdependencies and detect critical tasks (if these tasks are delayed all the project is delayed).

Page 21: Project Coordination Tools

Planner

● Gantt diagram based.● It let's you schedule tasks, workload and its

dependencies.● Then you assign your resources to the tasks,

taking into account the expected milestones.● Remember: you can only reliably schedule

professional collaborators.

Page 22: Project Coordination Tools

Bugzilla

● Can be used as another planning tool.● Good tool for incidence/bug oriented tasks.● Let you easily coordinate testers, developers

and users to improve quality.

Page 23: Project Coordination Tools

Documentation tools

● Project coordination requirements● Team communication● Twiki + XPTracker● Planning● Doc tools● Source code repositories● Integrated tools

Page 24: Project Coordination Tools

Documentation tools

● You should provide these levels of documentation:– Project organization, developer manuals: wiki.

– User manuals: docbook, html, etc.

– Source code documentation: annotation tools like gtk-doc, javadoc.

– Bugs/incidences: bugzilla.

Page 25: Project Coordination Tools

Source code repositories

● Project coordination requirements● Team communication● Twiki + XPTracker● Planning● Doc tools● Source code repositories● Integrated tools

Page 26: Project Coordination Tools

Source code repositories

● Repositories of source code.● Should make easier collaboration of people

over the code.● Works better with a good versioning policy:

– Clear difference between stable and unstable development.

– Make easier to identify software products (map releases and source code).

Page 27: Project Coordination Tools

Source code repositories

● Just remember: release often, but make it easy to let collaborators contribute with new/risky code.

● Improvements:– Continuous integration tools

– Automatic testing (unit tests, functional tests).

Page 28: Project Coordination Tools

Source code repositories

● SVN– Wide usage

– Client-server model

– Interface very similar to CVS

● GIT– Distributed model

– Signed revisions

– Merge tracking

Page 29: Project Coordination Tools

Integrated tools

● Project coordination requirements● Team communication● Twiki + XPTracker● Planning● Doc tools● Source code repositories● Integrated tools

Page 30: Project Coordination Tools

Integrated tools

● A software that integrates many of these elements.

● Only point to get persistent information of the project

● Two popular ones:– Gforge

– Trac

Page 31: Project Coordination Tools

GForge

● The one used in forge.morfeo-project.org.● Communication tools: mailing lists/forums,

polls, publish news.● Planning, tasks tracking (including bug

tracking).● Version control (CVS/SVN), and releases

publishing.● Wiki is available as a plugin. Poor integration

with web.

Page 32: Project Coordination Tools

Trac

● Wiki based.● No communication tool integration● Good integration with version control (SVN)