Brian Hartsock's Blog

Tag: Software

Three types of Defects

by bhartsock on Jan.05, 2010, under Uncategorized

Since the first piece of computer software was created, there have been defects. We have came a long way since those days, but defects are still prevalent throughout every application. They are reported by testers or end users, and eventually make their way back to the software developers that created them. Or did they?

One thing I have observed over the past few years is the fact that almost all defects make their way back to software developers, but developers aren’t always the culprits. To make sense of this, you can categorize types of defects. I have noticed there are three different types of defects that seem quite common, Functional, Procedural, and Conceptual.

Functional defects are traditional bugs. I do XYZ, expect A but get B. Software developers are the culprit, and the right person to be fixing the defect (and hopefully using automated testing to prevent it from ever happening again).

Procedural defects stem from bad processes, which may look very similar to I do XYZ, expect A but get B. The reason they got B instead of A is rooted in the fact that a process wasn’t followed. For example, a new feature is introduced that changes how a user creates a widget. The documentation is never updated however, because the sticky note fell off the task board. Oops! To the user, this is a defect, but in all reality, the root cause a process problem.

Conceptual defects are the nastiest ones. These are the defects that stem from requirements, usability, or just bad features. Often parts of an application need to be rethought, removed, and vastly improved to resolve these issues. What do these issues look like?

A user can’t create a new widget. They can’t create the new widget because they haven’t met all the criteria to create new widget (but the criteria isn’t easily understood).

Why is it important to understand these categories? Because software developers can only really solve functional defects, but they often deal with procedural or conceptual defects daily. Being a software development manager, I see this all the time.

Functional defacts fall on the software developers.

Procedural defects fall on whoever is playing the role of project manager for a team.

Conceptual defects fall on whoever is playing the role of product owner/manager for the team.

It is important to have a system in place that can handle all types of defects, not just functional. Otherwise frustration will set in on your developers.

Post to Twitter Post to Digg Post to Facebook Post to Reddit

Leave a Comment : more...

Business of Software 2009 – You should be here

by bhartsock on Nov.10, 2009, under Uncategorized

IMG00012-20091110-1115 Right now, I am sitting in a huge room with hundreds of amazing entrepreneurs, developers, founders, etc. I am at the Business of Software conference in San Francisco. In the next few day’s, I hope to have a few posts up about the conference and specific presentations I really liked.

Stay tuned.

Post to Twitter Post to Digg Post to Facebook Post to Reddit

Leave a Comment :, , more...

My gotta-have software

by bhartsock on Nov.03, 2009, under Uncategorized

It’s been a little over a week since I installed Windows 7. I tried the upgrade route, failed, and re-formatted the whole machine (every now and again you need to give your PC a good scrubbing). The real question is, what software did I put on the machine?

  • Chrome – Chrome is the new Firefox. It is fast, and the UI is just phenomenal. What sucks about it? Extensibility, which leads to…
  • Firefox – Developers still need Firefox. There are so many awesome tools out there, you need Firefox to develop.
  • Flash – The web doesn’t work without Flash anymore. Enough said.
  • 7zip – One archive utility to rule them all. Works with every file type and integrates with Explorer.
  • Zune – The Zune app is my new music player. With a Zune pass, I get access to all the music I want. Plus, it doubles as a screen saver the UI is so cool looking.
  • Skype – It’s how you video chat over the web.
  • SnagIt – This puppy from Techsmith allows me to capture my screen in a bunch of different ways. If you want to be a pro-blogger (which I do, and I realize I am not), you need this.
  • Windows Live Writer – Nice desktop app that integrates with my Wordpress blog. I like having it on the desktop for the sole purpose it is faster and has an awesome editor/preview mode.
  • Visual Studio 2008 – The de-facto .NET IDE.
  • Visual Studio 2010 Beta – I need to see what my future looks like. I haven’t decided yet.
  • OpenOffice – Free office. MS Office 2007 is pretty awesome, but for a developer like me, I don’t really need it.
  • JungleDisk Desktop – Last but not least, JungleDisk is my harddrive. I backup all my data to the cloud, and with the new version I am going to sync my data between machines.

To give credit where credit is due, I was inspired to do this by Hanselman’s post on the same topic (also, you have to check out his tool list).

Post to Twitter Post to Digg Post to Facebook Post to Reddit

4 Comments :, , more...

What are your developers talking about?

by bhartsock on Feb.19, 2009, under Uncategorized

I found myself in the middle of an argument over the differences between static and global variables today. I started to give my input, and stopped dead in my tracks.internet_argument

I don’t care what the answer is.

I love the fact that my developers enjoy programming enough to argue about the semantics of it. I love that they take software development so seriously. I love that they want to know the answer.

Facilitating an environment where developers can continually improve is super important to me. Good software developers are passionate about programming and are always learning. Great software developers are obsessive about programming and are learning too fast for me to be comfortable. If there isn’t constant communication about new programming principles and practices, something isn’t right.

What are your developers talking about?

Post to Twitter Post to Digg Post to Facebook Post to Reddit

Leave a Comment :, , more...

Quality

by bhartsock on Feb.06, 2009, under Uncategorized

Yesterday, I ordered a sandwich at Panera, and saw something quite unexpected. As they were cooking my sandwich, half the sandwich looked delicious, and the other half was starting to falling apart. The cook threw the ugly half in the trash, and cooked another one. Even though the bad half would have tasted the same, the presentation was important enough to throw it away. How many other fast-food restaurants would have done that?

How does this relate to software? Am I saying you should spend more time making an awesome interface? Maybe.

What I am really saying is that Panera’s food is awesome. And they look delicious too. Without good food, the presentation is worthless. Without good presentation, the food can’t truly be appreciated.

It takes an awesome product to make a user happy. The presentation is only one piece of what makes it successful. Every person involved, from the UI designer, to the DBA, make this happen.

Post to Twitter Post to Digg Post to Facebook Post to Reddit

Leave a Comment : more...

Post by day

March 2010
M T W T F S S
« Jan    
1234567
891011121314
15161718192021
22232425262728
293031