As Senior Software Engineer Roger Alix-Gaudreau described in a previous post, ZoomInfo uses Agile development processes
to grow and improve our products. We do this because we can develop software rapidly and in short sprints of usually 2-4 weeks, allowing us to quickly adjust to the growing and changing needs of our clients. Due to the fact that we also work in cross-functional teams from different departments and often have employees involved in development projects who are new to the Agile process, here's a simple overview
about Agile and how ZoomInfo implements it!
Continuous development activities
Time for a sprint
- Managing and grooming the backlog. Dedicated ZoomInfo product managers act as resident experts and are well versed in what functionalities need to be fixed, updated, or revised. To that end, product managers enter all work to be done on our products into the "backlog" as "user stories." Written from the perspective of respective stakeholders, user stories describe the needs of end users and read like, "As a user of ZoomInfo Pro I want to be able to sort companies by annual revenue so that I can target larger companies. " Or "As a marketing manager, I need change the title tags on PR pages to optimize them for search engines." Product managers are also responsible for keeping the backlog manageable, prioritized, and up to date.
- Planning poker. Every few weeks the stakeholders - who include software developers, marketing managers and client service reps - meet for "planning poker" where we discuss the items in the backlog and do high-level estimations of the effort needed to complete them. Each "player" be given a deck of cards with points on each card. Easy tasks are given 3 to 5 points; items that are super complicated get upwards of 100 points! Setting points like this allows the product manager to come up with a prioritized iteration, a group of stories that can be completed in a set time period. From here the schedule is set!
All of this up-front work allows us to be ready for the sprint
, a two to four week time period of rapid development. The chain of events is as follows:
- The product manager goes through the backlog and chooses high priority and high ROI user stories that match the capacity of the development team. Usually the product manager has any copy or designs needed for each task already in place as well.
- Next we workshop the included user stories. They are tasked out to our developers and given time estimates so that that we can track the progress of the sprint.
- Daily we hold "stand-ups" where we each answer three questions:
What did I do yesterday?
What am I doing today?
What is blocking my progress?
Identifying the roadblocks is incredibly important to keep the sprint moving along.
- As user stories are completed and accepted, our project management software shows us a nice visualization of our velocity, how quickly we are completing user stories and if we are staying on track.
And that's it!
Oh--who is telling IT it's time to deploy
The reward? Sending out an email to the company about what has been accomplished in the last month of development. Nothing better.