Agile Project Management with GreenHopper 6 Blueprints

By Jaibeer Malik
  • Instant online access to over 7,500+ books and videos
  • Constantly updated with 100+ new titles each month
  • Breadth and depth in over 1,000+ technologies
  1. Getting Started with GreenHopper

About this book

Agile methodologies like Scrum focus on customer values in an incremental way. Regular planning, tracking, reporting, and improving can become equally challenging from a project management perspective. GreenHopper is a tooling support for JIRA that offers easy adoption of agile practices through rich interfaces for effective team collaboration and project management.

Agile Project Management with GreenHopper 6 Blueprints is a step-by-step guide that teaches you how to manage agile projects using the GreenHopper tooling system. With easy adoption using pre-sets for Scrum & Kanban, the rich interface focuses on the work at hand, increasing team productivity. Executing sprints, tracking sprints, and reporting on agile projects has never been so easy. The integration with different development environments helps teams to focus on collaboration, communication, and continuous improvement. This book covers agile project management concepts using GreenHopper.

You will learn about backlog management for your agile team, how to create projects and boards for your agile team, and how to create new backlog items, prioritize items, estimate backlog items, create sprints, and update technical task status and report on the same.

You will learn everything you need to know about managing an agile project using GreenHopper and how to achieve the best value for your team.

Publication date:
August 2013
Publisher
Packt
Pages
140
ISBN
9781849699730

 

Chapter 1. Getting Started with GreenHopper

Software development is fundamentally different from other similar engineering areas. The Information Technology industry has come a long way in understanding this by learning, adopting, and improving different development methodologies.

This chapter will include the following:

  • Why be Agile

  • The common Agile flavors

  • How Scrum works

  • Which tooling system to use

  • Prerequisites for GreenHopper

  • Installing GreenHopper

  • Accessing GreenHopper

  • Common uses and examples of GreenHopper

  • GreenHopper glossary

  • GreenHopper interface features

  • An Agile project example

 

Being Agile


Engineering methodologies are plan-based and very much predictive in nature. The disciplined and procedural nature of engineering methodologies makes the whole software development process a bit slow and inefficient. The outcome of this has been the development of Agile methodologies. The benefit of Agile methodologies is that they are more predictive in nature, more people-oriented, and they focus on the end outcome, rather than being bureaucratic in nature.

Based on Agile survey for last few years, completed across different companies throughout the world, software development is shifting towards more successful project delivery using Agile methodologies. The wide spread adoption of Agile is a clear example of that. The percentage of successful projects using Agile processes is far greater.

 

Agile flavors


The word Agile usually refers to the philosophy behind software development. There are multiple flavors of Agile. Agile values and principles are put together to form the Agile Software Development Manifesto and the different Agile principles.

Agile development is an umbrella term describing several Agile methodologies. Some of the well-known methodologies are Scrum, XP (Extreme Programming), Crystal , FDD (Feature Driven Development), DSDM (Dynamic Systems Development Method), and Kanban .

Each of these methodologies has a slightly different approach to implementing the core values and principles behind Agile Manifesto and principles. They all fundamentally incorporate communication, collaboration, continuous feedback, continuous testing, continuous interaction, continuous prioritization, and planning with continuous improvements to deliver solutions for a customer with changing requirements and businesses.

 

Scrum


Based on industry survey, the majority of Agile practitioners practice either Scrum, a combination of Scrum and XP, or a hybrid nature of Scrum to match team requirements. Scrum is a time-boxed iterative and incremental framework for Agile development process. It consists of teams, roles, events, artifacts, and rules. Let us understand each role and common artifacts in brief first.

Scrum team

The typical roles in a Scrum team are:

  • Product owner: A product owner manages the product backlog in a prioritized form to deliver the best business value, thus grooming backlog items and helping teams with requirements and clarifications.

  • Development team: A development team consists of self-organizing cross functional individuals (developers) working as team, who do the work in increments to deliver potentially shippable products.

  • Scrum master: A Scrum master runs the Scrum team to make sure that Scrum theory, practices, and rules are implemented, and it works closely with the product owner, the development team, and the organization too.

Based on hybrid Scrum process, different teams also have dedicated roles for Architect and Project Manager in the team to meet specific team requirements.

Scrum events

