I love re-inventing the wheel

For example when starting new projects as PM. I usually restart my tracking of all the moving pieces with a blank wiki page and spreadsheet. 
In theory I could use tools on the market that help manager features, teams, requirements, goals, experiments, …

Without buying anything outside, I could re-use my own work as template.

But none of this offer the pure benefit of thinking. Asking the right questions is much more important than getting a pretty ready made gantt.

Questions like:

  • What are we building?
  • How do I want to represent it? What does success look like?
  • What should we track? How?
  • Who needs to read this doc? What are the levels of information needed.

On my last growth oriented project, I built a first tab to track what we were building. Then I needed a higher level, so I built a new tab with only weeks and not days. Later on I needed to store the results of AB tests.

As I added clutter, I stopped synchronizing my tabs. Some of them inherited the prefix “(Deprecated)”. And I knew I was still looking for the right way, for that particular project, that audience, under those circumstances.

Some day I’ll choose a tool that suits me. When I do, I will know what I want and how I want to use it. No the other way around.

It is the same in any endeavour: architecture, writing music, programming, writing fiction, … 

Build your own tool and template in your mind only. Then manually scale up as the project goes along. And keep trimming, keep going back to the essential.

On collaborations you may not have the choice of starting from scratch your follow up and documentation though. 

But most importantly on collaborations: you need to get feedback about what you write and measure and how you present it. You are rarely alone.

Nowadays spreadsheets can show you what other users are doing live. Use that knowledge to observe when people concentrate their attention. 

For my current project, in the morning, the spreadsheet was empty. No one connected. Then during a retrospective, without explicitly telling it, the team mentioned the lack of vision and clear roadmap. For me it was already there! but it was too complex.

As soon as I simplified, started from scratch the tracking (with the same content in the end), I saw a spike of usage in the spreadsheet. I saw engineers following each line while we where doing the scrum on Slack (ha yes, because of the Corona Virus in Korea these days, lots of us a remote, and that’s a great way to realize a company limit when it comes to remote-ish work)

Combien coûtent les tests unitaires ?

Les radins calculent le coût uniquement en terme d’argent. Mais si vous voulez un logiciel parfaitement testé, il faut considérer le tableau dans son ensemble.

C’est la grande question de cette série de 12 articles sur les tests unitaires pour les managers (en anglais). Ceci est l’épisode 11.

Continue reading “Combien coûtent les tests unitaires ?”

Good Unit Test CheckList

Writing unit test? but don’t know if you covered everything? Here is a simply good unit test checklist.

Here are a few items I try to respect every time I write unit tests. It’s a solid and good unit test checklist. At least good for most of my code 🙂

Edit: a more extended and detailed list I wrote for DZone.

  • My test class is testing one and only one class
  • My methods are testing one and only one method at a time
  • My variables and methods names are explicit
  • My test cases are easy to read by human
  • My tests are also testing expected exception with @Test(expected=MyException.class)
  • My tests don’t need access to database
  • My tests don’t need access to network resources
  • My tests respect the usual clean code standards (length of lines, cyclomatic complexity,…)
  • My tests control side effects, limit values (max, min) and null variables (even if it throws an exception)
  • My tests can be run any time on any place without needing configuration
  • My tests are concrete (ex. dates are hardwired, not computed every time, strings too…)
  • My tests use mock to simulate/stub complex class structure or methods

Maybe you’ve already done a great deal  by appointing a Test Supervisor that checks every aspect of the finished product. That’s terrific. Congratulations.

But there are still bugs ?  Your team is telling you that this little change you asked took the all system down ? How comes ?

For more details about unit tests, see my series:  Test Culture Episode 1. The 101 Unit Testing Guide For Busy Managers.

I’m pretty sure there are more point to this unit test checklist.  Any idea ?

Test Culture Episode 8. Moving Sh*t Around.

« If you don’t have unit tests, you are not refactoring, you are just moving shit around »

I’m so sorry. I could not find the source of this quote. But you get the meaning anyways. Or maybe not… Maybe you just think that unit tests are optional and refactoring is even more optional.

Continue reading “Test Culture Episode 8. Moving Sh*t Around.”

Test Culture Episode 7. “Tests Are Broken ? Let’s Ignore Them !”

No.  You can’t !

As a manager the only bossy instruction you should give is :

 “Don’t you ever shut down a crashing test ! Fix it now !”

Continue reading “Test Culture Episode 7. “Tests Are Broken ? Let’s Ignore Them !””

Test Culture Episode 6 : Unit Tests Are Better Than Excellent Specifications

Let me rephrase : GOOD unit tests are better than excellent specifications.
Unit tests actually ARE the specifications.