Editorials

Facts vs. Theorems

In life there are a lot of things that we must take as a given but are difficult to prove. The best we can do is take a position where the evidence leads and operate as if it is true. The problem is that those things that we consider as assumptions, because you have to have a starting point, escalate in our thinking to become facts. We find it difficult to complete the process by comparing your experience with the evidence to validate your assumptions. I believe in Algebra we called these Theorems.

Software development is much the same. We have a lot of theorems we hold to as facts. Unlike Algebra, in software development, what is true for one team may not be true for another team. Here is my brainstorm of examples:

  • Waterfall, or Agile is the best Software Development Lifecycle
  • Pair Programming can produce more accurate and tested code than writing code individually
  • Cursors always underperform in SQL code
  • An ORM is the best relational database technique
  • Never De-Normalize
  • Never use Nulls
  • If you train technical employees they will leave
  • You can replace highly trained and compensated people with less experienced individuals resulting in more completed work
  • Canned software is preferable if available
  • You need to be in the Cloud, or the Cloud is not Enterprise ready
  • Offshore development is cheaper

Why not add your favorite theorem to the list? Tomorrow I’ll write on the corollary talking about things that are demonstrable as true. Feel free to get a head start with your comments as well. Simply leave a note here or send an Email to btaylor@sswug.org.

Cheers,

Ben