4 ms·
About a year ago, I took over a small team of 3 developers that was floundering and demoralized. This was not a remote team but I think that's incidental for th
by klenwell 9y ago
About a year ago, I took over a small team of 3 developers that was floundering and demoralized. This was not a remote team but I think that's incidental for the most part. I admit I'm writing this mainly as a testament to my own experience. But I think it includes some sound advice (a lot of which I collected from Hacker News discussions over the years.)
Process is key. Tools should serve the process and the team. First thing I did was to put together a basic scrum process. This had an immediate positive impact that has persisted. Some recommendations:
- Respect your team members. Give them the benefit of the doubt. There have been some good threads on HN about the distinction between being a dev and a manager.[0]
- Short daily standups: no more than 10 minutes, just the three questions: Did? Doing? Blocks? We do them in-person in the office, but I also do them over email with some of our contractors.
- Regular sprints (I like two-week sprints) with focused, structured demo, retrospective, and planning meetings.
- Retrospective meetings with developers and product owners that identify pain points but emphasize fixing the process not blaming or fixing individuals.
- One-on-one meetings every other week with members of my team and with my manager.[1]
- Weekly grooming meetings: product owners and developers together review, size, and prioritize stories.
- Projects are managed in Trello: cards are either user stories or defects with acceptance criteria.
- Issues are tracked and documented (in Github). I set an example for my team by thoroughly documenting issues and emphasizing best practices.
- Developers don't work on anything that doesn't have a Trello card (we have an action item card for small one-off tasks.)
- No burndown charts!
A lot of these practices I carried over from my previous job, where we used scrum but, because of laziness and laxity on a few points, ended up with a pretty dysfunctional team.
My only real innovation was the "No Card/No Work" rule. I think it's essential. It both stops managers and stakeholders from derailing the process. And it provides a record and reference for the team's accomplishments. Coming into an existing team, I made sure I was flexible and accommodating in implementing the new process. But this is the one point on which I told my manager I needed to be firm. We agreed to leave a little bit of room in each sprint for any urgent stories that might come up. It's worked out well.
Finally, my managers support and respect the process. Commitment was one of the keywords that was emphasized when I was first trained in Agile Scrum and I appreciate the significance of it now. Without the investment and commitment of management, this would probably all be futile. For larger goals, we created an Epic board that my manager likes to use with senior management. Trello is great because it visually reinforces the reality that priorities are a queue and if you push some urgent new job to the top, everything else in line is going to get pushed down and delayed. It's funny how easy it is for people on high or under stress to ignore that basic law of nature.
[0] https://news.ycombinator.com/item?id=3407643 https://news.ycombinator.com/item?id=3407643
[1] https://workplace.stackexchange.com/questions/32765/what-is-the-purpose-of-1-on-1-meetings-with-your-direct-leader-boss https://workplace.stackexchange.com/questions/32765/what-is-...
- mpfundstein 9y agoGreat post. I am in the situation and can confirm that this works. I don't do the 1-on-1 though but will introduce them soon. It's a great idea. How involved are yiur developers in the design process? Do they work in a whole story from a to z or do they get handed over requiremebts, ux and ui and then only work on the inplementation? I am trying to get a real a to z process in place, but its quite hard
- klenwell 9y agoWe have the luxury of having a good UX/UI designer on the team so I am happy to defer to her on design questions. These should be spec'd out in the Trello card as a checklist and mockups attached in an easily readable format so that any questions can get addressed and hashed out in the grooming meetings. In teams without a designer, I'd recommend picking a well-documented frontend framework like Bootstrap to establish a baseline and make sure there's a functional UAT process in place. As far as getting a process in place, I agree it's challenging. Scrum provides a great foundation. But as the regular threads on scrum in Hacker News show, many orgs adopt it without really appreciating how it all fits together and as a result there's a good amount of well-earned resistance to it. At a previous company, we initially brought in a consultant for three days of in-house training. I believe it was money well spent. But we still managed to screw it up in critical ways. I think establishing and documenting best practices is important, for both process and coding. I'm a big fan of checklists and transparency generally. A lot of my effort goes toward establishing consistency and eliminating surprises. There's also the Joel Test, which is another good way to measure dev team health and smooth out some aspects of the dev process: https://www.joelonsoftware.com/2000/08/09/the-joel-test-12-steps-to-better-code/ https://www.joelonsoftware.com/2000/08/09/the-joel-test-12-s...