Wednesday Mar 11, 2009

So you are a software developer? The next list is a set of books which I would recommend to read :-) Might not be complete so feel free to add some more!

CodeCraft - Pete Goodliffe
Beautiful Code - Andy Oram; Greg Wilson
Code Complete - Steve McConnell
The Pragmatic Programmer - Andrew Hunt, David Thomas
The Mythical Man Month - Frederick P. Brooks
The Productive Programmer - Neil Ford
Practical Development Environments - Matthew Doar
Head First Design Patterns - Eric, Elisabeth Freeman
The Art of Agile Development - James Shore, Shane Warden
Managing Software Requirements - Dean Leffingwell, Don Widrig
Managing Iterative Software Development Projects - Kurt Bittner, Ian Spence
Refactoring - Martin Fowler
Testing and Quality Assurance for Component-Based Software - Jerry Zeyu Gao
A Practical Guide to Testing Object-Oriented Software - John D. McGregor, David A. Sykes

Beside all these nice books there are plenty of other books around which are great. For example books about programming languages, getting things done, presentations, etc...So grap a book and start to read :-) In my opinion good code quality starts with the developer. And a developer who is informed, up-to-date and knows what he is doing writes quality code!

Thursday Feb 26, 2009

Software projects grow over time. They get bigger, more stuff is added, patches added and bugs fixed. New features added, and removed and code removed. But who keeps track of the changes and ensures that your source code repository stays clean? That they are no old undeleted files, no missing unittest, that all dependecies are correct? In short: that they are no broken windows (link) and a nice clean environment a engineer can checkout, compile and run within minutes? 

I'm using the ReInCheck tool for that. Currently it is customized to support a multi module maven project which consists of OSGi bundles. But it should be easy to adopt it to your needs.

I have always been a fan of improving software development processes. The last couple of days I had a deeper look into Scrum. I worked with Agile development methods for some time now, and I like to point you to this scrum link from Softhouse: http://www.softhouse.se/Uploades/Scrum_eng_webb.pdf. Very rough, but gives a nice overview.

Here is a slideshare version:

Learn Scrum Engineering in 5 minutes

View more presentations from guest035e0d. (tags: scrum engineering)

Friday Oct 17, 2008

Ever heard of Ben fry? No? - You should :-) he did some great stuff with visualization. For example visualizing the pacman source code. Or a tool for visualizing the evolution of software projects in revisionist. He has some other great stuff on his homepage. Also interesting is the tool processing, which is also used in code_swarm. Some samples of his data visualization:

Valence revisionist

I've been working with OSGi for the past years - and I must admit I really like it. If you follow some best practices rules your applications are definitely going to perform better and look nicer. Therefor I remembered an presentation about best practices when using OSGi. I have almost nothing to add - See for yourself: OSGi Best Practices!

This blog copyright 2009 by Thijs Metsch