Hello Everyone… 2010 Hate Mail… For having over 1,000 installations around the world, we really don’t get much hate mail, but we do get it. What struck me with one I received today is that it is the flip side of the common ones I’ve received in the past. The more common one is “Why is it that every time you give me an update to fix a minor issue, you break something else in the software?” For starters, we have approximately 12 full-time programmers working on some 15 modules of software consisting of hundreds of thousands of lines of code. The software has an infinite combination of options that dictate which path the logic will take from a given user’s input. A typical software firm (i.e., our competitors) will issue an update, at best, once per year. Makes for a nice stable product. What is the problem with that? you may ask… Well, say I request a new feature in the software. For example, I want to be able to take a handheld PDA and use it as a POS with credit card capability on the beverage cart. Oh, and the wifi at the clubhouse barely extends coverage beyond the patio on the 9th green. Great idea! (it was mine). So our competitors would tell you… sure we can do that. Our next update is due out in August of 2012. Look for it then! My approach – As soon as I get it finished, we will make it available (which by the way is today but that is for a different newsletter!). Now, there is a problem with this approach as well. In making the changes to the many modules and lines of code to create this new feature, it is possible (and quite likely) that we will be changing lines of code that affect the logic for a different feature. It is not done on purpose; it is just the nature of the beast. If we were to spend 12 months testing the software we would have a better (though not 100%) chance of finding and fixing the issue. In the meantime, you just lost another golf season. We do have what is called Unit Testing and Automated Testing tools. These are dedicated servers that run automated testing scripts 24 hours per day looking for things that break. These tools were implemented last year and have made a big difference. They find many of the issues that people miss, but it is still not 100%. So, this year we have finally drawn a line in the sand and went from sometimes daily updates to only releasing an update once per month. Our goal is to get to once per quarter. Our software has already improved significantly and has become more stable. This comes back to the flip side hate mail. A customer referring to a request for a couple report changes writes: “It almost seems that there is a black hole called “programming” that things disappear into, never to be heard from again.“ That monthly release schedule now means that something completed by the programmers can take up to two months to appear in a customer release (it’s a math thing). One other item that will slow down a request in “programming” -- Production issues (issues that affect current operations at a majority of the clubs) will always take precedence over custom requests for new features. The new rules regarding PCI and PA-DSS compliance for credit cards, for example, took several people full time on and off for almost 2 years to implement. This was one of the big reasons there is such a backlog today. Now that we have wrapped up that effort, we are making headway against the backlog. FYI… Every request submitted to “programming” is logged and tagged in a database. There are currently over 600 items in the queue. We have folks dedicated full time to just managing the list. Things do “fall thru the cracks” but it is very, very rare. Until Next Time… Enjoy J If you need anything, let us know. Also, if you would like something specific covered in one of these Lessons, send the request my way. See all the great tips in our prior newsletters posted on our website under the Lessons from the Pro link. Thanks Email
![]()
"Control the Present, Predict the Future..."


Tom and