Thursday, December 31, 2009

3 Core Principles from 1998

I was off for the holidays which gave me some time to clean out the storage area. I ran across some notes from a conference I attended in 1998 and 3 core principles stood out that I thought I would share as we start this new year.

Core Principles (as I wrote them many years ago):
1. Smaller is better than larger
2. Understood is better than unknown
3. Progress is better than promises

Smaller is better than larger
There was nothing else written and I left nothing by way of context... regardless of what it meant then, it is clear that this is a great principle when it comes to code. Less code that does the same amount of work is better. The paradox is that it may take a little more time to develop a smaller code solution, but it pays off. The skill is in not being so abstract and so small as to not be readable or maintainable. It is this balance that makes a true software craftsman.

Understood is better than unknown
If there is one word that we would use to describe the issues of software development... it is the word "unknown". Estimating the known is easy. Estimating the unknown, is unknowable. The skill in software development is to separate the unknowns from the knows. Estimate the knowns and provide a SWAG estimate for the unknowns... these are estimates that you need to keep in check. It is best to delay the estimates and work of the unknowns until ( what Kevlin Henney brilliantly describes as) the last responsible moment. Of course this only works for the known unknowns... what will get you is the unknown unknowns:)

Progress is better than promises
This is why I have been a practitioner and trainer for XP and agile practices for many years. It is all about developing business value on a regular and iterative basis. Promises are meaningless... progress is all that matters.

Happy New Year!!

5 comments:

Babatunde said...

Hi Ken,

Your articles are always inspiring to me

Thanks
COGI
rgcogi@gmail.com

Vishwa said...

Hi Ken, these core principles, I've heard in one form or the other, but really loved the way you have put it !

These 3 lines would just remain easily in my head :)!

Thanks,
Vishwa

sartaj faisal said...

Hi

These information are better for our knowledge and the skill is in not being so abstract and so small as to not be readable or maintainable. It is this balance that makes a true software craftsman.

James Parker.
Web design Company

summerlijia said...

Hello. Do you play games like Guild Wars 2? It's really a good way to vex stress and have fun. But farming wow gold is a little time-wasting. You can choose to buy it from the online store. Here is good one selling cheap wow gold. Good luck.

ERICS said...

One of the things I love about buy rs gold Star Wars: The Old Republic is class questlines. Add them to more customization choices for each character and a wider range of clothing one can wear, and you have characters that don't all look guild wars 2 gold the same doing the same exact thing. Drindaar_Lightbringer agrees