Software development mechanics (1)

I have often wondered why it is so difficult for non-developers (management, sales people, customers, inexperienced developers etc.) to understand the mechanics of software development, its life-cycle and the related elements like for example the importance of

  • code-base quality,
  • refactoring,
  • versioning,
  • unit testing,
  • agile development practices,
  • requirements management,
  • project-wide standards,
  • creating a productive, open and creative atmosphere around development,
  • permanent curiosity for new tech-stuff and the freedom to play with it,
  • and many more…

Some individuals of those groups don’t even at least try to find out more about it. Obviously they have not realized yet that when building complex websites, maintaining and extending them for many years they are already developing software – and that this is different from building a toaster once and selling it. So, I decided to post some related articles, books, podcasts etc. whenever I get across them which convey the nature of software development in understandable words.

I hope this selection motivates people to read/listen an maybe even understand one day and thus reduces unnecessary friction.

Here are the first links: