project coordination tools
TRANSCRIPT
![Page 2: Project Coordination Tools](https://reader034.vdocuments.us/reader034/viewer/2022052505/555a65a8d8b42ae7218b4a77/html5/thumbnails/2.jpg)
Contents
● Project coordination requirements● Team communication● Twiki + XPTracker● Planning● Doc tools● Source code repositories● Integrated tools
![Page 3: Project Coordination Tools](https://reader034.vdocuments.us/reader034/viewer/2022052505/555a65a8d8b42ae7218b4a77/html5/thumbnails/3.jpg)
Project coordination requirements
● Project coordination requirements● Team communication● Twiki + XPTracker● Planning● Doc tools● Source code repositories● Integrated tools
![Page 4: Project Coordination Tools](https://reader034.vdocuments.us/reader034/viewer/2022052505/555a65a8d8b42ae7218b4a77/html5/thumbnails/4.jpg)
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](https://reader034.vdocuments.us/reader034/viewer/2022052505/555a65a8d8b42ae7218b4a77/html5/thumbnails/5.jpg)
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](https://reader034.vdocuments.us/reader034/viewer/2022052505/555a65a8d8b42ae7218b4a77/html5/thumbnails/6.jpg)
Team communication
● Project coordination requirements● Team communication● Twiki + XPTracker● Planning● Doc tools● Source code repositories● Integrated tools
![Page 7: Project Coordination Tools](https://reader034.vdocuments.us/reader034/viewer/2022052505/555a65a8d8b42ae7218b4a77/html5/thumbnails/7.jpg)
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](https://reader034.vdocuments.us/reader034/viewer/2022052505/555a65a8d8b42ae7218b4a77/html5/thumbnails/8.jpg)
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](https://reader034.vdocuments.us/reader034/viewer/2022052505/555a65a8d8b42ae7218b4a77/html5/thumbnails/9.jpg)
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](https://reader034.vdocuments.us/reader034/viewer/2022052505/555a65a8d8b42ae7218b4a77/html5/thumbnails/10.jpg)
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](https://reader034.vdocuments.us/reader034/viewer/2022052505/555a65a8d8b42ae7218b4a77/html5/thumbnails/11.jpg)
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](https://reader034.vdocuments.us/reader034/viewer/2022052505/555a65a8d8b42ae7218b4a77/html5/thumbnails/12.jpg)
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](https://reader034.vdocuments.us/reader034/viewer/2022052505/555a65a8d8b42ae7218b4a77/html5/thumbnails/13.jpg)
Twiki + XP Tracker
● Project coordination requirements● Team communication● Twiki + XPTracker● Planning● Doc tools● Source code repositories● Integrated tools
![Page 14: Project Coordination Tools](https://reader034.vdocuments.us/reader034/viewer/2022052505/555a65a8d8b42ae7218b4a77/html5/thumbnails/14.jpg)
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](https://reader034.vdocuments.us/reader034/viewer/2022052505/555a65a8d8b42ae7218b4a77/html5/thumbnails/15.jpg)
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](https://reader034.vdocuments.us/reader034/viewer/2022052505/555a65a8d8b42ae7218b4a77/html5/thumbnails/16.jpg)
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](https://reader034.vdocuments.us/reader034/viewer/2022052505/555a65a8d8b42ae7218b4a77/html5/thumbnails/17.jpg)
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](https://reader034.vdocuments.us/reader034/viewer/2022052505/555a65a8d8b42ae7218b4a77/html5/thumbnails/18.jpg)
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](https://reader034.vdocuments.us/reader034/viewer/2022052505/555a65a8d8b42ae7218b4a77/html5/thumbnails/19.jpg)
Planning tools
● Project coordination requirements● Team communication● Twiki + XPTracker● Planning● Doc tools● Source code repositories● Integrated tools
![Page 20: Project Coordination Tools](https://reader034.vdocuments.us/reader034/viewer/2022052505/555a65a8d8b42ae7218b4a77/html5/thumbnails/20.jpg)
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](https://reader034.vdocuments.us/reader034/viewer/2022052505/555a65a8d8b42ae7218b4a77/html5/thumbnails/21.jpg)
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](https://reader034.vdocuments.us/reader034/viewer/2022052505/555a65a8d8b42ae7218b4a77/html5/thumbnails/22.jpg)
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](https://reader034.vdocuments.us/reader034/viewer/2022052505/555a65a8d8b42ae7218b4a77/html5/thumbnails/23.jpg)
Documentation tools
● Project coordination requirements● Team communication● Twiki + XPTracker● Planning● Doc tools● Source code repositories● Integrated tools
![Page 24: Project Coordination Tools](https://reader034.vdocuments.us/reader034/viewer/2022052505/555a65a8d8b42ae7218b4a77/html5/thumbnails/24.jpg)
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](https://reader034.vdocuments.us/reader034/viewer/2022052505/555a65a8d8b42ae7218b4a77/html5/thumbnails/25.jpg)
Source code repositories
● Project coordination requirements● Team communication● Twiki + XPTracker● Planning● Doc tools● Source code repositories● Integrated tools
![Page 26: Project Coordination Tools](https://reader034.vdocuments.us/reader034/viewer/2022052505/555a65a8d8b42ae7218b4a77/html5/thumbnails/26.jpg)
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](https://reader034.vdocuments.us/reader034/viewer/2022052505/555a65a8d8b42ae7218b4a77/html5/thumbnails/27.jpg)
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](https://reader034.vdocuments.us/reader034/viewer/2022052505/555a65a8d8b42ae7218b4a77/html5/thumbnails/28.jpg)
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](https://reader034.vdocuments.us/reader034/viewer/2022052505/555a65a8d8b42ae7218b4a77/html5/thumbnails/29.jpg)
Integrated tools
● Project coordination requirements● Team communication● Twiki + XPTracker● Planning● Doc tools● Source code repositories● Integrated tools
![Page 30: Project Coordination Tools](https://reader034.vdocuments.us/reader034/viewer/2022052505/555a65a8d8b42ae7218b4a77/html5/thumbnails/30.jpg)
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](https://reader034.vdocuments.us/reader034/viewer/2022052505/555a65a8d8b42ae7218b4a77/html5/thumbnails/31.jpg)
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](https://reader034.vdocuments.us/reader034/viewer/2022052505/555a65a8d8b42ae7218b4a77/html5/thumbnails/32.jpg)
Trac
● Wiki based.● No communication tool integration● Good integration with version control (SVN)