3. Managing Projects Where do you keep issues/to-do’s ? Email ? Excel Sheets ? Post-it’s What about documentation Word document How do you handle collaboration ?! Diogo Gomes <dgomes@av.it.pt> 3
7. Wiki It’s a set of interlinked web pages created using a simplified markup language Enables cooperative editing of documentation Anyone can edit! Navigation is usually chaotic, but provides a better mapping of relationship between subjects. Diogo Gomes <dgomes@av.it.pt> 7
8. Issue Tracking trouble ticket system, support ticket or incident ticket system can overlap with bug tracker Systematic approach to problem solving Enables efficient tracking of progress Provides the means to monitor and coordinate a project progress Diogo Gomes <dgomes@av.it.pt> 8
9. Source Code Management (SCM) don’t worry about overwriting files or losing code. keep a constant history of every file in your project. view the changes to specific code, review with your team, and even roll back changes to previous versions. Diogo Gomes <dgomes@av.it.pt> 9
10. Benefits of SCM’s Improves team collaboration. Many people can update the same files without the risk of overwriting each others work. Can provide a constant backup of your files in a central location, where you can share changes and updates with team members. Diogo Gomes <dgomes@av.it.pt> 10
11. SourceCodeManagement (SCM) SCM models Atomic Operations File Locking Version Merging Baselines, labels and tags Repository Model Centralized (CVS, SVN, VSS) Distributed (GIT, Mercurial) 11 Diogo Gomes <dgomes@av.it.pt>
12. CodeUA Objectives Provide the academic community a tool that can assist in software project management. Research (IEETA, IT) Classes (ARA, Eng. Software, Eng. Serviços, FR, P*, etc) To allow both public and private projects To gather all efforts under a single entity/tool Multiplatform Solution (Windows, Linux, OSX) Integrated with the university remaining services (SSO) Opportunities To provide students experience using software and project management tools Usage of the tool in order to track grad-students progress Mass software collection tool Platform used: Redmine + SVN (WIP: GIT) 12 Diogo Gomes <dgomes@av.it.pt>
13. Redmine http://www.redmine.org/ Main features Multiple project support Flexible access control system Issue tracking Document Management RSS and E-Mail notification Per Project Wiki’s and Forum’s Time Management including Gantt graph generation Easy integration of several SCM’s (eg: SVN, CVS, Git) New functionalities can be introduced through Plugins Built on Ruby-on-Rails (RoR) (Mongrel + MySQL) 13 Diogo Gomes <dgomes@av.it.pt>
14. Projects Subprojects Ex: Project Cake, sub-project Chocolate Cake Issues can be used to track both features and bugs Integration between SCM, Issues, Wiki Example: commits can reference an Issue # Roadmaps enable to track project milestones, and plan ahead 14 Diogo Gomes <dgomes@av.it.pt>
15. SCM Integration Navigation through the repository Statistics Comments Integration Shared Authentication (Web / SCM) 15 Diogo Gomes <dgomes@av.it.pt>
16. SVN How can I use SVN? Client Software Windows: TortoiseSVN Linux: Use the cmdline OSX: Versions Create your project CodeUA Google Code SourceForge Diogo Gomes <dgomes@av.it.pt> 16
17. SVN basics Checkout Download project Alter your files locally Diogo Gomes <dgomes@av.it.pt> 17
18. SVN basics Commit Upload your changes Keep all versions Diogo Gomes <dgomes@av.it.pt> 18
19. SVN (1) svn checkout path://to.project.site/ folder imports the content of the URL into a new folder called subversion svn update used to grab the latest version of files from the Subversion server. svn log log of what happened in the repository Diogo Gomes <dgomes@av.it.pt> 19
20. SVN (2) svn import /fs/path path://to.project/ Used to initially import your files to the server svn add file indicates that a new file should be versioned svn delete file indicates that a file should be removed from the HEAD svn commit used to grab the latest version of files from the Subversion server. Diogo Gomes <dgomes@av.it.pt> 20
21. SVN (3) svn diff file what have I done compared with the repository svn blame file who did which change to the file svn status shows the things that have changed in your working copy. Diogo Gomes <dgomes@av.it.pt> 21
23. WalkThrough Login Listagem de projectos (publicos vs privados) Criação de um projecto Definição de Roles Criação de Issues Edição do Wiki Checkout via SVN 23 Diogo Gomes <dgomes@av.it.pt>
24. GIT Not dependent on network access or a central server Strong support for non-linear development Very Fast Compatibility with existing systems/protocols Important Concepts Pull, Push, Commit Diogo Gomes <dgomes@av.it.pt> 24