Once my talk was over, I was finally able to relax and enjoy the remaining talks at SwanseaCon. As someone who aspires to be a leader, this talk easily caught my eye. Here is the 4th talk of the day by Joel Hammond-Turner.

Who decides what work you do each sprint? The project manager (PM)?

Now, there might not be anything wrong with this. However, there needs to be some communication between the tech lead and the PM about how this should be done .

It may be a case of the PM informing the tech lead what would needs to be done. This is ok, but the tech lead then needs to say “OK, we can do this. But we need to do this first”. It is down the the team, not the PM, to break down the work. Ideally this should be done before the sprint. If this is not possible, then this must be done during sprint planning.

How long it is really going to take?

Estimating is hard! Especially when taking into account everything that needs to be done within a single sprint.

A work item cannot be marked as done until it has been developed, tested, integrated and deployed. Unless all of these are complete, then the item is not done.

It becomes easier to estimate over time. Time should be taken at the end of each sprint to analyse the accuracy of the estimates. This can help improve estimates with each sprint.

Tech Debt

Tech debt is a burning issue that will not just go away. It will get bigger. If it isn’t dealt with soon, it will continue to build up.

The tech lead should make it their responsibility to ensure that tech debt is dealt with. They should make an effort to address it, make sure that the team don’t do ‘just enough’.

Tech debt must be considered when calculating estimates. Don’t wait for tech debt to bite!

Other compulsery work

As well as tech debt, there are other things that must be taken in to account. These must not be ignored as they refer to a set of rules that all members of the team must adhere to. This is to ensure that things are consistent and coding standards met

There are certain things that a developer must do before completing a work item, such as code reviews. Any repeated code should be packaged, no copy and paste. Tools that can help with this include StyleCop, Sonar and Skyk. There should also be a certain level of code coverage for tests.

It is up to the tech team to make sure this is happening.

One Team

There is only one team, and they should work together (even those who work remotely). Together they communicate, document standards and run code sessions.

Avoid long email chains, and don’t involve management unnessessarily. It is a common for people to copy management in to the email. Is this necessary? Would the manager actually understand the context of what is being discussed?

It is up to the tech lead to ensure that the whole team take control of estimation, break down requirements and eliminate tech debt.

The PM may be the one who decides what work needs doing, but the tech lead (with the help of the team) decides how it should be done. They break down the tasks, and makes sure that code standards are met and technical debt is dealt with.