Project War Rooms: How many ways can we interrupt each other?

Being an IT consultant has occasionally had me working in unusual or cramped quarters at client offices, the result of being hired help instead of a full time employee. One type of psychical situation I have ended up working in a few times is something we called “the project war room.” ...

September 27, 2014 · MichaelHughes

Interface mania: Considering when to add an interface for class.

Something introduced fairly early in programming courses is the concept of an interface. In practice interfaces help to define the boundaries between components of a system, define the behavior of underlying implementors of the interface, and make it easier to switch implementations of said behavior down the road. Today’s post offers a few thoughts on where interfaces should and should not be used. ...

September 26, 2014 · MichaelHughes

Dumb appliances and smart devices

I saw an advertisement for a ‘smart’ laundry machine yesterday. The washer was smart because it came with the capability to connect to a wireline network and phone back to the manufacturer for updates and service information. I have seen similar smart refridgerators that also can connect to a local network for internet access. As an idea this seems great, it’s all part of the internet of things concept where our devices are all intelligently interlinked. I’m going to make the argument that smart appliances unlike smart devices is a bad idea. ...

May 14, 2014 · MichaelHughes

Get a specification and turn it into user stories

I just wrapped up working on a month long project planning phase with a new customer. We gathered user stories, made technology selections, built proofs of concept, and generally got to know the customer’s business. What was interesting about this planning phase was that we started with a detailed product specification and worked backwards to define user stories and acceptance criteria for the project. While at first this may seem like a waste of time, it was actually extremely valuable to all parties involved. ...

April 20, 2014 · MichaelHughes

I want a good, competent developer not necessarily a rock star

Something about describing a developer as a rock star is slightly off putting. Maybe it’s because when I think of rock stars the phrase “temperamental divas” comes to mind or maybe it’s because I never really understand what it means. Maybe it means this — Photo By gammaman / CC By 2.0 I think that I understand the intent. Technology firms and start ups really want talented motivated individuals who love what they do to apply for positions....

March 5, 2014 · MichaelHughes

Engineering Priorities

A (really) short post on the priorities of hobby projects, 1st draft projects, final production grade ap­pli­ca­tions. As per the post tag the below is only 1/4 serious and 3/4 for fun- Hobby / 1st drafts: Novelty (Can I use this new shiny thing?) Per­for­mance (Can I make this new shiny thing go faster too??) Re­li­a­bil­i­ty (Oh yeah–it fails sometimes, but I just restart it.) Cor­rect­ness (Wait you mean it was supposed to solve problem X and not problem Y?...

February 18, 2014 · MichaelHughes

Brewing and development

I’ve been brewing and developing systems for a few years now. Today’s post is about some similarities and differences I have noticed between brewing and developing and differences (this will make more sense later). ...

December 23, 2013 · MichaelHughes

Patterns, learning on the job, and college graduates

Today’s post is on how new hires out of college seem to learn best at my firm. Keep in my that the following is purely my opinion and is based on my experience as a consultant working on custom software development projects with recent college graduates. ...

December 22, 2013 · MichaelHughes

Engineering Priorities

A short post on the priorities of hobby projects, 1st draft projects, final production grade applications. As per the post tag the below is only 1/4 serious and 3/4 for fun. Hobby / 1st drafts: Novelty (Can I use this new shiny thing?) Performance (Can I make this new shiny thing go faster too??) Reliability (Oh yeah–it fails sometimes, but I just restart it.) Correctness (Wait you mean it was supposed to solve problem X and not problem Y?...

April 21, 2013 · Michael Hughes

When is software done and implications therein

In this post we’ll discuss what it means for a piece of software to be done (if ever) and some of the implications of that. ...

April 19, 2013 · Michael Hughes