Team Management and Coding Best Practices using Version Control, TDD, and Clean Code

Mochamad Aulia Akbar Praditomo
Scrum Booster
Published in
3 min readApr 3, 2019

In this sprint, I learned a lot about version control and test-driven development. I also managed to create a supporting and productive environment as a hustler in my team.

People Management
Our team consists of students from various backgrounds and have their own responsibilities. My team can be said as one of the busiest team because we got Chairman and President from faculty-wide organizations, and some got a part-time job doing side projects. To manage it better I try to understand each other for their responsibilities and commitment. Usually, we try to set up a time where we would work on Scrum Booster together so that we can get the job done.

Version Control and Git Flow
Version control systems are a category of software tools that help a software team manage changes to source code over time. Version control software keeps track of every modification to the code in a special kind of database. If a mistake is made, developers can turn back the clock and compare earlier versions of the code to help fix the mistake while minimizing disruption to all team members. It’s a really helpful tool for developers team in developing their products!

In our team, we learned about git version control and its flow. There is a lot to learn but it’s a really useful tool to learn about. Here is the flow that we follow according to the best practices:

Git Flow Illustration

Test Driven Development
Test-driven development (TDD) is a software development process that relies on the repetition of a very short development cycle: requirements are turned into very specific test cases, then the software is improved to pass the new tests, only. This is opposed to software development that allows software to be added that is not proven to meet requirements.

We need to use TDD because it’s a really good way to describe and state what widget and functionality we’re trying to build and goes a long way in keeping the code clean. In Flutter itself there are 3 kinds of tests: Unit test, Widget test, and Integration test. Which each one serves their own purposes.

Image result for test driven development
TDD Illustration (source: Google Images)

Clean Code

Even bad code can function. But if code isn’t clean, it can bring a development organization to its knees. Every year, countless hours and significant resources are lost because of poorly written code. But it doesn’t have to be that way.

There are some characteristics to make your code “clean” here is the way to know if your code is clean:

  1. It should be elegant — Clean code should be pleasing to read. Reading it should make you smile the way a well-crafted music box or well-designed car would.
  2. Clean code is focused — Each function, each class, each module exposes a single-minded attitude that remains entirely undistracted, and unpolluted, by the surrounding details.
  3. Clean code is taken care of. Someone has taken the time to keep it simple and orderly. They have paid appropriate attention to details. They have cared.
Clean Code (source: Google Images)

That’s it for this article, thank you for reading! Hope you learn something and have a nice day.

--

--