In this day and age there are tools to help with just about everything:

  • To manage requirements and let users play with prototypes and complete the specifications
  • Let users draw on paper and snapshot it into a Prototyping tool and take it from there
  • Build  the user stories from it, estimate, plan your sprints, manage progress from there
  • Use electric Kanban boards if you want, or a check list or a to-do list, whatever fancies you and works
  • Use Continuous integration and have unit tests being implemented (preferably before coding starts)
  • Explore CI, and teach you developers how to use it for Integration Testing and to speed UAT, leaving user interfacing out of the equation
  • Monitor Insource or Outsource development automatically, production, cost, health factors, performance flaws, security vulnerabilities
  • Build, copy, recreate data set for testing, setup up development environments
  • Create app ( or app parts) images, data set, setups,  and move them through different environment container in seconds…
  • Etc.

Think of what would be a great setup for writing great software products. Everything is at grasp. Developers and engineers, it is in their nature to love to play with these things or they are in the wrong business…and we are back to the “it’s a people thing” after all.

How come we still write crap software?