Agile project management is a multifaceted topic, and as such, there is far too much information to cover in one article. This article is the second part in a series to go over the benefits, approach and structure of using agile project management methodology. For more information on this topic, read Developing your agile analytics approach.
Agile project management takes an iterative approach to management and software development that relies on continuous releases by incorporating customer feedback into each development. The principles of agile run deep down to how teams are organized and how development work is delivered back to business users. At the center of this is the desire to eliminate unnecessary overhead and get value churned out to the business early and often. To accomplish this, agile methodology is defined by the roles which make up the scrum team and the mindset with which that team operates.
Forming a scrum team
Project work is not just creating data models and writing code. Most of the time you are spent in meetings with business users, swirling on design discussions and fighting off competing priorities. To operate efficiently, agile divides responsibilities into the following roles:
Developers: The developers on a scrum team form the core engine for delivering business value. They are the data engineers who can build systems to store and process data, the reporting experts spinning up dashboards and tools for the business and the data scientists who are analyzing data and creating models. The other agile roles exist to get the most value out the developers, guarding their time and brain space from the overhead of running the team.
Product owner: This individual is responsible for defining high-level priorities of the development team. They understand the goals of the business and can distill requests into a consolidated and prioritized list. Product owners are gatekeepers to prevent the development team from being too reactive or spending time on less important tasks.
Business analyst: The business analyst works with the product owner in gathering business requirements, but at a much more granular level. This individual’s focus is on meeting with users, understanding their workflows and specific requests. The business analyst then becomes a liaison/translator between the business and development team. Having business analysts helps reduce the amount of time developers spend in meetings, so they can spend more time writing code and generating insights.
