Using Visual Studio Team Services to Manage Your Projects at Home

Image

March 1, 2023

It was 3:10 AM in the morning on Tuesday when we were woken by a loud cracking sound and then a thud.  Just outside our window, one of our trees had fell down.  At dawn we realized there was more damage than just the tree. The tree landed on the power line and instead of the power line giving away, the line stayed connected and pulled the stud out of the wall and all of the siding surrounding it. As you can imagine, this wasn't ideal and when I told my friend about it, he told me to get in touch with someone like Dependable Home Services who will be able to replace our siding as well as potentially being able to help us in other areas that have been damaged too. But there was just so much going on at the time, that I didn't get much of a chance to think about how this was going to be repaired; I had a lot of other stuff on my mind. Fortunately, no one was hurt and the damage could have been a lot worse.  As you can see, this was not the way we planned to start the day. Thankfully, damaged siding is relatively easy to repair and replace so I suppose we got off lightly. Companies like Refined Exteriors can help in this department and professionally install siding with quality materials and styles to suit all tastes.

house_tree_power_line.jpg

How does Visual Studio Team Services (VSTS) tie into this? Several months ago I was thinking how I could organize our home projects into a list of activities that my wife and I could prioritize. Hmm...that sounds like a backlog. I wanted to organize by different classifications like rooms of the house. Wouldn't it be nice to track progress once it starts? I think I might know a tool that does this.

I began to think I could track all of this in VSTS and utilize all of the features that we use for our software development projects in my own home projects.  Let's see how this can work.  Also, if you are new to VSTS, you can use this to see how the tool works with something familiar like home projects.  If this sounds like you want to try this for your software or home projects, VSTS is free for 5 users.

I first created a new "Team Project" in my account called Home Project.  Then I created monthly iterations that represented the bucket of time.  Next I classified all of the areas of my house inside and out by Epics and Features.  Epics are the highest level with Features being organized under each Epic.   This is great for tracking current work but I want a way to report so I use the Area Paths and match this hierarchy for a permanent record and reporting.

Each project has its own classification for representing the size and importance.  In this case, I have the matching area path for reporting.  Story points represent a rough guess cost estimate and the acceptance criteria specifies what needs to happen before I can close out the project / user story.

vsts_userstory.jpg

Speaking of closed, let's talk about how we prioritize and track the progress of item.  Story priorities are easy to adjust.  Simply drag and drop the story to where you want it.  You will also see that the forecasting tool is turned on. This is handy for understanding how long it will take me to complete the projects.  It shows how much we can get done each month if we budget  $1000 / month.  It looks like I'll be busy this month.  I better get these done before football starts.

Finally, work can be tracked through a simple board.  The board allows you to custom columns to represent each stage of a process going from start to finish.  The idea of a Kanban board is to minimize your in-progress items because the fastest way to get something is done is to complete the one item in-progress before working on something else.

For my home projects, I identified 3 columns.  Options/Estimates, Prep Work, In Progress.  These are totally customizable to fit your need.  Additional "swim lanes" can also be created if you had different streams of work. Maybe you want to separate contractor work with your own projects.  Each column can have a "Definition of Done" defined as shown below stating "Options are evaluated and a single option is chosen."  This lets the user know what it takes to move the next step or column.

Here in the board, the idea is to pull the next item in the list into an "active" state by moving it to the Options/Estimates.  Once all of the work is done for project it can be closed.  You can get more granular and add tasks for each project and check them off right here on the board also, but for this I haven't taken it to that level. For more information on the board in VSTS, see Kanban Basics.

vsts_kanban_board.jpg

Since I had VSTS already set up, how did I not get the tree cut down before it fell over?  I opened the user story and there is the answer.

vsts_tree_userstory.jpg

We prioritized it as a "should have" and it was prioritized lower than too many other project.  Little did I know this was going to happen.  Unfortunately the $800 estimate is going to be much higher not that the side of my house is included.  Just like business projects, this is the cost of delay.  I hope you enjoyed seeing how we can use VSTS for more than software development projects and maybe it can help you prevent a minor disaster like ours.  If you have any comments or questions, you can reach me on Twitter at @mikedouglasdev