- Facilitate to define the requirements as features and enhancements with all the details
- Help in finalizing the requirements around these features by facilitating the discussions online, involving as much users as required and capture every point of discussion for reference
- Roll out the final requirement specification to development team for their action with the required User Acceptance Test cases, so that functionality can be tested with same scenarios by Development team also.
- Help development team to discuss the requirements and design internally, and involve business experts/analysts also for any doubt or improvement
- Development team can finalize the design and estimate the efforts required for complete development
- Define a Roadmap for the development team considering the priorities of Users/Product Owners and efforts required for the activities.
- Help development managers to assign and track the work activities progress up to completion and to have a live status for the progress anytime.
- Enable Project Manager to implement the good management methodology like SCRUM, which is an agile product development process and is good for such developments. Refer to following links for SCRUM
- Help QA team to test the solution and ask to proceed for the release.
- Release the features to UAT team for UAT
- Help UAT team to log any defect in the system for existing feature or for any missing functionality and track their status
- Finalize the UAT and approve the solution for production release.
- Help the end users to log any defect or missing functionality they want in the system, and give them a live updated for their request.
- Help the key stakeholders to track the status of development anytime, anywhere.
Redmine (http://www.redmine.org/), an open source Project Management tool, is a good answer to all of these requirements. It provides all of above features. It is having rich set of features, and still maintains the simplicity for end user. The kind of interface provided by it is very user friendly even an for non-technical user, that is required for us. It can really be an asset for all the teams and can improve the overall productivity to greater extent if we user it systematically and properly. However, it is just a tool and it will work as we use it. So better we use it, better it will give us the results. So it is requested to all the stakeholders to use the tool properly and utilize it to best possible way to improve communication, issue tracking, and project management. To have an overall improvement, the desired state would be to
- Log all new requirements, all of their details, defects and their details in this system only.
- All the discussions for above should be held using the system.
- Complete Requirements, whether major or minor, should be put in the system to work as ready reference for all stakeholders anytime anywhere. Further discussions on requirements should be done here, and approval process should be online.
- The development activities should be planned and executed using this system.
- QA, UAT and deployment related processes, including approvals, should also be made online using this tool.
- All further follow up should be made by using this tool, and it will automatically update the members through email.
- Status of all requirements or issues should be updated to latest by all the issue owners in the system.
- System might be shared with end users gradually to log all of their issues, new feature request in the system and track their status online.
Gradually it will act a Knowledge Repository for the system, and a tool to track all discussions and the status of the project for all the teams. Other benefits are described below with detail.
Communication is the back-bone of any Project. This tool will help to improve the communication by providing easy to use interface over the web, anytime and anywhere. To improve the communication, system can be made to log all the new requirements, bugs and support issues in this tool. This tool provides the facility to do the discussion on single page and hence can keep the log of all the discussions for reference. It is good for Business Experts as they can easily capture their knowledge in the features, which can be readily available to implementation and testing team during any phase of implementation. Hence this can help to reduce and gradually remove the communication gaps and can improve the overall productivity of the teams.
Issue tracking is another important aspect of the system. This tool can help to log all the issues in the system with all the details, including screen shots and keep track of these. Development team can also check the details, share their ideas or can ask for more details online. Good thing is that all discussion and even action summary is captured in the system; hence it is easy to review/audit the progress at any point of time. Even the end user will be able to check the status of issues which is having importance for them. Again it can help in building the communication bridges.
Project Management is critical for Projects. This tool can help the Project Managers and the team leads to keep an eye on the expectations from the team with a defined goal of the phases. It is hard to keep track of all the issues, and tasks in mind. Mind has its limitation sometime. Here comes this tool, which facilitates to log all the features, break these in smaller tasks and assign to team members, allocate the time, keep track of the progress, do the discussions whether technical or functional and have a progress report any time. This is very handy tool for managers if used properly. Going forward, it can help in implementing the SCRUM like methodology, and desired release process.
It also provides functionality of time tracking. Every team member can log the times for any work he does in the project, and corresponding reports can be seen using Redmine.
If we use this tool properly, here are some of major benefits; this tool should bring to us
- Bridges the communication gaps completely
- Increases the co-ordination among various teams
- Gradually worked as a centralized "Knowledge Repository" where anyone can access the information for any feature or issue anytime
- Provides a easy to access platform for discussions or for sharing the information
- Reduces the paper work and increases the speed of execution
- Keeps all stakeholders updated for the status of any requirement or issue, so a live status update would be available
- Hence increases the overall performance of all the teams involved and brings benefits for the project
Some of the main features are:
- Multiple projects support
- Flexible role based access control
- Flexible issue tracking system
- All Discussions shown on single page
- Quite friendly in capturing the new requirements and issues
- Gantt chart and calendar
- Documents & files management
- Feeds & email notifications
- Per project wiki
- Per project forums
- Per project news/message board
- Custom fields for issues, requirements, projects and users
- SCM integration (SVN, CVS, Git, Mercurial, Bazaar and Darcs)
- Multiple LDAP authentication support
- Multilanguage support
- Multiple databases support
For user guide, please refer to http://www.redmine.org/guide
Redmine can be used to create new issues in the system. Some issues are provided by default, however these can be customized easily in the system. Some general types of issues required are
- Requirement – A new feature request
- Enhancement – Modification in existing feature
- Bug – A defect in the system
- Task – A work activity at leaf level, which can be assigned to any member of the system
- Support – Any other support work
The system also provides the facility to define custom roles, who we can assign the desired permissions to manage the project as per their role. A few required Roles in the system as per the work requirement are like,
- Product Owner – Owner of the product, who is responsible to give the requirements, decide the priorities and bridge the gap between end users and development team sometimes
- Business Analyst – Who define the requirements and enhancements, and log the defects for UAT and from the end users
- Development Manager – Who manage the development activities and plan these
- Developer – Who develop the system as per given requirements
- QA Engineer – Who tests the system for detect and log these
Redmine can also be used for information sharing in team using
- News – Any news can be posted here for broadcasting, it is a message board
- WIKI – A knowledge base, where any guidelines or conventions or designs can be placed
- Documents and Files – Where any project related documents and files can be maintained for users
- Calendar – It is used to see the planned events in the project
- Gantt and other charts – To view the information in chart format for project progress
Moreover there are many plug-ins freely available on internet for Redmine. These provide some extra functionality with Redmine core is not providing. And it is also not very difficult to write your own Redmine plugin by learn some of its concept. So it is very flexible and extensible tool.