Welcome to my blog! This is my first post so I’ll start out by giving some retrospective words to warm myself up and introduce myself. If you have read my About, you will already know that I have developed software and systems for 25 years. During those years I have seen the software industry go through multiple evolutionary stages, each at least a little bit more evolved than the previous.
During the 80’s there where not much talk about development processes or quality. Instead everybody tried to do as good as we could and shared our experiences by simply working on the same projects. We did not succeed every time. And without deeper understanding of the relations between projects, management and development the increasing need for software caused many failures, creating a lack of faith in developers, in particular, software developers.
In the 90’s there was a surge for process and quality, probably as a reaction to the pour results in the previous decade of software development. This led to development of processes and models inspired by other, more successful, parts of the industry, such as manufacturing, buildings and road construction. During this period project where better planned, milestones and tollgate decisions where passed and taken in abundance. This created an illusion of control, but in fact, the number of successful projects did not seem to rise. So the persons advocating following processes, including myself, went to describe the processes in more detail to get even better control, planned the project in more detail to get an even better view of progress.
Development became viewed more and more as manufacturing at this level. But, at the same time models, frameworks for architectures and design patterns evolved which helped conversing over designs.
During the last decade or so I would say that we have seen some reactions to the fact that rigorous process and standard quality measures have not had the expected effect. I’m talking about the Agile movement.
When I first discovered the RUP in the early 90’s I felt a sense of revelation, “This is a good model of how I have always felt it should be done.” So I used and advocated RUP for many years. But, of course, RUP could never be applied, not as it was described. Neither did many managers understand the profound difference between classic “waterfall”/tollgate development and iterative/incremental development. So I realized that RUP was just a part of the solution, and not a brick cast in stone either. Parts where generally applicable, but some parts definitely expendable.
When I started to read about XP, the same sense of revalation dawned on me. Here I found other parts that where essential to the large picture of software development.
So, I guess, what I am trying to say in this my first entry is that there are many tools, methods, models and processes. None of them are correct, but very few of them do not contain anything of value. I am convinced that any good developer or manager of development has to take all these to heart and select the proper tool for the job.
This brings me to the real reason why I felt I had to start my own blog. I stumbled across Cedrics blog Agile People Still Don’t Get It. There are many people out there which are not insightful enough to realize that there is no one solution, or even truth. Everything is a question of balance and risk and agile techniques are about doing this balancing in a responsive way.
I hope to share my views on this balance in future blogs. Watch this space!
Here’s a test of pingbacks which I seem to have a problem to get to work…