We started using DevOps (formally TFS), over the last two years, we have seen the many improvements, and we have tried to expand the use of the suite of tools as they have come along.
Today, I want to tell you about how to use DevOps from a project management standpoint describing a project management aspect of an iterative process with Agile characteristics.
- To begin, I’ll choose the Agile template from Azure DevOps, and I’m going to build work items.
- Let me explain the hierarchy of work items to understand them. We have epics, features, user stories, then tasks and hours (which live at a task level). Here’s an example to help:
- Let’s say I want to analyze sales. To do this, I’ll use epics and to analyze sales correctly, and I need to add features to my epics.
- If I want to analyze the profitability of my sales or analyze my customers based upon sales, I will add features for this.
- To build out a feature, we need to have user stories. If my feature is, I want to analyze customers based upon sales, and I’d want to capture data about my customers or my products and a point of sale day for my user story.
- Now, what tasks do I need to deliver a good user story? Tasks are where your hours. This is where you estimate; you do an original estimate, then you show the hours completed and the hours remaining to be worked.
- If I want to capture data about my customers, that user story would be built out by tasks like: design the customer dimension, create a data source for the customers, verify the source to target mapping, create the ELT for the customer dimension and certify customer data.
- Not all the tasks above need to be completed by the developer. Some of them, like certify the data or verify the source to target mapping, may be done by your clients. The key here is by developing user stories at the task level, and it allows you to involve the whole team.
- Another essential aspect to discuss bugs. When a user story has a bug, maybe there’s a code issue or a requirement was missed; it’s important to capture information using the bug work item type, and you'll want to manage your bugs in ways that align with your Agile practices.
- By using DevOps for project management, the built-in reporting for burndown charts and Sprint planning allows you to properly communicate with your management and clients about reasonable expectations for you and your development team. It provides up to the minute reporting, so everyone is fully informed.
- Testing is a critical area for any DevOps team, we use inline tests for lightweight traceability and to manage manual tests for user stories or other backlog items that they support. Our issue is that there is no integrated automated way to test mobile application iOS and Android within DevOps, oh boy, would this be a nice to have. So we have to create manual test cases to check deliverables to meet user needs.