Why You Should Use Azure DevOps For Your Next Application
DevOps has a different meaning to everyone, but most would agree, at its core, that it is a set of practices to deliver a higher quality product. Recently, one of our clients modernized a full suite of their applications to better manage their long-term needs. Among the expected technical challenges of updating a handful of projects in parallel came the desire to minimize downtime between projects. It became apparent that effective collaboration would be a key component to creating a smooth handoff from analysis/design to development/QA and finally to deployment/maintenance. For our use, Azure DevOps served as a team-wide collaboration tool used in all project iterations to equip our team for success.
Don’t get bored of the board!
Our most effective productivity tool was Azure DevOps Boards, which acted as our task dashboard, backlog, progress indicator, and ultimately as the project blueprint to clearly outline past, current, and future states.
Our team took full advantage of the capabilities of Azure Boards, starting with what matters most – deliverables. A deliverable can be an Epic, Feature, User Story, Bug, or Task, but they all share the same template as follows.
Adding detailed descriptions to each work item gave team members an in-depth overview without requiring them to review implementation details themselves. It also improved the quality of sprint planning, as task estimation became more accurate. Although it was a complex metric to quantify, there was also more team-wide engagement during sprint planning sessions, fewer loose ends carried over, and we successfully met an aggressive deadline.
The most noticeable benefit to detailed work items was the shared understanding of the task. Concise information made handoffs from development to QA more efficient in producing a better product. Between detailed work items and the ability to link pull requests to them through Azure Repos, tracing specific changes back instantly enabled us to increase our iteration velocity by quickly addressing any defects or requested changes in behaviour or UI.
Azure Repos played a pivotal role in our process of turning the communication and objectives into deployments. It’s as simple to use as any source code management software but also has all of the integrations to our Boards and CI/CD pipelines baked, facilitating more development time and less required configuration. Azure Repos is also compatible with any Git client or IDE, so team members can work with the tool they are most comfortable using. The semantic code search also proved valuable when navigating through ongoing and legacy projects without needing to download them.
Built-in tool integration means we could complete a task, create a pull request, push the changes, run specific pipeline tests, and deploy with minimal configuration. Eliminating time between steps allowed development tasks to be sent to QA testing quicker and then merged into a master branch, reducing the drift between branches. Another benefit of pipelines is the different configuration options that allow for a sort of “drag-and-drop” item configuration or a YAML file configuration that handles the tasks.
On the whole, Azure DevOps increased our velocity, level of collaboration, and overall quality delivered. A broad suite of tools condensed in an easy to navigate and intuitive interface enabled our team to ramp up, complete tasks, and deliver results to another satisfied client.
Interested in learning more about Application Development using Microsft Azure? Check out our white paper on how to design resilient applications on Azure.
Like what you read?
Check out our recent articles.
Check out our recent articles.