From A story to a pull request, Pivotal Tracker meets Github

If you were asked to explain your development workflow what should be your answer?

Cowboys developers you would say when I receive a task, I ponder on it for 2 minutes and start implementing what is required and once done some push my code to GitHub or deliver it to the client in the most convenient way.

But Modern software development teams use the agile methodology and tools such as Pivotal Tracker.

What is pivotal tracker?

Github and Pivotal Tracker: Source AELOGICA

Here is a simple definition I found on their website:

Pivotal Tracker is a straightforward project-planning tool that helps software development teams form realistic expectations about when work might be completed based on the team’s ongoing performance.

I came across pivotal tracker last month when working on the Andela developer challenge, And this tool has changed my developer workflow.

Every time I started working on a project I have to create pivotal tracker stories.

What is a story?

A story (called a “user story” by some practitioners) in Tracker is a short description of functionality or an incremental piece of capability that is of value to the customer or delivery team.

This a short definition of a story you can find on the Internet.

To explain it in more details let me describe the three types of story we can find in Pivotal Tracker.

A story can be a feature, a bug or chore.

A feature :

In Agile methodology, a feature is a story or a functionality that add business value your application or platform.

For example, When building an e-commerce application, your user should be able to make a purchase from the website.

The feature should be: A User I should be able to make a purchase via this platform.

A chore :

It not related to users but mostly to the developer team, it doesn’t add any business value.

Eg: Setting up the application database or Setting up a linting library for your text editor.

A bug:

No one likes bugs, it gives developers headaches.

It is defined as a particular malfunction of an application; a specific way in which a specific feature performs incorrectly given some precondition.

In simple terms: it is something not working and it needs to be fixed.

The workflow

In modern software development teams, before writing any piece of you need to create user stories and plan your work, and pivotal tracker comes to action.

One of the big advantages of Pivotal Tracker is the fact that it can be integrated with GitHub and make a developer workflow very easy.

Once a story is created and assigned to someone, you can link a GitHub branch to it, the developer needs to pull the branch in his local machine and start working on the task assigned to him.

Developers should always commit changes any time a progress is made on the task they are working on. The naming convention should always include the story id you are working on.

Once you are done with your task a pull request needs to be raised and should also follow the recommended naming convention.

If a pull request is accepted it can be merged and the story is accepted and validated by the product owner.

Why is it important?

Better project management helps developers to plan the time they should spend on a project.

Tools like pivotal tracker are used for planning, managing time, resources and people, controlling costs and monitoring project progress.

Working with Pivotal Tracker and Github helps developers to follow the best practice used in modern software development companies such as naming convention and using a strict GitHub workflow.

It makes you a smart developer.

Conclusion.

It’s good to know the best practice but it better when you apply them.

As said in the James 4: 17 :

If someone knows how to do what is right and yet does not do it, it is a sin for him.