The main Scrum events are:

  • Sprint: A time-boxed period of nearly one month or less to deliver potentially shippable product increment based on prioritized backlog items committed by the team.

  • Sprint planning meeting: In this, the team commits on what can be delivered from prioritized backlog items and how it will be achieved.

  • Daily Scrum: A time-boxed daily stand-up meeting in which each team member explains what has been achieved since last meeting, what will be done before next meeting, and impediments, if any.

  • Sprint review: In this, the team demonstrates the Sprint work and gathers feedback. It is a bi-directional communication platform for the team and stakeholders on functionality delivered in a Sprint.

  • Sprint retrospective: An opportunity for the team to introspect what went well, what needs improvement, and action items for the selected improvements.

Depending on the nature of hybrid Scrum process and team dynamics, the variations of the Scrum events, like local daily Scrum and distributed daily Scrum, are also used by various teams. Similarly, the planning and estimations process events are executed that matches best to the Scrum team requirements.

Scrum artifacts

The common Scrum artifacts are:

  • Product backlog: AN ordered list of requirements that is required in the product. It can be anything like requirements, features, enhancements, bugs, and so on.

  • Sprint backlog: This consists of selected and ranked product backlog items planned to be delivered in a Sprint.

  • Increment: Consists of delivered product backlog items in all earlier Sprints/Releases, and are very much usable as part of existing potentially shippable product.

 

Agile project management


Project management is about planning, reporting, scope, cost, risk, organizing, motivating, and managing people and resources to achieve specific goals. With Agile, the basic concept is self-organizing the team with different roles. On a Scrum project, we have roles like product owner, Scrum master, and team.

Product owner takes responsibility from the business side of the product and has the authority to make business decisions. The Scrum master acts as the team coach to remove impediments, facilitate meetings, monitor day-to-day tasks, and track project progress by performing typical project management duties. A self-organizing team is capable of working as a team to find continuous improvements.

Some of the typical tasks and requirements from an Agile project management perspective are:

  • Planning and prioritizing deliveries across single or multiple teams

  • Making sure backlog items are visible to everyone

  • Making sure clarifications or impediments are cleared up soon

  • Grooming backlog items over time

  • Communicating vision and goals around team

  • Planning Sprint effectively

  • Tracking Sprint progress

  • Long-term planning for products

  • Making development process facilitation and improvements

  • Working towards developing team productivity improvements

  • Reporting on iteration and functionality level for better planning

  • Planning roadmaps based on the work done, and the work left to do

  • Increasing collaboration between team members and multiple teams

 

Tooling system


Agile recommends interactions over any process or tooling. Indeed, no team needs any tooling system, but using a tooling can help teams tremendously. Any tooling system we opt for should help the team to adapt to the Agile process and help in team collaboration and continuous improvement to increase productivity.

There are plenty of tools available in the market to start with Agile. On a first look at the Agile team requirements, some of the quick features you would like from a tooling system to help you are:

  • Easy setting up of the Agile project

  • Quick backlog creation

  • Intelligent and easy backlog grooming and ranking

  • Team collaboration between single and multiple teams

  • Intuitive task creation and status updates

  • Clear top-priority task visualization and impediment flagging

  • Clear and deep reports or charting for data

  • Each team member's day-to-day individual task tracking

  • Easy customization and flexibility for hybrid Agile process teams

  • Easy integration with business and testing teams

  • Easy integration with different development and testing tools

  • Easy and smooth fit for the distributed teams

  • Ability to enable team to continuously improve in process and new technology integration

We will further cover how such an Agile tool like GreenHopper best fits here, mapping to all your Agile team requirements.

 

GreenHopper


GreenHopper is an Agile project management tool as an add-on for the well-known ticketing system Jira from Atlassian. The power of Jira allows you to customize and adapt to any hybrid Agile process matching your team requirements best. Here is the list of some of the top features of the tool which we will be covering in detail in the later chapters:

  • Agile process support provides inbuilt support of well-known Agile methodologies like Scrum and Kanban, and is very well-equipped to support hybrid Agile process followed by your team.

  • Backlog management supports easy, intuitive, quick creation and ranking of backlog items for your team.

  • Capacity management supports easy and flexible estimation and time tracking process for an iteration using standard and custom field values.

  • Iteration tracking supports easy updating of regular task status and visualizes the daily status tracking and progress of team and work.

  • Reporting and charting allows quick and detailed reporting on iteration, functionality, and backlog items for short-term and long-term planning.

  • Continuous improvement has an inbuilt support for team collaboration and integration with lots of development and testing tools.

  • Customization and flexibility is the power of Jira that provides high customization and flexibility to your team to add support for integration of different teams and workflows, criteria, and validation of work within your organization.

Prerequisites for GreenHopper

