Dogfooding? Is this the process of making sure Rover is well fed? Maybe it’s a movement of people eating dog food? Or maybe Rover IS the dinner (cue animal activists). No, dogfooding is coined from the saying “Eating one’s own dog food”.
So what on earth am I talking about. Well first I’m breaking a golden rule here when it comes to blogging which is talking about your company (I don’t know how I’ll sleep tonight). Klocwork does eat its own dog food. We call this KonK – Klocwork on Klocwork.
So why is this important? Ultimately we make a software product that we sell to other companies that make software. So who better to experience first hand what we are designing. By using KonK and updating it frequently it gives us immediate feedback on usability and scalability (our code base is quite large). Plus being in the business of bug detection it helps us sort out the value of the quality of those bugs. As the product manager I’m not using it day to day like the developers, so they are the ones that bring any kind of deficiencies to the design front and center. Hopefully I can talk a little about the benefits and conclusions we have made by using KonK in a later post.
One thing that has helped me with dogfooding is requirements capture. Being in product management obviously the clear objective is to work closely with customers to define requirements and your product direction. Those requirements don’t necessarily paint the picture as much as you would expect or hope. Now that I can play with the intended design on our own code base it paints a clear picture of what may be missing or what may just be plain ugly.