Why you should use User Stories in Data Analytics
Tags: Data, Jira, Data Science, Storytelling, Agile

Why you should use User Stories in Data Analytics

How to get started with Agile Storytelling in the field of Data Analytics, Data Engineering and Machine Learning

Photo by Kelly Sikkema on Unsplash

Whether you are a project manager or a product owner, a project management tool and some basic agile techniques will significantly help you manage your project or product. At the very least, these tools will give you, the management, and your team a better overview. In addition, the results can be a faster implementation, fewer queries, better time estimation and greater motivation. In the following, I want to provide you some points that can help you improve the project management and the underlying user stories.

Management Tool

Here, I would recommend Jira —the standard software for management purposes. You can easily start with the free SaaS solution[1]. With Jira you can run your project either in a Scrum or Kanban Mode. In the free version you also have a lot of great features like Backlogs, Reports, Workflows, etc.

Jira Sprint — Image by Author

Other possibilities are for example Trello (also for free [2]), which provides you a Kanban Board to manage your tasks and/or stories or the open source version Wekan (Free — but you have to set up a server[3]). There are many more tools you can use but to get you started, the tools above will do the job.

Scrum vs. Kanban vs. Waterfall

The next step after choosing your tool will probably be the decision of which project management method you want to use. When using Scrum I would recommend Jira as the preferred tool — because it provides you with everything you need. Using Scrum you will need to set up roles, ceremonies and artifacts. Furthermore, Scrum focuses on complex software development. Scrum can show its full strengths when used in an environment, where a new complex software product or service is developed.

Kanban Board — Image by Gerd Altmann on Pixabay

Kanban, on the other hand, is suitable as a method in a controllable software process due to the core principle of continuous improvement. Kanban is often used in support or maintenance teams, where the tasks to be solved are complicated but usually not complex (such as software rollouts or maintenance work). Kanban focuses on process efficiencies and productivity gains.

Discussing these principles or even traditional project management methods and deciding which one works best for you can be a rather difficult process. Here, you have to do a little research on your own. This also makes sense so you understand the theoretical background. The decision is also based on your organization and how people want to work together — so in short: You have to find it out yourself. For myself, I really can recommend the Jira documentation[4]. My opinion is if you are working in the area of data integration, analytics, reporting, etc. it really makes sense to work agile — due to often complex task and changing requirements.

User Story

After setting up the basic infrastructure and deciding on how to work, let’s start with the user story. A user story is a software requirement formulated in everyday language and is deliberately kept short. For a deeper dive I would recommend the following article: How to Write Good User Stories in Agile Software Development.

User Story Example — Image by Author

In Jira I put the user story in the description field. Often it makes sense to put other important references in there, too. If necessary, you could use tasks that are related to the story.

Backlog Refinement

Talking about stories and tasks it is important to describe them very well — especially in the field of Big Data. Mostly technical details have to be documented well so errors and questions from developers can be kept low. Here, I recommend a backlog refinement anti-cyclically to the sprint planning, where the product owner and the team can discuss stories and how to implement them technically.

Thinkable Agile Process — Image by Author

Ready and prioritized stories could then be marked and be pulled into the next sprint. When not working with Scrum team meetings and coordination in a similar way can also be useful.

Acceptance Criteria

Acceptance criteria (AC) are the conditions that a software product must meet to be accepted by a user, a customer, or other system. They are unique for each user story and define the feature behavior from the end-user’s perspective [5].

AC Example — Image by Author

In Jira you can also put it in the description field or create a new text field for it. Here, it’s really important for the product owner to invest some time so that the business requirements are met — it’s up to him to mediate between the business department and the development team.

Story Points vs. Man-days

I would really recommend one or both of the above instruments. Story points are a unit used to describe the size of a user story. They represent the development effort.

Traditional software teams create estimates in a time-based format, i.e., days, weeks, and months. However, many agile teams have moved to story points. Story Points are units of measure for estimating the total effort required to fully implement a product backlog item or other task item. Teams assign story points in relation to task complexity, work effort, and risks or uncertainties. Values are assigned to manage uncertainties better in order to more effectively break tasks into smaller pieces[1].

From my experience I like to use Man-days for tasks like ETL/ELT pipelines, setting up some databases and other related work which can be complex, too but with which the team is already familiar. For more complex tasks like developing a deep learning algorithm or building up a new cloud based Data Lake — often things you did never before — it makes sense to use Story Points.

Talk about your work

Last but not least, my advice is always to talk about what you and your team achieved and how your stories improves business and processes or makes it easier. My experience showed me that newer teams like BI, Data Science or Engineering in companies are often not so much in the focus (Colleagues might ask what are they actually doing).

GIF by giphy.com

Conclusion

I hope this article gives you some inspiration and something to start with. The first step will always be to set up a toolset and of course to get in touch with your team as product or project manager. The tools and methods provided are in my opinion one of the most important — especially when working in the field of Data. I really recommend using an agile process for a faster deployment of the developed system in order to minimize risks and undesirable developments in the development process. You can find many more inspirations and tools in the Sources and further Readings below.

Sources and Further Readings

[1] Jira, Our cloud products work even better together (2020)

[2] Trello, https://trello.com (2020)

[3] Wekan, Open-Source kanban (2020)

[4] Jira, Is the Agile Manifesto still a thing? (2020)

[5] altexsoft, Acceptance Criteria: Purposes, Formats, and Best Practices (2020)

[6] Qucikscrum, Product Backlog Refinement (2020)