Search This Blog

Tuesday, September 13, 2011

What Is Technical Debt?

link -> What Is Technical Debt?
His definition of TD includes frustration The fucking XYZ module needs HTML support, but it turns out the entire thing generates images instead of text so I've got to go back and rip all of the image generating bullshit out of the thing and replace it XML generation so that I can translate it to HTML, plus I've got to fix the code we've already got to work with the XML format instead of the images it's expecting. So, yeah, I initially thought it would only take a day, but it looks like it's going to take all week now, Jesus Christ.
computer

Friday, September 9, 2011

Book Review: The Clean Coder

link -> Book Review: The Clean Coder

The Clean Coder: A Code of Conduct for Professional Programmers

Earlier this week I finished reading Uncle Bob’s latest book The Clean Coder. Robert C. Martin is a great writer and I very much enjoyed reading his previous books. His latest work is no exception and I found it to be yet again a fascinating read.

This book is all about professionalism. This is something that is very much needed in the field of software development. It describes how a professional software craftsman behaves, how he deals with tight schedules, irrational decisions made by managers (for those rare occasions that this happens), conflicts and so forth.

The preface of the book takes you right by the throat, talking about the Challenger disaster. This has been applied to the field of software engineering many times already (check out this blog post from Gustavo Duarte which is one of my all-time favorites), but still, it definitely never wears off.

The book is filled with stories and anecdotes from the rich career of the author and the lessons he learned during these 40+ years in the IT industry. Some of the ideas in there are definitely challenging (like staying out of the zone and building up focus instead), but nonetheless they put a very  interesting perspective on things.

Don’t let yourself get carried away by some of the hard statements but try to focus on the underlying ideas and try to think back on some of the good and bad situations that you ran into during your own career. Trying to reflect on those moments and considering how we could act more professionally lies at the heart of improving ourselves. I definitely learned a lot while reading this book and I encourage you to pick up a copy as soon as possible and take some time to read it.

Two thumbs up!

Sounds like a good book for me.

Monday, July 25, 2011

When To Work On Technical Debt

link -> When To Work On Technical Debt
One problem I encounter constantly is this: "We don't have time to address our technical debt!"Every company I've ever worked for has had this problem to some degree. The development team realizes that there are some parts of the system that need to be cleaned up, but for a wide variety of different reasons, they feel like they don't have the time to actually work on improving those areas of the system.

Friday, July 22, 2011

A Better Team: Arrogance And Accepting Your Own Strengths

link -> A Better Team: Arrogance And Accepting Your Own Strengths
I’ve spent years fighting my own arrogance. I constantly struggle with it. I have to make concious efforts to recognize that every person I come in contact with is more experienced and more intelligent than I am given the right scenario.
Bet my wife would appreciate me thinking about this before I respond. :)

Tuesday, July 12, 2011

Using NHibernate With Stored Procedures - Ayende @ Rahien

link -> Using NHibernate With Stored Procedures - Ayende @ Rahien
I wonder if you could use something like this to do shift collation. The advantage being that another entity could map a PunchedShift as a reference instead of just a PunchedShiftID. I would rather it let me write code instead of SQL though.

Monday, July 11, 2011

A Sample Format for a Spreadsheet-Based Product Backlog

link -> A Sample Format for a Spreadsheet-Based Product Backlog

I want to show a real easy way to put user stories in a spreadsheet-based product backlog. I wrote this after seeing someone tweet a screen capture of a product backlog I made 9 years ago and thought to myself, “Yikes, that’s out of date for how I do it today…”

As you probably know I’m a big fan of writing the product backlog in the form of user stories and of writing user stories in the form, “As a , I so that .” An example being, “As a frequent flyer, I really want to be able to connect to the internet while flying so that I can update my blog while traveling rather than having to save this as a text file and updating my blog later.” (Can you guess where I am while writing this?)

What I’ve found makes a user story in this format very easy to work with in a spreadsheet is to take the boilerplate parts and put them into column headings. So we’ll have column headings like “As a” and “I” and “so that”. The meat of each story is then clearly visible in each row. Additional columns can be added for things like a unique identifier, notes, status and such. In this example, I’ve also included a column for the theme or grouping of which the story is a part. You can see this in the screen capture below. You can click the image for a larger view.

the product backlog in Excel

It is nice the way it groups who the story is for. Unless of course all the stories are for the same person.