GreenHopper is an add-on built to work with Atlassian ticketing system, Jira (http://www.atlassian.com/software/jira/overview). It is installed as a plugin on the Jira tool.

There are multiple options for you to get started with GreenHopper. For this, you can refer to http://www.atlassian.com/software/greenhopper/overview.

Atlassian offers the hosted environment for you to start using the tool. If you are already using the hosted environment for Jira, onDemand (http://www.atlassian.com/software/greenhopper/try/), it is easy to get started with GreenHopper also. Just "add a new product" from My Atlassian list at https://my.atlassian.com.

If you have your own maintained and installed stand-alone Jira instance, you can use Jira Universal Plugin Manager (UPM) to install the GreenHopper plugin.

Installing GreenHopper

Use the following steps to install the GreenHopper plugin in Jira using Universal Plugin Manager:

  1. You need to have Jira administrator permissions to install a new plugin. Browse to Administration in your Jira. As shown in following screenshot, check to see the Administration link and click on it:

  2. Select Find New Add-ons under the Plugins section on the Administration page, as shown in the following screenshot:

  3. Type GreenHopper in the search box under Atlassian Marketplace for JIRA and press Enter. The plugin details will be displayed as shown in the following screenshot:

  4. Click on the Free Trial button to install the plugin. In this book, we will be covering GreenHopper Version 6.1.x. If you are using earlier versions of GreenHopper, please upgrade to the latest version using plugin manager.

Note

Please note that the functionality and examples in this book are for GreenHopper Version 6.1.x.

Login to your My Atlassian account to get an evaluation license, or to buy a license and update the license information for the installed plugin.

Accessing GreenHopper

Once GreenHopper plugin has been installed successfully and the license has been updated correctly, you will see the Agile tab in the top navigation of your Jira system, as shown in the following screenshot:

You need to exit the Administration session to see the normal logged in user view. Open the Agile tab to see the list of available operations to start with.

The list of boards will vary as per your board's data, as shown in the preceding screenshot. They can include:

  • Recent Boards displays the list of recent boards you have created and you have been working with.

  • Manage Boards allows you to configure, copy, and delete the existing boards.

  • Getting Started allows you to get started with creating projects, boards, and with GreenHopper itself if you are starting a fresh.

  • Classic: It allows you to work with earlier GreenHopper format planning and task boards. It is recommended that you use the new board style (please check Atlassian support for updates).

Common uses and examples

Jira, as a product and tooling system, has come a long way from a regular ticketing system to a powerful tool, able to manage a variety of teams and their requirements within an organization. Each organization has different departments, businesses, domains, and teams working together to achieve goals. The variation in the way of working and their requirements for each team differs. Some of the common teams working together are:

  • Development team works with Scrum, planning backlog, updating and reporting status, and also integrates development tools. GreenHopper provides best suited toolset for your Agile development team.

  • Testing (QA) team reports and analyzes different features, like regression and production bugs in the application, and integrates testing tools. The combination of custom workflow in Jira for your testing team, the use of the Bonfire testing plugin, and integration with your development team using GreenHopper works perfectly for your testing team.

  • Design team designs the product, gets feedback from people, and forwards it to the development team to implement. The design team caters to the requirements of multiple business and development teams. Use the Kanban system for regular flow of work based on prioritization.

  • Project management team tracks status and plans for the long run based on reporting and charting data. The mix of Jira reporting capabilities and GreenHopper charting for your teams enable project managers to track and plan the product roadmap in a much easier and better way.

  • Site operations team works in a way similar to Kanban, to deliver maximum value and prioritize work better with high priority production issues first and future proof projects.

  • IT infrastructure team handles team infrastructure requirements and works with the entire organization for infrastructure stability perspective. The inbuilt support of Kanban in GreenHopper helps many IT teams to work effectively.

  • Marketing and sales team prioritizes projects, develops marketing strategy with development, design, operations team, and so on. A single platform to interact and prioritize with multiple teams enables you to plan and implement your business strategy much better.

  • Customer support team takes end user feedback and works with development and product team, and prioritize it better. Kanban system suits the services team best, and customer support teams use GreenHopper Kanban system for the same.

One of the major requirements from any tooling system is how easily it allows coordination between all the above teams.

Jira, with all its power of customization and flexibility, allows you to make it work for varied teams. Each team can have its own customized work flow and status change condition for their day-to-day tasks and operations.

We will cover in later sections and chapters how GreenHopper can help you with the backlog management from team collaboration perspective for all the above varied teams to deliver the real business value.

For development teams, Atlassian tools suite can easily be integrated with the Jira system. Think of continuous integration build tools (Bamboo), online wiki for documentation (Confluence), source code repository integration (Fisheye), code review (Crucible) tools, and so on. All can be integrated with your backlog management tool for better tracking, visibility, and productivity.

For the testing team, to work closely with the development team to be able to verify and validate each Story and create feature bugs or regression bugs along with the Sprint itself, Jira provides testing plugin (Bonfire) to record testing sessions and to work closely with the development team.

In combination with Scrum, Kanban, and other hybrid Agile methodologies, GreenHopper allows you to manage teams in a much better and easier way.

 

GreenHopper glossary


To get started with GreenHopper, let us first get familiar with common GreenHopper terminology, which we will also be using further in this book:

  • Backlog consists of a list of items for a product like feature, enhancements, bugs, support tickets, and so on. It can be product backlog or Sprint backlog.

  • Scrum is an Agile development methodology to deliver in an iterative way in fixed amount of time.

  • Sprint is an iteration in Scrum to deliver a product functionality in a time box of nearly a month or less.

  • Product backlog is a list of requirement items for a product such as features, bugs, and so on.

  • Sprint backlog is a list of items from product backlog picked up to deliver in a Sprint.

  • Epic is a large functionality for the product which can further be divided into user stories to be picked up in several Sprints.

  • Story is a conversation requirement for a part of the functionality which can be independently delivered and tested in a Sprint.

  • Task is a technical task or subtask for a Story to be done or performed by the team members and developers to deliver a user Story.

  • Story point is a number given to a Story to decide its relative complexity.

  • Burndown chart is a chart to display actual and estimated amount of work, in Story points, hours or business value points over time in a particular Sprint.

  • Velocity is the measurement of work either in Story points, custom business value, or hours that can be delivered by a team in a Sprint.

  • Kanban is a system to reduce waste to deliver business value by controlling and limiting the work in progress.

  • Cycle time is the time taken by an issue to change status in a flow, the time taken from work started until work finished on an issue.

  • Filter is a query with conditions to restrict the number of issues displayed on the screen.

  • Quick filters are configurable filters which can be stored and displayed on board to quickly filter the displayed results.

  • Swimlane is a way of grouping and categorizing lists of issues to be displayed on the task board in horizontal bands.

 

GreenHopper interface features


GreenHopper provides rich interface to end users to quickly work on the backlog items and other day-to-day tasks, and other planning and reporting jobs. Some of the main interface features which make your job very easy are described in the following headings.

Single view

GreenHopper provides single board view for a team where different team activities can be achieved easily without jumping between complex navigational and browsing views, as shown in the following screenshot:

Working on the planning items view allows you to do all operations related to your backlog item like creating an item, editing an item, updating information, and attaching resources to items.

Quickly shifting between Plan, Work, and Report modes allows you to very easily switch to different operations.

Inline editing

GreenHopper allows inline editing of different field values.

As shown in the preceding editing screenshot, using inline editing, you would be able to edit the Story or task details on the same details screen.

Drag-and-drop

GreenHopper provides you with drag-and-drop functionality to move the items around in different panels and states.

If you are on a planning board, you can move stories around and assign it to a particular Epic. Use drag-and-drop functionality to move a Story to a particular Sprint.

If you are on a work board, you can use the drag-and-drop functionality to update the issue state.

As shown in preceding drag-and-drop screenshot, while moving tasks around, the additional feature of highlighting of states and color combination is also quite intuitive.

Quick filtering

Quick filtering and search allows users to quickly filter the all backlog items to display the desired search results.

As shown in preceding search screenshot, you can search all the backlog items to focus on your desired results.

Responsiveness

With additional improvements in the latest releases of GreenHopper related to ranking and filtering of issues, end users have the additional benefits of performance for the interface.

Using Jira filters efficiently, quick filters sensibly, and on top of that, the search functionality allows your backlog grooming very easily.

Highlighting

GreenHopper provides additional color combinations to represent different parts and functionality in a better way, that is, visually.

As shown in the preceding screenshot, you can represent different issue types with different card colors for visual representation. You can select different queries or priority-based colors for your issues.

Flexible elements

GreenHopper offers flexible panels on the view. You can show and hide different panels on the screen which you currently want to work upon, and very quickly switch between different panels.

As shown in the preceding screenshot, you can hide a panel if you are not working on it.

As shown in the preceding screenshot, you can easily close the Details panel on the screen if you are done updating the details for an issue.

Understandable

GreenHopper has inbuilt support for Scrum process. The terminology used within the Scrum board is inclined with the process itself. For Agile practitioners or teams starting a fresh with Agile, it is very helpful to learn the process while using the tool itself.

As shown in the preceding screenshot, different Scrum terminologies, Epics, Story, technical task, Sprint, velocity, and so on, are used to make it more understandable for your Agile team.

Intuitive

The whole interface is very intuitive for the users. The use of icons, colors, and operations are very user friendly.

As shown in the preceding screenshot, click on plus icon (+) to add an Epic in the backlog items. Use of relevant icons and corresponding operations make it easy for users to use the tool.

As shown in the preceding screenshot, using the right colors is intuitive enough for users. For a Sprint, estimates are displayed using three colors (red, yellow, and green). Red signifies that the work still needs to start, yellow signifies work is in progress, and green signifies that the work has already been completed.

Target audiences

Different panels and views have been implemented, keeping target audiences in focus.

Planning boards have been configured for backlog creation and grooming very quickly. All drag-and-drop functionality and estimations of Story allows product owners and Scrum masters to quickly get used to it.

Work board allows developers to update day-to-day task status and update tasks or Story relevant information on the work board itself. Additional feature of highlighting, grouping, and filtering allows you to focus on the desired results.

The reporting tab allows you to take a quick look at high-level tracking of whole Sprint and whole backlog too. Deep analysis of chart's details allows you to look at detailed information for the backlog.

The interface meets the requirements for the specific target audiences for each feature and functionality that is in place very well.

 

Agile project example


In this book, we will be following an example of a small business requirement which needs to be achieved through an Agile team. We will be using different screenshot examples further in this book through an example project, and will explain GreenHopper functionality along with different Agile aspects.

Project scenario

Let's say we need to develop an online photo album. We want to deliver a web version of the photo album and also a mobile version of the application, and have a site operations team to operate on that.

GreenHopper projects

Let's say we have three different teams working:

  • An Agile team for website delivers a web version of the photo album which has its own backlog and exposing API to be used by the mobile team.

  • An Agile team for mobile delivers a mobile version of the photo album with limited functionality and has its own backlog items.

  • A site operations team supports online application and maintains regular infrastructure tickets in Kanban way.

 

Summary


In this chapter, we have become familiar with the basic idea behind Agile. We learned about Scrum process in brief, along with the different roles, events, and artifacts for the Scrum process. We will be covering different Agile concepts along the way while using the tooling system to meet the Agile team requirements.

We have GreenHopper installed and ready to use. We covered the basic terminology of GreenHopper, which we will be using further in this book. In the upcoming chapters, we will use this terminology and will cover each one in detail.

We covered different uses and examples of the tool, and which teams can use GreenHopper based on the variations and the nature of the teams. In the upcoming chapters, we will also cover managing both Scrum and Kanban teams using GreenHopper. Backlog creation, running Sprints, and reporting will be covered in detail.

We also covered different rich features of the GreenHopper interface which will come in handy for our day-to-day work and will result in a team productivity increase. In later chapters, we will cover each of the GreenHopper rich interface features and different functionality in details while managing both the Scrum and Kanban teams.

As mentioned in the project example, in the subsequent chapters, we will create a Scrum board for a website development Scrum team. We will create a product backlog, Sprints, a task board, and different reporting charts for the Scrum team. For the site operations team, we will create a Kanban team to control work in progress and to use the task board efficiently.

About the Author

  • Jaibeer Malik

    Jaibeer Malik is an experienced programmer and Agile enthusiast with a passion for new technologies, clean code, and Agile development.

    He has been working in the IT industry for nearly 10 years now with extensive experience in software designing, architecture, and development in domains varying from internet to telecom, to finance, oil, gas, and transport. He is involved in the development of both small and big enterprise applications that make a difference in the real world. He has good experience in technologies such as Java, J2EE, Hibernate, Spring, Wicket, Flex, Scala, ElasticSearch, and many other open source technologies.

    He is a Certified Scrum Product Owner (CSPO), Certified Scrum Master (CSM), and experienced in distributed Agile development. He regularly writes his thoughts in the form of blog posts on his personal website and on other technical forums.

    He is currently located in Amsterdam, working as a Java Software Architect for one of the top e-commerce platforms in Netherlands.

    To know more about the author visit the following links:

    • Blog: http://jaibeermalik.wordpress.com
    • Twitter: http://twitter.com/jaibeermalik
    • LinkedIn: http://www.linkedin.com/in/jaibeermalik

    Browse publications by this author