Your SlideShare is downloading. ×
0
Development & coordination            Tools     Juan José Sánchez Penas              Master on Free Software
Coordination tools       Master on Free Software
Coordination tools (I)●   Goal: we group here the tools devoted to    the work management of a hackers group●   There are ...
Coordination tools (II)●   Some tools cover various areas (sourceforge    and forges)●   Usually they try to integrate mul...
Coordination tools:   work schedule●   Goal: organize and plan the work of the project●   Project organization using Agile...
Coordination tools:             documentation/information●   Goal: organize, create and maintain    project documentation ...
Coordination tools:documentation/information        Master on Free Software
Coordination tools:   Repositories●   Goal: store and manage the modifications    of the code and documentation●   Key rol...
Coordination tools:   tickets/bugs●   Goal: keep track of a pending tasks list or    bugs inside a project●   Helps to the...
Coordination tools:   Communications●   Goals: direct communication between the    hackers in a project●   These tools are...
Development tools       Master on Free Software
Development tools (I)●   Goal: help the hackers to write code,    compile it and debug/profile it●   These tools could dep...
Development tools (II)●   We can classify the tools in the following    groups:    ●   Designing tools    ●   Editors and ...
Development tools: design●   Goal: draw the design of the software we    are developing●   It is important to draw the des...
Development tools: design●   Goal: draw the design of the software we are    developing●   It is important to draw the des...
Development tools:    editors (IDEs)●   Goal: interfaces that help writing the code and    integrate other development too...
Development tools:              building and testing●   Goal: help with the construction of    software, mainly with not s...
Development tools:building and testing      Master on Free Software
Development tools:            continuous integration●   Goal: manage the code automatically●   One of the core pieces when...
Development tools:continuous integration       Master on Free Software
Development tools:           debugging and profiling●   Goal: find the bugs and problems of the    projects and solve them...
Upcoming SlideShare
Loading in...5
×

Tools

1,042

Published on

Published in: Business, Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
1,042
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
8
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Transcript of "Tools"

  1. 1. Development & coordination Tools Juan José Sánchez Penas Master on Free Software
  2. 2. Coordination tools Master on Free Software
  3. 3. Coordination tools (I)● Goal: we group here the tools devoted to the work management of a hackers group● There are multiple areas managed by these tools: ● Work schedule ● Documentation/information ● Repositories ● Tickets/bugs ● Communications Master on Free Software
  4. 4. Coordination tools (II)● Some tools cover various areas (sourceforge and forges)● Usually they try to integrate multiple services or collaborate with other tools● These tools do not depend on the platform and are commonly shared by the communities● Communities and projects inside companies decide which ones are interesting for them● Agile methods and practices are very common Master on Free Software
  5. 5. Coordination tools: work schedule● Goal: organize and plan the work of the project● Project organization using Agile methodologies and practices, very flexible (XP, SCRUM, DSDM, Lean software development, Post-agilism, etc.)● Tools: wikis, agile tools, planning● Examples: Twiki (XPTracker), Trac (Timing and Estimation, Burndown chart), planner, OpenProj, dotproject (web)● Commercial: VersionOne and TargetProcess Master on Free Software
  6. 6. Coordination tools: documentation/information● Goal: organize, create and maintain project documentation and information● This repositories allows the fast development, reorganization and sharing of the information and documentation.● Tools: wikis, content management systems● Examples: TWiki, Trac, Mediawiki● Commercial: confluence Master on Free Software
  7. 7. Coordination tools:documentation/information Master on Free Software
  8. 8. Coordination tools: Repositories● Goal: store and manage the modifications of the code and documentation● Key role in the software development● Different types of repositories examples: ● Decentralized: GNU arch, bazaar, git, SVK ● Centralized: CVS, SVN● Commercial: BitKeeper Master on Free Software
  9. 9. Coordination tools: tickets/bugs● Goal: keep track of a pending tasks list or bugs inside a project● Helps to the definition of list of tasks or roadmaps (schedule tools)● It is important for the quality assurance of the projects● Tools: bugtracker, issue tracker● Examples: bugzilla, request tracker, CVSTrac Master on Free Software
  10. 10. Coordination tools: Communications● Goals: direct communication between the hackers in a project● These tools are important because they allow the hackers to discuss and coordinate in the daily work● Tools: mailing lists (archives), chats, instant messaging● Examples: mutt, evolution, xchat, pidgin Master on Free Software
  11. 11. Development tools Master on Free Software
  12. 12. Development tools (I)● Goal: help the hackers to write code, compile it and debug/profile it● These tools could depend on the platform and community that you are working● It is interesting if we can use the same tool for multiple platform/environments● Project development integration (from compilation to testing) Master on Free Software
  13. 13. Development tools (II)● We can classify the tools in the following groups: ● Designing tools ● Editors and environments (IDEs) ● Building systems ● Testing ● Continuous integration (coordination) ● Debugging ● Profiling Master on Free Software
  14. 14. Development tools: design● Goal: draw the design of the software we are developing● It is important to draw the designs in order to communicate and think about the developments● Mainly OO designs● Examples: Umbrello, Dia, ArgoUML, xfig, graphviz, kivio Master on Free Software
  15. 15. Development tools: design● Goal: draw the design of the software we are developing● It is important to draw the designs in order to communicate and think about the developments● Mainly OO designs● Examples: Umbrello, Dia, ArgoUML, xfig, graphviz Master on Free Software
  16. 16. Development tools: editors (IDEs)● Goal: interfaces that help writing the code and integrate other development tools● Different depending on platform and community● Some try to be a multiplatform solution (GNU/Emacs, Eclipse)● Others are focused in one platform (NetBeans, Anjuta, Monodevelop, Kdevelop)● Important in order to do an efficient work to know well the tool we are going to use Master on Free Software
  17. 17. Development tools: building and testing● Goal: help with the construction of software, mainly with not simple projects and development/execution of tests● The main tools here are the GNU autotools (depends on the platform)● Java community uses Ant● Unit and functional testings are usually integrated with the building system Master on Free Software
  18. 18. Development tools:building and testing Master on Free Software
  19. 19. Development tools: continuous integration● Goal: manage the code automatically● One of the core pieces when working in a agile group, allows the fast integration of the code● The project must compile all the time● It usually runs the tests● Examples: buildbot, mozilla tinderbox● It can also integrate repository information and profiling Master on Free Software
  20. 20. Development tools:continuous integration Master on Free Software
  21. 21. Development tools: debugging and profiling● Goal: find the bugs and problems of the projects and solve them● Very important to use some basic tools and its semantics to create good software● These tools depend on the platform and the community, and can be integrated in the IDE● Examples: gdb, valgrind, Electric Fence, kcachegrind, OProfile, Sysprof, gprof, exmap, iogrind Master on Free Software
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×