February 2012

The Kernel Journals 1: The Hegelian Dialectic of Software Engineering

The Kernel Journals 1: The Hegelian Dialectic of Software EngineeringWe in the software development industry face a seemingly intractable problem. We have learnt the lesson that prescriptive process is a bad thing. Process bureaucrats sitting in ivory method towers, telling highly-skilled professionals how to do their job and setting the process police on them if they don’t follow their instructions to the letter, can (unsurprisingly) be really quite damaging. It disempowers the development team  and engrains apathetic attitudes along the lines of “When we inevitably under-deliver, it will not be our fault, but the fault of these ludicrous process hoops that we are forced to jump through, instead of being able to focus on writing great software”.  The agile revolution was software engineering’s way of learning this lesson, and the agile manifesto pledge to value “people over process” and “software over documentation” has got to be right. But (… there was always a “but” coming …), we are already finding that the opposite extreme of little or no explicit process isn’t going to cut it either, because it leaves too many problems unsolved, such as: Read More

Agile Use Cases + Visual Studio 2010

We all know that Ivar Jacobson is the father of Use cases and that Use cases are a great vehicle for describing requirements. What many developers also know is that Microsoft’s Visual Studio has been a great management tool to enable team members to continuously collaborate providing comprehensive source control, code checkout and bug tracking tools. But what about developing Use cases in Visual Studio as a requirement – not as something you track such as a bug or defect? Read More

Countdown to the 2010 Olympics

Countdown to the 2010 OlympicsI noticed the other day on my local newscast, that the opening ceremony for this year’s Winter Olympics is only a few weeks away. The newscast showed a sports team working together, training to win one of the most coveted prizes in their career. As per Wikipedia, team sport refers to sports where players interact directly and simultaneously to achieve an objective.  When we put this at an Olympic scale, it combines 10,500 competitors from 204 countries. The stakes are high, preparation and training is intense and the cost of failure has tangible and not-so-tangible results. This newscast made me reflect on IJI’s daily interactions with IT teams and I had to conclude that perhaps the similarities are quite strong. Olympic athletic teams, like IT, which includes the study, design, development, implementation, support /management of computer-based information systems, particularly software applications, is all about working together to achieve one same goal, either win the medal or in the case of IT have the software work seamlessly within an organization. Both teams consist of individual experts working together for a common goal to be the best. The stakes are high in both cases and the costs are equally high with real tangible dollars tied to wins or failures. Read More