“Most people don’t plan to fail, they fail to plan”. This quote is attributed to John L Beckly who also founded the Economics Press, the purveyors of “Bits and Pieces”. You know, those little motivational booklets that have inspiring quotes and stories from all sorts of famous people. One of the famously quoted famous people was Werner Von Braun who said “One test is worth one thousand expert opinions”. Yet unpublished, until now, is my engineer-father’s line “If I thought it would actually work I wouldn’t need to test it”. (He used this often when his customers grimaced about the cost of testing something he was building for them… it generally didn’t make them feel better but his stuff always worked the first time in the field.)
All of this wisdom had already been swirling around in my head for a while when Jeffry, a Kronos Workforce Central guru and colleague of mine chatted me up about test plans for a current Kronos Timekeeper project. He was being asked to create “additional and more thorough scripts and plans”. He said he was assuming the installation vendor was going to do all the fundamentals like overtime with holiday calculations, leave of absence accruals and other ‘bucketizing’ calculations. “What then”, he asked of me, “is out there in the form of test plans and scripts to take Kronos testing to the next level… and the next one”. Call it ‘extreme testing’ if you will.
Like a book of quotes, testing timekeeping and workforce management systems both rely on sorting through history’s little gems. Jeffry and I agreed there probably wasn’t a generic ‘extreme plan’ but that one needed to look through all odd ball scenarios that HR/PR had seen before at that particular company. Get the processing people to scan through old timecard data with you and they will very quickly come up with all the 50, 100 and 500 year storms that happened last week, last month and last year. This will often jog their brain for other scenarios the development team didn’t think of to test during unit testing. I don’t think this is all one can do but it is a great place to start—hence the quote, “Fool me once, shame on – shame on you. Fool me—you can’t get fooled again.” Hmmm perhaps a little rehearsal would have prevented that little prime-time error.
Rehearsal in the TimeKeeping/Payroll/WFM world is the ubiquitous ‘Parallel Test’. The idea being two-fold: 1) It will run enough variation (given sufficient duration) through the new system to find remaining errors and 2) Any errors encountered, no matter how fatal, won’t actually kill you because you have the existing system to fall back on. Some also claim the benefit of letting the staff ‘practice’ during the parallel but in my view that attitude tends to encourage sloppy and incomplete training. Think about it—all the really important, got to work the first time stuff across history is tested but not parallel tested. Moon Shots, Brain Surgery, SkyScrapers… these new endeavors are more critical than payroll but since there is no way to parallel test the new machine or method they must find other ways of ensuring success.
I have a project schedule I am trying to compress down for a client. It is hard not to look at the gobs of time on the current plan dedicated to ‘Parallel Testing’ and think it has the most potential to be compressed. In its place we are thinking about a creating a more intensive integration testing based on a wider sample of historical data earlier in the program. At this point, the customer’s PM and I think it will work… but don’t quote me on that just yet.