Showing posts with label process improvement. Show all posts
Showing posts with label process improvement. Show all posts

Wednesday, December 13, 2023

Why Microsoft DevOps Is Better Than Spreadsheets for Managing Software Projects

Image of a software developer
Over the past 25 years in software development, I’ve seen a lot of tools come and go.

But recently, I started using Microsoft DevOps—and it’s changed how I manage work more than I expected.

In this post, I’ll explain why it’s made such a difference, particularly for requirements management, and why I wish I’d adopted it sooner.

And that’s coming from a long-time Apple fan.

The Problem with Traditional Requirements Management

In the not-so-distant past, managing project requirements felt like navigating a maze with blindfolds on. Excel spreadsheets were the go-to tool, but as projects grew in complexity, these spreadsheets quickly morphed into unwieldy monsters. Version control was a nightmare, collaboration was hindered, and tracking changes became an exercise in frustration.

For many teams, this quickly becomes unmanageable as projects grow. Version control was a nightmare, collaboration was hindered, and tracking changes became an exercise in frustration. As a seasoned developer, I yearned for a solution that could streamline this process, and that's when I discovered Microsoft DevOps.

How Microsoft DevOps Improves Software Projects

Microsoft DevOps brings a breath of fresh air to requirements management, offering an integrated platform that seamlessly combines essential features like User Stories, Tasks, Bugs, and Sprints. Let's explore how these features are transforming the development landscape.

Key Benefits of Microsoft DevOps

  1. Unified Work Items: DevOps centralizes work items, eliminating the need for scattered spreadsheets. Whether it's User Stories, Tasks, or Bugs, everything is neatly organized within the platform. This not only enhances visibility but also simplifies collaboration, allowing team members to work cohesively toward shared goals.
  2. Agile at its Core: The built-in support for Agile methodologies is a game-changer. Sprints, backlogs, and boards facilitate a smoother transition to Agile practices, enhancing adaptability and responsiveness to changing requirements. This agility is crucial in today's dynamic development environment.
  3. Traceability and Accountability: DevOps introduces traceability that was sorely lacking in traditional methods. With just a few clicks, you can trace a requirement back to its origin, track changes, and identify contributors. This not only enhances accountability but also simplifies the auditing process.
  4. Automation for Efficiency: Automation is at the heart of DevOps, and this extends to repetitive tasks associated with requirements management. From automated testing to continuous integration, DevOps minimizes manual effort, freeing up developers to focus on innovation and creativity.
  5. Real-time Collaboration: Collaborating in real-time has never been easier. Whether your team is spread across the globe or working from the same office, DevOps fosters seamless collaboration. Comments, updates, and discussions happen in real-time, ensuring everyone is on the same page.

Conclusion 

In my 25 years as a software developer, Microsoft DevOps stands out as a transformative force in the way we approach requirements management and software development as a whole. The platform's ability to streamline processes, enhance collaboration, and bring agility to the forefront has convinced me that it's a step forward that the industry sorely needs. As we embrace the future of software development, Microsoft DevOps proves itself as an indispensable ally in the pursuit of efficiency, innovation, and success.

If your team is still relying on spreadsheets or disconnected tools to manage work, it can quickly become difficult to track and maintain.

I help teams simplify how they manage projects, improve visibility, and make systems work more effectively.

If your current setup feels harder than it should be, take a look at my TechFix service.

Thursday, April 27, 2023

Automating My Daily Log with Power Automate and OneNote

Screenshot of Power Automate flow

If you do something manually every day, it’s usually a good candidate for automation. I was creating a new OneNote page every morning—and it quickly became something I knew I could automate.

The Problem: A Repetitive Manual Task

Keeping a daily log is a great way to stay organized and on top of your tasks. I used to create a new page in my OneNote notebook every day, but it was a manual process that took time and effort. 

Building the Flow

That's why I decided to create a Power Automate flow that would automatically add a new page to my OneNote notebook every day at 7am.

What I Wanted to Achieve

Here's what I wanted my daily log to include:
  • The date in the title
  • Section for Highlight (priority task)
  • Section on Yesterday (What I was working on yesterday)
  • Section on Today (What I will work on today)
  • Section on Start of Day checklist (with a number of checkbox fields)
  • Section on Working area
  • Section on End of Day checklist (with a number of checkbox fields)
Screenshot of OneNote daily log

The Problems I Hit

I encountered three problems when creating this flow, but I was able to overcome them.

1. Getting it to run Monday to Friday

The controls in Power Automate give you the option to set a frequency for your flow, and my initial idea was to set it to "once per day". However, this would include weekends, which I didn't want. After thinking for a bit, I figured out that I could set the frequency to "Weeks interval 1" and then choose which days of the week to include. It wasn't very intuitive, but I was able to figure it out.

