Earlier this week, we kicked off #TheDunderMifflinProject by starting out from the very beginning – Requirements gathering. In order to keep track of all the fun features we want to implement at Dunder Mifflin, Scranton, we decided that we would investigate the use of Azure Boards. Full disclosure – I have never really been involved in any implementations as part of a team before. Any projects I’ve worked on have been mostly solo ventures, so certain terms such as Agile and Scrum were a little alien to me. So before we dive right into the Azure Boards tool, I want to explore a little more on requirements gathering and what words like Agile and Scrum really mean.
Why and How do we gather Requirements?
Even though I haven’t run a project in a group setting before does not mean that I haven’t had to gather requirements for projects in the past. We gather requirements so that we can fully understand the clients needs and the scope of work to be done. Once we have both of these things, we can begin to layout how the project will be built. In a real world setting, one would meet with the client over a period of time to fully understand the current state, current pain points and “wishes” for the future product. The responses to these questions will allow us to start building out the requirements for the project.
#TheDunderMifflinProject is a little different in this regard as we do not have a “meeting” with the clients. Instead, we are using our observations of the show to come up with ways for The Office to be as productive (or not!) while using the Power Platform. During our live stream, we came up with many ideas such as:
- Sales Management for Jim, Dwight, Stanley and Phyllis
- Customer service for Kelly to handle customer queries
- Case Management System for Dwight’s complaints against Jim
- Charts showing the results of the Office Olympics
- Event Management for the Dundees
- Marketing for the “Michael Scott’s Dunder Mifflin Scranton Meredith Palmer Memorial Celebrity Rabies Awareness Fun Run Pro Am Race for the Cure.”
- A Secret Santa app for the Party Planning Committee
Once we had a couple of ideas put together, we decided to investigate using Azure Boards to keep track of our project, ideas and tasks!
So what is Azure Boards?
Azure Boards is a platform that allows us to manage our project requirements, features, tasks and bugs all in a classic board interface! You can try Azure Boards for free at https://dev.azure.com/. For #TheDunderMifflinProject we decided to list out our above requirements as a card on our board:
The board is broken down into three columns, To Do, Doing and Done. This allows us to easily see where each component of the project is currently. Each card is called an Issue and is listed in priority order, with the most important card appearing at the top. Each card displays who it is assigned to, if it has any tags, its current state and the number of tasks for completion to achieve the requirement:
If we open up the card, we are able to log more information about the requirement, including a full discussion history. The discussion allows us to tag tasks, people and even pull requests if there is an associated repository:
While our project isn’t a “real world” scenario, for the purposes of research, we decided to use Scrum methodology for implementation. Scrum is a framework that uses the concepts of Sprints to define what work shall be completed and in what time frame. The list of requirements for the project are kept in the “Backlog”. Before each Sprint, the team decide what work is prioritised and can be realistically completed within the time frame of the Sprint. The team work to complete everything within the Sprint and evaluate the work that has been completed, how the Sprint went. Then rinse, repeat to implement all the requirements of the project. Azure Boards has specific functionality that allows you to better plan out your Sprints:
So as we move through the various requirements, we will simulate a Sprint by managing the board and moving Issues/Requirements, just as a project team would during their development cycle.
It’s been daunting learning a new tool while streaming live, but I hope that sharing my experience will help others understand that everything is a learning process! Blogs usually occur as the result of a learning process – my goal is to expose that process and document the end result as we go! As we use Azure Boards on #TheDunderMifflinProject, I will be documenting all the things we discover along the way. I hope that you will join us live soon!