1

I am a graduate student in a Computer Science Laboratory since a few years ago.

For the past years I have designed and implemented a fairly cutting-edged complex piece of software along a team of people (over 10).

At first, I was given the tech lead and the authority to manage the team to certain level.

For that purpose, I tried to introduce some systems and workflows to get everyone on the same page, remain focused and visualize our performance.

Concretely, I pushed for:

  • Peer reviews, unit testing and continuous integration.
  • Collective ownership of code.
  • Collective Kamban style management with a backlog of user stories and tasks and WIP limits.
  • Adoption of Git Branches and PRs. Before people will not even use VCS software.

Only Git was naturally adopted, other practices were eventually abandoned by the team since:

  1. Most students are dedicated to a project in a part-time manner.
  2. Students normally work for 6 months or so aiming to make a meaningful progress during that time.
  3. Students lacks experience and ignores the benefits of those practices.
  4. The Professor viewed the system as a burden. So he will normally ignore whatever system we had a would reassign people to different tasks on demand without noticing others resulting in a mess of management. Also setting a precedent.

For all those reasons I gave up enforcing the adoption of those practices.

At this moment is just the professor who vaguely assign us some tasks time to time and we just informally try to finish those tasks.

Since we stop using those practices, the quality of code has greatly diminished. We have a sense of individual and competitive work where sometimes two or three people work on the same tasks.

I want change this situation again and I want to pitch a better and more adapted practices to improve our workflow and team management.

What would you suggest?

1

As a first step, you need to get a buy-in from those that decide how work is done. That means at least you professor. If that person does not see the need for change, there is nothing you can do that would last. So build a case, show them how improving the system can improve their life. What does it make easier for them.

Next step, do the same for the students. They come and go, they are not dependent on this as much, so their input is not as important as the professors, but you will have a hard time to force a system on them. Build a case for them, show them how those changes will have a positive effect on them.

That might seem simple, but it's really the core of it. You may know what best practices are, but until you can demonstrate to people how their personal life will be changed for the better if they follow them, they will only see the costs. Because those are glaringly obvious to everybody.

So start by making a plan on how to demonstrate and prove that the changes you would like to make benefit everybody. And not an abstract "everybody" but actually everybody in the room.

Your Answer

By clicking "Post Your Answer", you acknowledge that you have read our updated terms of service, privacy policy and cookie policy, and that your continued use of the website is subject to these policies.

Not the answer you're looking for? Browse other questions tagged or ask your own question.