Screenshot of the Reccurence block

2. Adding the date to the title

In the OneNote "Create a page in section" block, there wasn't a setting to enter a title. It only had a text entry for any template text you want on the page. After some trial and error, I discovered that I could switch the text entry to HTML and enter a full HTML page into the editor. Using the <title> tag within <head>, I was able to automate the title. I then added the formatDateTime function, which allowed me to get the title to be today's date in a long format.

Screenshot of HTML title

3. Adding checkboxes

I really wanted to have checkboxes to check off my day start and end routines, but I couldn't figure out how to add checkboxes into the HTML. After some Googling, I found the data-tag="to-do" attribute, which gave me exactly what I was looking for. I added this attribute to the <p> tags in the Start of Day and End of Day sections, and it created checkboxes in OneNote.

Screenshot of HTML data tag


What Actually Worked

In the end, a simple scheduled flow with a weekday trigger handled the timing reliably.

Using a bit of HTML formatting allowed me to dynamically create the page title and structure the content properly, including checkboxes.

Once it was set up, the whole process became automatic—removing a small but consistent daily task.

The Bigger Pattern

This wasn’t really about OneNote or Power Automate—it was about removing friction from a daily process.

If something is repetitive, it’s usually worth automating.

Where This Shows Up

What This Means

Overall, this flow has saved me a lot of time and effort, and it's helped me stay organized and focused on my tasks. If you're interested in creating a similar flow, I hope my experience can help you overcome any challenges you might encounter.

Small automations can remove a surprising amount of friction from everyday work.

I spend a lot of time simplifying and automating processes to make systems easier to use and maintain.

You can take a look at my TechFix service if you’ve got something repetitive that should be simpler.

Friday, July 14, 2017

Why We Stopped Tracking Bugs in Excel

One thing I’ve noticed over the years is that software projects often become harder to manage because the systems around them become unnecessarily complicated.
Trello board used for tracking software bugs and workflow stages
At the time, we were tracking bugs in spreadsheets, and it quickly became messy with multiple versions, email chains, and poor visibility across the team.

The Problem with Spreadsheet Tracking

I hate managing software faults with a spreadsheet. It normally ends in a mess, with multiple versions, poorly formatted, emailed here there, and everywhere.

The real issue wasn’t the spreadsheet itself—it was the lack of visibility, ownership, and workflow around the process.

To avoid this and not having access to a real software bug-tracking tool like fogbugz I quickly set up something in Trello.

Why Trello Worked Better

Trello is brilliant and I have many boards for various jobs on the go at one time. It is a simple free-to-use tool for managing simple tasks and workflows.

 

Trello bug tracking card showing task details and workflow options
I set up 6 lists flowing from left to right. New bugs can be added by the team or by the customer. They can be entered directly as a new card or via email by links provided. The email to the board facility is brilliant and it will create a new card automatically.

Visual Workflows and Team Collaboration

The bug tracker board can be accessed by anyone who has access to the team. When connected to the team they can then take control of individual bugs and they can be assigned a bug. So at a glance, you can see John is working on bug #27, and Tom is testing #32. When John has completed the fix for bug #27 he can move the bug to the ready for test list and assign the bug to Tom. When Tom tests the bug and it passes the test Tom can move it to Done. If it is not fixed he can move it back to in progress and assign it back to John and add a comment as to why it did not pass the test.

What made the system effective wasn’t complexity—it was visibility. Everyone could immediately see what was happening, who owned what, and where bottlenecks were appearing.

Colors can be added to each bug indicating the criticality of the fault. So at a glance, you quickly see the red for critical and can concentrate on these first.

Trello bug priorities and types
Bugs can include attachments, so you can take a screenshot of a fault and quickly add it to the bug to help with the resolution. You can add multiple items to a bug, so if there are a number of similar faults these can be grouped into one bug and make use of the checklist facility. Tick them off as they are resolved.

What Stayed With Me

So there you go. Trello as a bug tracker. It's not perfect, but I set up ours in under 10 minutes, you can have your whole team collaborating together working through problems or changes. It's much better than yet another Excel spreadsheet and you can see at a glance visually the status of the bugs.

Looking back, this probably reinforced something I still believe now: simple systems that people actually use are often more effective than complicated processes designed for perfection.

A surprising amount of software delivery problems are really workflow and communication problems underneath.

This also connects closely to my thoughts on overcomplication in systems and how unnecessary complexity often creates more problems than it solves.

It links naturally to my reflections on understanding systems properly rather than simply adding more layers around them.

A lot of the same thinking also appears in my posts about organisation and workflow simplification.

Good systems are often simpler and more visible than people expect.

I spend a lot of time helping simplify workflows, untangle technical problems, and make systems easier to manage and maintain.

You can take a look at my TechFix service if that sounds useful.