
Software Engineering Explained



We have a whole lot of agility at the Hut Group…
YAGNI or You Ain’t Going To Need It – the battle cry of the committed agilista. Software developers, myself included, have a rather annoying tendency to over engineer their solutions. We sit there thinking that with a little bit of extra effort we can build a framework or make the code easily extensible so that when the next problem comes along it will take us no time at all to build a solution.
There just two problems:
Hence YAGNI! You build enough to solve today’s problem, and worry about tomorrow’s problem tomorrow.
Why am I blogging about YAGNI? As previously mentioned I have been writing a skills matrix application for work so I can track the level of skill in my team over time. I have high hopes of building an all singing, all dancing system in ruby on rails that will be all things to all men. Unfortunately, I want to know what we know today not in six months. So I built a version that did the bare minimum and released it. I started with collecting the data, I’ve now added a report and will start tracking changes next. I’ve not really worried about how I’m going to build the new functionality and I’m hoping it will all come out in the wash.
Now I could be wrong about YAGNI, it may turn out that I did need it after all. But if worst comes to the worst, I’ve got the data, I’ve learnt a lot of ruby and the next version of skillz will be better. I’m pretty confident I can make it all work, and I’m really good a data migrations if it doesn’t. I can always use Excel if I have to…

You may have noticed that I’ve recently added lots of buttons to this blog. I’m not a web developer, and I looked around for ages to find a way to create buttons that I liked the look of. I tried images, the sliding door technique and a multitude of other things. I eventually discovered this article on WebDesignerWall. It’s really simple to use and I think the buttons it produces look great.
I think it’s a great way of doing it and an excellent tutorial. It won’t work on IE6, but if you use IE6 you get what you deserve ![]()
Page optimized by WP Minify WordPress Plugin