CSC/ECE 517 Fall 2012/ch2a 2w7 ma

From PG_Wiki
Jump to: navigation, search

Scrum Tools - This page gives survey of the tools that can be used for practicing scrum. It considers the features offered by each of them, the scenarios in which each of them can be used considering what features it has and what features it lacks, cost involved etc.

Contents

Overview [1]

Scrum

Scrum is an iterative and incremental agile software development[2] method for managing software projects and products or application development. Scrum focuses on project management institutions where it is difficult to plan ahead. Mechanisms of empirical process control, where feedback loops that constitute the core management technique are used as opposed to traditional command-and-control oriented management. It represents a radically new approach for planning and managing projects, bringing decision-making authority to the level of operation properties and certainties.

Scrum Tools

Scrum can be implemented through a wide range of tools. Many companies use universal tools, such as spreadsheets to build and maintain artifacts such as the sprint backlog. There are also open-source and proprietary packages dedicated to management of products under the Scrum process. Other organizations implement Scrum without the use of any tools and maintain their artifacts in hard-copy forms such as paper, whiteboards and sticky notes.

Selecting The Right Tool [3]

Here are some of the factors which should be considered before selecting the correct scrum tool -

Primary Factors

- Scrum requires transparency to succeed. Everyone who needs to know about the project from the developers to the stakeholders and maybe even the customer should be able to use the tool. There is no point using a tool if only a Scrum Master or a few people can use it and everyone else has to rely on email.

- Tools can be used to open up channels of communication. For example, allowing a developer to comment on a user story and have a remote customer reply back – setting up direct communication between developer and customer and bypassing all the bureaucracy in the middle.

- Example: A team member forgot to update the estimate for Friday. He remembers on Monday. Can you set the estimate for Friday on Monday? In a “high trust” tool like pen & paper: you can just pick up a pen and redraw the burndown. In a “low trust” tool, you cannot do this because it is considered as meddling with the past recorded history of actions.

- Each team is going to use the tool differently. Some tools adapt to the way you work, other tools force you to work the way the tool is setup. Because of the self-managed nature of scrum, it is important that the tool support the team, and the team should not have to change their working to fit the tool.

Secondary Factors

- Standalone tools let you create users, stories, iterations and tasks and generate some reports like burndown or velocity. Basic, but useful when you want something simple.

- Integrated tools do only project management, but they can integrate with external tools like other bug tracking tools, source control, wikis and so on. For example, you will be able to synchronize bugs from the bug tracker to the PM tool or link tasks in the tool with code commits and so on. They can provide an overview across multiple tools in use.

- Monolithic tools support the entire life-cycle like document management, bug tracking, artifact management over and above standard PM functionality all within a single tool. Advantages of monolithic are that all components are tightly integrated. Disadvantage is that you have to discard all your existing tools to move to a monolithic one. Also if the monolithic tool does not support a particular component (like continuous integration or code analysis) you may still have to use multiple tools.

- How usable is the tool? When you have poor usability, people may resent working with the tool and might start working around the tool instead. Tools with poor usability may also call for additional unplanned expenditure in training and support. You also have issues of general resentment by the team at whoever foisted the tool upon them.

- Is the tool open source, free or commercial? For commercial tools, it the pricing per-user or per-project? Subscription or one-time payment? What is your risk exposure should the team size or number of projects increase? What is the total cost of ownership, including training, support, customizations etc. How does it fit your budget?

Low Tech Scrum Tools[4]

- The eXtreme Programming (XP) community swears by the use of standard index cards for a wide variety of modeling techniques, and in particular Class Responsibility Collaborator (CRC) modeling.

- Post-It notes are also an option, for example one can develop an abstract/essential user interface prototype using Post-Its on large sheets of paper. This is part of a technique called essential user interface modeling.

- Pieces of paper, or index cards, tacked onto a whiteboard and connected by strings can be used for a wide variety of models. For example the individual sheets of paper can represent database tables and the lines relationships between tables on a physical data model, or the sheets can represent screens and the strings navigation flows between screens on a user interface flow diagram, or the sheets can represent use cases and actors and the strings represent associations between them on a UML use case diagram.

- A whiteboard for sketching on is likely the most common modeling tool in use. A digital camera can easily make copies of sketches that one wants to keep.

Examples of Open Source Scrum Tools[5]

Here are some of the examples of open-source scrum project management tools -

Agilefant[6]

Agilefant's Development Porfolio
Overview

Products are the highest level construct, and each deployment may have multiple products. Each product may have one or more projects, which are essentially releases. Each project may have one or more iterations. Each product, project (think "release"), and iteration has its own backlog, which contains stories. Stories can be moved to any other backlog, for example from the product backlog to an iteration backlog. Stories may consist of zero or more tasks. Projects can be prioritized in the Portfolio view.

