Methods & Tools Software Development Magazine

Software Development Magazine - Project Management, Programming, Software Testing

 

Click here to view the complete list of tools reviews

This article was originally published in the Fall 2010 issue of Methods & Tools


tinyPM

Franco Martinig, Martinig & Associates, http://www.martinig.ch/

tinyPM is a lightweight and smart agile collaboration tool with product management, backlog, taskboard, user stories and wiki.

Web Site: http://www.tinypm.com/

Version Tested: tinyPM version 2.3, tested on Windows XP during a period from August to September 2010

System Requirements: Java 6, Tomcat 5.5.x/6.x, MySQL 5.x, machine with 1 GB of RAM (recommended)

License & Pricing: Commercial, free until 5 users, 12,50 euros/user/month above;

see http://www.tinypm.com/pricing for details

Support: support forum for all and e-mail for paid version

Languages: tinyPM is available in English, German, French, Polish and Portuguese.

Installation

To run the installation, you need to have the Java JRE (Java Runtime Environment) working on your machine. If this is not the case, you can download it from http://www.java.com/. You need to setup some path variables in your system.

tinyPM is written in Java and thus should run on every machine with a Java Virtual Machine. The installation procedure will depend on you system and if you have already Tomcat installed. On my Windows XP system, I choose the standalone installer of tinyPM version bundled with Apache Tomcat and HSQLDB. Installation is a quick procedure, only asking for license approval, directory choice and shortcut creation in the menu. tinyPM does not create a shortcut on the desktop.

Using the "Start tinyPM" option in the program menu will start the Tomcat server and open tinyPM in your browser. It happens that the browser is "faster" than the Tomcat initialization process and creates a "page not found error". In this case, you just need to wait for the end of the Tomcat start-up process and reload your browser page pointing to localhost. The first time that you use the software you need to go to http://support.tinypm.com to register and fill some information to receive the license for your free five users version. You are then able to download a license file that you need to start using tinyPM.

For a clean exit of the application, the "stop tinyPM" command will stop the Tomcat server instance.

Another command from the Start Menu folder allows you to open the tinyPM database. You may need it when you upgrade. tinyPM runs initially with HSQLDB that should not be used as a production database. Documentation describes how you can switch to MySQL.

Documentation

Documentation is available on line on http://documentation.tinypm.com/. The blog posts that discuss the features augment it. The interface is rather intuitive and consistent, thus allowing getting rapidly a grasp on the main tools features without having to read the manual. A getting started could help you in case you need it.

Configuration

There isn't so much infrastructure configuration to do when you use tinyPM. A single setting screen allows managing application infrastructure like license key management or identifying the mail server information to inform project members of certain events.

Features

  • Roles

The role management screen allows to create your own project roles (product owner, scrummaster, developer, etc.) and attribute activity permissions, like "creating a project" or "delete user story". These will allow users with these roles to perform the activity in tinyPM. You have a complete flexibility in defining user permissions here.

  • Users

The user creation screen records basic user information and which notifications should be sent to the user after the occurrences of certain events, like the deletion of a user story for instance.

  • Project

Creating a project is rather simple and project members can be associated to the project when it is created. In the project setting screen, you can define your budget metrics like the estimation rules for user stories or the project budget. This screen also allows you to assign to each user story an automatic list of tasks, like the creation of functional tests or documentation for instance. This avoids to manually creating the same list of task when you create user stories. Most of these settings are optional. This means that if you don't care about budget tracking or do not estimate tasks, you don't have to define them and tinyPM will hide respective parts of its interface.

The project area is organized around the life cycle of a project. A sandbox allows managing features ideas. These sandbox's ideas can be created inside tinyPM or imported from Jira, UserVoice or an e-mail address. They can be later transformed into user stories.

You define user stories and attribute them to iterations in the backlog area where these two items are created and managed. Story points, a story owner and an acceptance user can be associated to a story.

Figure 1. Backlog Screen

The different tasks associated with user stories are managed in the taskboard until completion. Tasks can be automatically created after a user story is defined if you decided so in your project setting screen. They might be upgraded to the user stories status. You just have to drag them to make them move between the different status available: pending, in progress and completed.

The timesheet section allows to record the hours spent and an estimation of the hours left before completion for tasks. This is later represented on budget chart and iteration burndown chart.

Once completed, user stories can be accepted to achieve a "done" status. A wiki allows the team to share information.

You can attach files (pictures, text, etc.) to stories, tasks and wiki pages to better document the requirements. Story cards can have different colors and can be tagged which helps organizing bigger backlogs.

Changes made to user stories and tasks are versioned. You can therefore track what has changed, when it happened and who did it in the history section. You can be also be notified about changes via e-mail or you can subscribe to your personal RSS feed that will show changes in your projects made by other team members.

Figure 2. Task Board Screen

Charts

tinyPM allows to track your project at different levels (project and iteration) using different references, either the initial effort or the current total effort. Charts will appear on the different project screens according to the project settings that define the baseline to compute them and the context, either the project or the iteration level.

Depending on the level of detail that you choose for your project (defined budget, tasks estimation) tinyPM charts will also adapt and give you more or less detailed view on your project status.

Figure 3. Burndown Chart for Iteration

Conclusion

tinyPM is a well-organized tool that allows you to rapidly manage your agile projects in a simple but functionally complete way. Although it uses agile terminology, the tool is also suited for every type of project if you prefer to translate "user stories" in "requirements" and "iterations" in "phase".


More Agile and SCrum Knowledge

Scrum Open Source Tools

Scrum Expert

Agile Software Development Portal

Agile Videos

Agile Software Development Tools


Click here to view the complete list of tools reviews

SpiraTeam Agile ALM


Agile Alliance Technical Conference

SQE Live Virtual Training