General Workflow of Issue in Project Management (Tool)

Here we are giving a general workflow for a support/maintenance/development project. It is quite elaborative process considering the scenario, when a product is in production and team is working on support/maintenance and for new development also. Of course it does not suit to everybody requirement, however it can be amended to suit the requirements.

  • New Issue as a Feature or Enhancement
    • Users will initiate the new requirements or defects for existing functionality in the system
      • Alternatively Business Analysis team can log this on behalf of users, till user get familiar with the system.
    • Business Analysis Team will also generate new requirements based on various requests from the users and log these in the system with the details. 
    • BA team will discuss the requirements, put all of their views in the system
    • Once requirements are freeze, the status will be changed to Finalized and the issue will be assigned to Development Team manager
  • New Issue as Defect
    • End user or UAT team can log any defect they found in the system with all the details, set it status to Finalized and can assign it to Development Team Manager.
  • Development Manager will review the new assignment.
    • She may come back to end user or Business Team for more clarifications
    • She will set the status as Analysis Scheduled if it is a requirement or to Implementation Scheduled if it is a bug and schedule it for the team as per the discussed priorities in roadmap
    • The issue will be assigned to any team member
  • Developer will pick the issue as per the schedule and update the status as In Analysis
    • She may assign this issue to Business team or users for more details
    • She will put all her understanding for the requirement in system to avoid any gap
    • Once she is done, she will update the status as Analyzed and assign it to concerned Business Analyst for Confirmation
  • Business Analyst will review the understanding and will update its status as Confirmed, and assigned it to Development Manager
  • Development Manager will schedule the activity with developer as per priorities and update the status as Implementation Scheduled
  • Developer picks the issues as per the schedule and updates their status with their progress as in Progress. Once the issue is fixed, the status will be marked as Resolved.
  • Development Quality team (developers currently) will test the solution and update the status as QA Approved.
  • UAT team will pick the issues in QA Approved state and perform their testing on these.
    • If there is any issue, defect can be logged and issues can be rejected with the status as Reopened
    • If everything is fine, issue can be approved as QA Approved
  • Now with the next release to production, this issue will be deployed to live server and the status will be updated by the concerned authority (Project Coordinator/Owner) as Deployed.
  • Later if end user or UAT team found any issue, the process can be started again from first point.
This is just a sample process flow, however can be modified to fit to any requirement.

Use of Project Management Tool and Redmine

Welcome to the Project Management Tool. Project management tools help us in managing the projects for various important activities. Although these activities can be managed without tools, like on paper or in mind, however that is not a convenient and optimum way. Keeping things on paper are outdated, where no report is available and we need to manage the papers. Keeping everything in mind is not good for mind, as then it won’t get time to process other more important data. Hence to manage any project, we need to have a Project Management Tool in place which can contribute to overall development and output, like

  • 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
    • http://en.wikipedia.org/wiki/Scrum_(development)
    • http://www.vedantatree.com/2010/01/practical-scrum.html
  • 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.


How to Install Redmine - A Project Management Tool

Installing Redmine could be a bit typical if you haven’t already worked with “Ruby on Rails”. It is not because it needs knowledge of Ruby on Rails, but it has dependency on some of the related software. Installation of these software make take some basic knowledge or ‘hit ‘n try’. We are trying to summarize the steps in sequence here (tried for windows only):
  • Visit to Redmine WIKI for installation instructions. These are useful, but a bit confusing for a new user to Ruby. Still you will get some good information from here, almost complete. 
    • http://www.redmine.org/wiki/redmine/RedmineInstall 
  • Download the latest stable version of Redmine from the SVN.
    • http://www.redmine.org/wiki/redmine/Download 
  • You need to download a few other softwares which are given below with corresponding website. Make sure to follow the version compatibility matrix given on RedmineInstall page at WIKI. Also please note that installing "Rails" may install Rake and Rack automatically. You can check that from the log on screen. If it is installing these, you are done with these installations and hence can skip the steps for their installation and directly go to installation of mysql using gem
    • Rake - http://rake.rubyforge.org/ 
    • RubyGems - http://rubygems.org/pages/download 
    • Ruby – Ruby Installer - http://www.ruby-lang.org/en/downloads/ 
    • Rack - http://rack.rubyforge.org/ 
    • MySql – http://dev.mysql.com/downloads/mysql/ 
  • If you are downloading the Stable Version of Redmine, then you will find the rails in the vendor directory of Redmine root folder.
  • Now at first, install the Ruby using Ruby Installer. Enable the option to include it in system path