A Marketer’s Guide to Agile Development – How Your Company Would Have Ruined the iPad2

co-written by Rick Butler

THE LOOK

“Isn’t it thin enough? Nobody’s complaining about the thickness, are they?”

“Just put some faux carbon fiber on the shell. It will cut costs and nobody will notice the difference.”

THE SYSTEM

“Our competitors are Flash compatible – we need to concentrate on fixing this deficit so Android doesn’t beat us on features.”

“We’re the fastest tablet out there already – why fix something that ain’t broke? Spend the resources making it Flash compatible.”

“Retinal display is great – but we don’t need it. Our core demographic is 18-25, and they can see just fine.”

THE CAMERA

“I already have a camera, why would I take photos with that? I don’t see people using it.”

“Just farm it out. We can save resources if we don’t have to design it ourselves.”

“Alright then, put the camera in, but don’t go wild. Nobody’s buying a tablet because they want to be the next Annie Leibovitz.”

THE COVER

“Our core competency is technology, not bags. License our logo out to a reputable sleeve manufacturer and let them do what they’re good at.”

“Our research says most users would probably hold the tablet in their left hand and type with the other. Put a strap on the back.

A Marketer’s Guide to Agile Development – Why Technical Debt is Your Problem Too

Close your eyes.

It’s Wednesday. Mom is coming for dinner Saturday night. More than 3 days away – plenty of time to clean the house. Then, the babysitter was out sick 2 days, then your middle-schooler announced Thursday that she just remembered the paper mâché model of a velociraptor was due to the teacher on Friday. And, oh yeah, it had to have a working mandible. And purple glitter. And the houseplants are listless – gotta make a run to the garden store.

Now it’s Saturday afternoon. The place is a mess. You’re out of time. So you heap up the leftover supplies and detritus from the velociraptor project into a shopping bag – you’ll sort through it later. You stuff it into the hall closet. You toss in the toddler’s coloring books and your work papers from when you were working from home. And the plant food. And wedge in the golf clubs that didn’t get put away last weekend. And throw in the waffle iron still caked with batter from this morning. Hearing the waffle iron clatter past the nine iron and thud for a landing, you force the door shut just in time to hear Mom’s car pull into the driveway.

Now it’s Monday. Instead of 5 minutes to feed the plants, it takes 30 to find the plant food in the last place you looked; the golf bag. And the next school project will be delayed while you sort through the shopping bag to identify usable supplies from trash. The golf bag glitters purple – not the look you were going for, but it will have to do. Waffles? Not so fast, you have to unearth and clean the waffle iron first, then add the time to actually make them. New rule – nobody gets waffles.

Now imagine the closet is your website, and the stuff in it is the “get-you-there” code. It’s hastily, sloppily written code that gets working software up and running under code complete deadlines. This cowboy code is a lot more likely to manifest when requirements are added at the last minute. The effort required to clean up after it is technical debt.

In a perfect world, developers write elegant code, which is liberally peppered with explanatory comments to guide others who amend or enhance that code later on. It doesn’t need constant tweaking to continue working, such as changing hard-coded dates every month. But a developer’s world is not perfect. For one thing, you’re in it. Remember your own contribution to technical debt when you hand in requirements late, or try to expand the scope mid-sprint.

Technical debt is why a seemingly simple change request may not be so simple to get into the code base. The same reason it will take 2 hours to produce a waffle next time someone asks for one.