If you have been following my blog or know me from MSN etc you will have seen that I have gone a bit quiet. I thought I would spend some me time with my programming books and chill myself out a bit before studying for the MS certs that I have chosen to do. (P.S x:Lex IS finished it is just missing regular expressions, if you want to help out and are good at regex pm me.)

The to main books I have in my possession that deal with software development are Code Complete 2 and Agile Methodologies in C#. Now usually I prefer the hands on approach but I do like to read and you occasionally get some got stuff out of these tomes.

In software there seems to be two conflicting views, the all or nothing OO approach and the agile (in it various forms) approach. Now, I wont claim to know either in great detail but I am interested in both.

For instance I like how XP utilizes user stories to manage a project into definable tasks that are consistent and managable throughout the project.

What I would like to establish here is a bit of conversation on some different concepts that people find work for them.

Do you use unit testing?

Do you only develop required architecture even if you know a project will eventually need to be reworked?

Should everything be an object?

How much OO is too much?

Feel free to add more as I am on a fact finding mission that I hope will benefit more than just me...