Budget App Part 4: Project Management with Visual Studio Team Services

Paul Riviera
Sep 8, 2018 · 5 min read

Developing an application from scratch is not an easy task. However, there are tools that can make it easier, Visual Studio Team Services is one of those tools. Last weeks post outlined the core features in our Minimum Viable Product, in this weeks post we will use Visual Studio Team Services or VSTS to outline Work Items in an Agile development process (Ill explain what those are in this post).

NOTE: Click here to read last weeks post which laid out the core features in our MVP.

What is Visual Studio Team Services?

Visual Studio Team Services, or VSTS for short, is a tool that simplifies and centralizes the development process. Essentially, it’s DevOps as a Service. VSTS is fully hosted in the cloud so you don’t need to worry about updating it. Microsoft’s VSTS team releases updates to VSTS every few weeks so you can be confident your version is up to date. You can get started with a free account and continue to use it for free with up to 5 users (Click here for pricing details). VSTS is an excelent tool for small teams or individual developers because it centralizes processes that traditional companies would hire multiple teams to manage. You and your team can use VSTS for the following:

  1. Tracking your own, and the teams, tasks and plan out the project.
  2. Host your code and collaborate with your team privately and securely using common version control (most people use git).
  3. Build, Test and Deploy your applications to multiple enviorments and platforms.

We will focus on simply creating your own VSTS account, creating your first project and creating a backlog of work items that corralate with the features in our MVP. In future posts we will cover how to easily build and deploy our services for our application.

NOTE: This post is not intended to make you an expert in VSTS or in agile development, but rather deliver an introduction to a hosted DevOps Platform that will make managing your development process and development environments much simpler.

Getting Started with VSTS and Work Items

Navigate to Visual Studio Team Services home page and select Getting Started for free.

VSTS Home

You will need to sign in with a Microsoft Account (which you can create for free). Once you sign in you will need to create an Organization.

Instances of Visual Studio Team Services are grouped by Organizations. The name of your of your Organization is the url of your VSTS instance. You will also need to specify the Azure Region the VSTS is hosted in (not all Azure Regions host VSTS), I recomend selecting the region closest to you.

Once you create the Organization, you can create a Project. For your own project I recomend always creating your project as a Private Project, for the purposes of these posts I will make it public for reference, you can access the project here.

Once your project is created you will see a side menu allowing you to navigate around VSTS. Throughout the development of our application we will explore the other sections: Code, Build and Release, etc… but for now select Work.

Once you select Work, navigate to the Backlog. Here we will create tasks that need to be completed to build the application. We will group the tasks into User Stories. A User Story is an action or an expectation a user has when interacting with your application. You can write a User Story with the following Template: As a User I should be able to {Action or feature}. Input the following User Stories in you backlog by selecting New Work Item and Add to Top:

  1. As a User I should be able to view overall spending with income for the current month.
  2. As a User I should be able to view spending reports for previous months
  3. As a User I should be able to login to the app using an email account

Once your User Stories are created you will see them in your backlog. You can then select the Add button to the left of the User Story to add more specific tasks.

When you add a Task to a User Story you can assign it to a developer on your team and add details that will allow for better tracking of Work Items. We are not going to cover all of these but I strongly suggest reading about them in the VSTS documentation.

Add the following tasks to the following User Stories:

Now we have a project backlog, for an MVP our backlog should be small at first, but as we think of features to add we simply add them to the backlog. Not all User Stories in the backlog need to go in the MVP or even the next release. The purpose of the backlog is to list all possible features and through weekly iterations of development or “sprints” you refine which User Stories are pulled into the application. This form of development is commonly referred to as Agile Development.

Next Steps

In a normal sprint the project manager would go over these tasks with an engineer to add more technical detail so the developers know exactly what to build and how to build it. For our purposes we will add the technical detail as we build the application week by week.

If you remember our Proof of Concept you will see a familiar task: Get transactions from bank with Plaid API. Next week we will begin building the services required for this task, we will add technical detail and finally get back to coding.

Paul Riviera

Written by

Software Engineer | Entrepreneur | World Traveler

Welcome to a place where words matter. On Medium, smart voices and original ideas take center stage - with no ads in sight. Watch
Follow all the topics you care about, and we’ll deliver the best stories for you to your homepage and inbox. Explore
Get unlimited access to the best stories on Medium — and support writers while you’re at it. Just $5/month. Upgrade