Taking Software Development to the Next Level
Two development methodologies have me equally intrigued at the moment. Open source is famous for producing such wonders as Linux the operating system and Apache, the webserver. Agile methods are a set of rules, to manage the complexity that a project faces.
The reason that I like these systems of development is that they are simple. Developers have enough things to worry about. Their minds are always racing from the pressure of deadlines or the latest posting on Slashdot, a perplexing code problem, or atleast from that second cup of coffee in the morning.
A good developer will be able to harness that energy and turn it into productive code. They will not waste his energy filling out forms. They will not waste his energy sitting in long, dull meetings, that are only slightly relevant. They will not spend time redoing code because of carelessness.
The great thing about open source and agile, are that they give developers an easy set of rules to play by. This set of rules helps them to channel their energies into writing good code.
It may seem like a contradiction, since developers are typically very intelligent people. But, in writing code, focus is required. A developer creates a virtual world in his mind while he is working. This world is somewhat akin to the mind of a chess player, as he is thinking several moves ahead in the game.
Entering and leaving this world is a slow process. It is often not instantaneous. Initialization has to happen first. Just like a modem, logging on to the Internet, a developer must establish protocols between his mind and the code.
What are the simple rules that make open source and agile so great? Come back tomorrow to find out!