Today Project Managers are more often forced to change plan during ongoing works in their projects. Also Scrum gaining more and more popularity in last years requires “being agile”. Clients change their thoughts and requirements, team is facing problems that couldn’t be predicted at the beginning of planning. How to handle and manage processes properly to be as effective as possible in volatile environment?
The key to success is implementing full Scrum process and configure ticket system, that will help all project’s participants. We used to use Redmine at Divante, but with new international projects ongoing, we’ve decided to start pilot scheme of using Jira.
For me, the centre of system is Agile Board – installed as addon to system. It shows the Kanban board, which is clear and understandable for development team as well as for client. I start each morning from reviewing those boards in my projects, which allows me in time of 10 minutes (spent per project) to get full view of updates that happened recently, current status of work and details of ticket assigned to current sprint. Product Owner can easily update tickets that need clarification, or perform final testing on staging platform confirming/declining readiness of it for deployment. When we add to this using drag & drop method for updates, plus keyboard shortcuts for commenting, change assignee or editing ticket – time required for reviewing tickets daily is decreased to minimum :)
Also client (and Product Owner) has direct brief view of tickets that need response and action from their side. I always create in board two swimlanes (dedicated columns): Brief and Client’s Review. First status means that tickets assigned under this “group” need deeper clarification. Second status are acceptance tests in staging environment (as close to production environment as possible). By simplyfying process to maximum by drag&drop method of updating tickets status and using keyboard shortcuts to comment and change assignee, client saves a lot of time in comparison to another ticketing systems. Also it improves overall efficiency and shortens average response time.
Planning sprints and keeping clean backlog
Another tab, in which Product Owner is usually working in cooperation with Project Manager, is Planning tab in Agile Board. It’s displaying whole backlog of project. By drag&drop as in standard Scrum process, prioritization and order taken into account during planning & defining scope of future sprints.
Also you can see clearly all versions assigned to each ticket, time estimations per sprint and Epics’ status in one place.
I always try to agree with client, paying active role in Scrum process and participate as Product Owner. It allows to set up priorities in task properly, not only by ordering tickets on list, but also to update ticket properties as category (sometimes plus Epic), type of ticket, close non-actual anymore etc. During Planning Sesions before new sprints, me with developers and Technical Leader, has easier task only to put estimations and cut the pool of tickets in the place, where team’s velocity per sprints reach maximum (of course with taking into account margin for unpredictable and urgent tasks).
Integrations as step to centralize project
Another huge advantage of Jira in projects is possibility of wide integrations – especially with another Atlassian products that we also use in Divante. Due to complexity of leaded projects and many ongoing topics & responsibilities in project, saving time is even more important than it looks at the beginning of whole process. That’s the main reason why I started to think how I can automatize recurring tasks on my side.
The best and first example of presenting integrations is connection between Jira and HipChat communicator. It leads to transmit and log into Room (group chat of people involved into project) all notifications about transmissions and ticket updates from Jira. As an example how does it make work easier – let’s imagine that you had a long meeting and came back after 2-3 hours. You can easily scan and acquire knowledge about what have happened during your absence, by checking on group chat logs and notifications from Jira. Also during daily ongoing chat, team is constantly up to date with last news in project.
Second example that increases efficiency in project is integration Jira with Confluence – place for storing documentation of project. It allows participants in project to have direct connection and link to proper Jira tickets. As well as create ToDo Lists and notes from meetings, which can be later transformed easily to tickets in system.
Last connection is with repositories placed in BitBucket. It allows to see all commits and branch affected to selected task, deploys & merges of code directly under Jira tickets. This is also possible with last versions of GitLab or GitHub. This improves and speeds up process of code review, merging and allows the team to eliminate conflicts between files.
Scrum’s effectiveness increases with Jira significantly
With using well-configured Jira and Scrum process, efficiency of projects increased and plan is being realised to the end. Many things are possible to be automatized (reports, ticket’s updates, planning etc.). Developers can focus on development, as client has bigger impact on setting and changing priorities (of course with some limitations as ongoing sprint’s scope should stay unchanged).
I am more than happy to be responsible for implementing this big step of improvement to Divante, which allows us to deliver a better-managed projects to our clients.