Skip to Content

25 Signs You’re in an Unhealthy Enterprise Software Team

Consider this an “anti-Joel Test”:

  1. Time taken to get code into production is measured on days, weeks or months, not minutes or hours
  2. You worry about modifying code because you don’t want to break things
  3. Changes to production get backed up and get deployed as big-bang releases (AKA Merge Day)
  4. You have lots of stories in flight at the same time, most of which are blocked on other people
  5. Code is manually promoted from dev or staging to production environments
  6. There are manual tests that could be automated
  7. You don’t “clean up code as you go”, because it’s too painful trying to get changes approved that aren’t directly related to your current work
  8. Configuration is not versioned
  9. Stories in your issue tracker / project management software are not kept up-to-date
  10. There are non-trivial pieces of work that are not in your issue tracker / project management software
  11. On-boarding new developers takes longer than a day
  12. Your codebase has tests that are commented out or marked pending
  13. You rely on one person on the team to do certain tasks
  14. It’s hard to know exactly which versions of your codebase dev/staging/prod are actually running
  15. You have feature branches that are more than a week old
  16. There are tests that you can’t run on your local machine
  17. You never get to talk to customers
  18. Your staging or prod deployments are snowflaked AKA manual and unrepeatable
  19. A lot of your work is about how your app is run (ie ops, packaging etc) rather than writing the app code itself
  20. You don’t have an automated way of discovering security vulnerabilities in your app dependencies or container images
  21. There are no retros or opportunities for team self-reflection
  22. You often work late to meet artificial deadlines
  23. You are often blocked from doing your work by network proxies and firewalls
  24. You rarely tell your teammates when you disagree with them
  25. You can’t ask someone for help directly, you have to go through your manager, who asks their manager.