The tool supports multiple concurrent iterations, which allows larger organizations to use the tool effectively.

Agilefant supports multiple users and users can be grouped into teams. However, it does not support any user roles; a user is a user, with no differences in permissions or access to features. Teams can be assigned to specific iterations.

Version 1.6.2 does not include the concept of higher-level features or epics, although this feature is promised in version 2.0 which is supposed to be released soon. It does support the concept of themes, which are an attribute of stories, and this does provide a simplistic way to associate a group of stories.

Strengths
Weaknesses

IceScrum[7]

IceScrum's Product Backlog view
Overview

Products (also called projects in some places) are the highest level construct, and each deployment may have multiple products. Each product has a single backlog and a roadmap. A backlog contains features (similar to epics), user stories, defects and technical stories. A roadmap contains multiple releases, each of which has a single release plan. A release plan consists of multiple sprints. Each sprint contains stories, which in turn contain tasks and acceptance tests. Impediments can be tracked for each product.

Unlike Agilefant, IceScrum includes a task board/whiteboard view of the iteration, allowing tasks to be dragged and dropped. It also allows drag and drop ranking of user stories in the backlog. Many options are available only from a right-click context menu, which isn’t obvious at first but is easy to use once you notice it.

IceScrum is the only product reviewed that has a planning poker feature. This feature allows a distributed team to play planning poker for estimating features and user stories.

IceScrum allows only a single release and single sprint to be active at one time (for a particular product), making it unsuitable for larger organizations that need multiple concurrent sprints with multiple teams running in parallel for a single product.

IceScrum users may have any of the Scrum roles (Product Owner, Scrum Master, Team Member, Stakeholder) plus custom roles may be created. It does not allow users to be grouped into teams.

Beyond a burndown chart, IceScrum does not have any reports or reporting API.

Strengths
Weaknesses

Agilo[8]

Agilo's Sprint Backlog view
Overview
Strengths
Weaknesses

eXplainPMT[9]

eXplainPMT's Backlog
Overview

The highest level construct is the project, and eXplainPMT supports multiple projects. Each project has one or more releases, and iterations. Note that iterations are associated with projects, not with releases. A project has one backlog, and a backlog contains stories. Stories have tasks and acceptance tests, and can be assigned to a release. Stories may also be associated with an initiative, which is somewhat like an epic, except initiatives cannot be ranked or prioritized. Surprisingly, tasks do not have estimated or actual hours; they have only two states: incomplete or complete.

Users in eXplainPMT do not have specific roles; all users are the same. Users may be grouped into teams.

Viability, Support & Documentation

eXplainPMT has no user guide and only a brief README file for an installation guide. It has no forums, nor any email support. It is unclear whether development is still active; the last update was November 2008.

Strengths
Weaknesses

XPlanner[10]

XPlanner's Story view
Overview

The highest level construct is the project, and XPlanner supports multiple projects. It does not include releases. Each project has one or more iterations. It does not include a product backlog, but a workaround is to create a special iteration to use as a product backlog. Iterations contain stories, and stories contain tasks. Tasks may be of type feature, debt, defect, ftest (functional test), atest (acceptance test), or overhead. Stories are estimated in hours, and tasks are estimated and tracked in hours.

Users in XPlanner can be assigned four permission levels: Viewer (read only), Editor, Admin., or Super Admin. XPlanner does not have a team construct for grouping users.

Strengths
Weaknesses

Quick Comparison

Agilefant IceScrum Agilo eXPlainPMT XPlanner
User roles None PO, SM, Team Member, Stakeholder, plus custom roles. SM, PO, Team Member. None Viewer, Editor, Admin, Super Admin.
Reports Timesheets only None Can save customized reports None Extensive built-in reports, but no custom reporting
Integration & API(s) None None SVN, trac, mylyn None SOAP, notation for URL linking
Pros Rich feature set. Timesheet feature. Rich feature set. Good task board view. Planning poker feature Great whiteboard view Intuitive Intuitive. Rich charts and reports built in
Cons No task board view Not always intuitive. Not suitable for large projects Some common actions require lots of clicks No support or forums. Status uncertain. No hours for tasks. No sprint burndown Inactive and Not supported. Not suitable for large projects. Doesn’t directly support releases/roadmaps.

Examples of proprietary Scrum Tools

Here are some of the examples of proprietary scrum project management tools -

IBM Rational Team Concert[11]

Planned Items View
Concepts

