If your organization has a heavy focus on analytics as part of the digital wave affecting oil and gas companies today, you’re very likely to start hearing the Agile Scrum framework seeping its way into conversations; however, not every team can or should leverage Scrum, depending on their team structure and needs. If your team wants to benefit from Agile principles without utilizing Scrum to do so, there is a path forward.
One good example of a team that may not benefit from defined, time-boxed sprint-cycles are data scientists. In many cases, the business will reach out directly to these key resources who will subsequently build a model using their own methodology, store data and R/Python code on their laptops, and remain skeptical about collaborating effectively with others. As a manager, this can be a frustrating prospect, since visibility around resource management and project progress can be limited. By leveraging some best practices from Agile principles/values (rather than implementing full Scrum), analytics managers can determine where in a project a team member is, what work is being performed over what timeline for resource management, and where code will live, in case someone loses a laptop or wins the lottery.
Agile Work Management
Work management is the practice of standardizing and tracking work across a team, so management has visibility into what’s going on. This is notoriously difficult to do in data science teams because everyone has their own way of working, which could lead to reluctance to change. To assist, some analytics think tank organizations have come up with general buckets data scientists can use to track work. One of the earliest examples is CRISP-DM which stands for Cross-Industry Standard Process for Data Mining; its lifecycle can be seen here:
These steps (or similar) are straight-forward and haven’t changed much over time, though many other parties have put their own stamp on the process (e.g. ASUM-DM, SEMMA). Sufficed to say that there are general stages of work that are consistent team-over-team; the trick is to identify the tasks in each bucket that are fit-for-purpose and consistent in your team.
If you can hold a workshop wherein the team agrees on the stages and associated tasks within each stage, you can effectively standardize team processes, use frameworks (e.g. Kanban) and software (e.g. Trello) to customize tracking and managing work, and leverage some Agile techniques such as standups, retrospectives, and work estimation to make the template(s) work for you.
Agile Code Management
Microsoft recently announced it’s purchasing the largest open source version control system development platform (GitHub), for $7.5BB in stock. Git is extremely popular among development circles and is an excellent source/version control for varied groups. GitHub isn’t the only game in town – GitLab, BitBucket, and SourceForge are all popular alternatives.
Code management is important; if not in place, analytics professionals may version, keep code, and work only on their local drives. To enable auto-versioning, code sharing, and collaboration for your team, leveraging a cloud-based tool for checking in code is a key concept. Like the work management comments around team customization, Git and its usage needs to be standardized with processes and guidelines that are fit-for-purpose in your team.
One example is about your workflow. Whether you’re using a Git Flow, a Forking Workflow, or another strategy, it’s important that your team has an understanding about how code is going to be branched or forked to reduce the number of times collaborators step on each other’s toes. Implementing Agile principles around transparency and inspection can be positive steps forward for your team, and version control can enable a level of openness to foster sharing and review to make everyone’s code better and more readable.
One common mistake made with digital product development is that Agile (and therefore Scrum in many cases) will solve all your problems. As with any project management tool, there is no silver bullet that’s custom-fit for a specific team. Take a few moments to understand your team’s as-is working environment, and tailor your Agile response in a way that will be flexible for their needs. Though cliché, it can be more art than science; but adopting the principles and values from Agile and cherry-picking the techniques from Scrum can be more effective for your crew.