IBM Rational Team Concert is built on the Jazz Platform, an extensible technology platform that helps teams integrate tasks across the software life cycle. Rational Team Concert is built on a client-server architecture and it enables software development teams to track all aspects of their work, such as work items, source control, reporting, and build management, in a single product. Rational Team Concert integrates with several other products, including Subversion, Git, and IBM Rational ClearCase revision-control products, IBM Rational ClearQuest and JIRA change management products, IBM Rational Quality Manager and HP Quality Center quality management systems, and IBM Rational Build Forge, Hudson, CruiseControl, and Maven build and process automation tools. Rational Team Concert has an Eclipse-based client interface, a Microsoft Visual Studio client interface, and a Web interface. Additionally it provides since version 4.0 a windows shell integration within the Windows Explorer for source control of files within the Rational Team Concert repository. The client interfaces provide an integrated development environment for developers to build and deliver artifacts. Users can use the Web interface to administer servers and projects, access project areas, browse repository information, update tasks, or read about recent events.

Strengths
Weaknesses

JIRA[12]

Jira's Dashboard View
Concepts

JIRA is a proprietary issue tracking product, developed by Atlassian, commonly used for bug tracking, issue tracking, and project management. The product name, JIRA, is not an acronym but rather a truncation of "Gojira", the Japanese name for Godzilla.It has been developed since 2002. JIRA is a commercial software product that can be licensed for running on-premises or available as a hosted application. Pricing depends on the maximum number of users, with approximately $50 per user for in-house and $7 per month per user for the hosted version being typical prices. Atlassian provides JIRA for free to open source projects that meet certain criteria, and organizations that are non-profit, non-government, non-academic, non-commercial, non-political, and secular. For academic and commercial customers, the full source code is available under a developer source license. Starting with JIRA 4, a 10-user starter license costs $10 with all proceeds benefiting Room to Read.Starter licenses are also available for other Atlassian products that can integrate with JIRA, such as Bonfire, Confluence, Crucible, GreenHopper, Bamboo, FishEye and Crowd.

Strengths[13]
Weaknesses

Mingle[14]

Mingle's Sprint View
Concepts[15]

Mingle and Mingle Plus are a proprietary project management and collaboration platform that is built by ThoughtWorks Studios, the software division of ThoughtWorks. Mingle and Mingle Plus provide ways for a team to share information about a project and as a system of record and management for the project itself. Mingle and Mingle Plus show the status and progress of project tasks on drag and drop Card Walls that are meant to simulate an Agile Story Wall, has wikis for project collaboration, and can associate instant messages with project tasks through a feature Mingle calls Murmurs. Mingle and Mingle Plus can generate burn-down charts showing work remaining, velocity charts showing actual versus expected progress, and pivot tables for grouping data by one or more attributes. Mingle Plus plus features include: Create visual, interactive timelines to communicate your organization's plans and goals. Collaborate to plan work towards common objectives. Track progress towards goals, understand the current status of projects and objectives. Forecast completion dates based on project work. Understand when forecasts differ from plans. Replan and adapt to change. Get alerted when objectives may be delivered later than expected. Understand which projects and work items are at risk. Work together to resolve issues.

Mingle and Mingle Plus are intended to support various flavors of Agile like XP, Scrum, Agile Hybrid. Though primarily a project management tool, it also provides bug tracking, project reporting and program management capabilities.

Strengths
Weaknesses

Conclusion

To summarize, a tool for distributed teams helps improve communication and increase stakeholder visibility into the project. There are many open source and proprietary scrum tools available in the market. A team can decide on which scrum tool to select depending on the requirements.

See Also

References

  1. http://en.wikipedia.org/wiki/Scrum_(development)
  2. http://en.wikipedia.org/wiki/Iterative_and_incremental_development
  3. http://toolsforagile.com/blog/archives/160/agile-project-management-tool-evaluation-guide
  4. http://www.agilemodeling.com/essays/simpleTools.htm
  5. http://www.openlogic.com/wazi/bid/188152/Comparing-Open-Source-Agile-Project-Management-Tools
  6. http://www.agilefant.org/
  7. http://www.icescrum.org/
  8. http://www.agile42.com/cms/pages/agilo/
  9. http://github.com/explainpmt/explainpmt/tree/master
  10. http://www.xplanner.org/
  11. http://en.wikipedia.org/wiki/IBM_Rational_Team_Concert
  12. http://en.wikipedia.org/wiki/JIRA
  13. https://wiki.mozilla.org/Scrum/Tools
  14. http://en.wikipedia.org/wiki/Mingle
  15. http://borisgloger.com/2008/08/26/scrumtools-mingle/
Personal tools
Namespaces
Variants
Actions
Navigation
Toolbox