Add your business to ZipLeaf for free!
 New Zealand Business Directory
"The minute I make a change, everyone gets it"

By Freeman Software

The minute I make a change, everyone gets it

04/03/2017 'The minute I make a change, everyone gets it' is, I hope, a fallacy in the world of on-line software. It omits a major stage between 'making a change' and 'everyone getting it'.

The following is a brief outline on how I fixed a bug in one of our in-house systems. This system is not used by customers, is very important for us and the bug was annoying.



Our project estimation software allows us to nest, or group, requirements together. We may, for example, have a requirement 'Screens' with sub-requirements of 'Client Search', 'Client Maintenance' and 'Client Maintenance'. Full details of each requirement are available on-screen. Along with the ability to enter the estimated number of hours for each requirement we also show the estimated cost (hours x rate) for the requirement and all its sub-requirements. In our example 'Screens' will show the estimates for itself and its three sub-requirements.

A recent addition to print each requirement was supposed to duplicate the on-screen view but in a better formatted, .pdf format. I just noticed that the costs shown were for the sub-requirements but excluded the selected requirement.

On comparing the code for the screen view and the report code, I noticed a couple of things: 1) that the report summed sub-requirements but did not add in the value for the selected requirement, and 2) the same code was in two places (rarely a good idea).

So, I created a new, shared, function from the correct, working code. I commented out (temporarily removed) the code from the on-screen program and the report program and replaced it with a call to the 'new' function. I then tested the new on-screen program to ensure that the calculated values were correct for the bottom-level requirements and for each of their 'parents', manually calculating values and comparing them with the screen. I then did exactly the same for the printed report, comparing the report with the on-screen values and the calculations.

Once content with testing, I removed the commented out code - I was using the new function so this code was now surplus. Now, I had changed two programs, even if only to remove unused code. Because it's so easy to press 'delete', I retested to ensure that I only removed the code that should be removed and no more.

Now that I am happy with my local testing, I released it to Google App Engine's (tm) production system. The way we work with Google App Engine is that each release receives a new version number. This means that, while in production, the new release is not the 'current version' for use by the public. Once in the production environment, I repeated all the above tests on live project data that I am familiar with to confirm the results. Finding no errors in the system I had just released, I made the 'new' version the 'current' one. Finally, the new system is live and we have the 'old' on still in place just in case we need it. Had I found any further errors, I would have repeated this entire process.

I hope this helps you understand a little of the process we follow to fix bugs and add features to our systems. This should also show you that even little changes require work to ensure that other changes are not made 'accidentally'.



Please get in touch if there is anything Freeman Software can do to help your business succeed.

About This Author

Freeman Software

Freeman Software

Can't find the right business software? Freeman Software offers custom software development for the small/medium sized business. We provide custom-written software to suit your business and your budget. We can base our development on our existing packages or develop software unique to you. The key b…

Read More »

More Articles From This Author

Local or Cloud Software

Local or Cloud Software

03/27/2017 As you know, Freeman Software has been providing and supporting Personal Computer and Network-based software solutions for a number of years. Our Customers have the choice of running their software locally or 'in the cloud'.There are both pros and cons to having software running locally, on your own... Read More »

Made in New Zealand

Made in New Zealand

03/13/2017 I have been reading a lot of articles and watching videos that promote 'made in America'. That's great and I applaud the producers of this content for their patriotism. However, I am not American so...When I was younger my father needed an orchard sprayer. He bought the steel (BHP Australia) the tan... Read More »

The Birth of a System...

The Birth of a System...

03/01/2017 The birth of a system...Dave, I am frustrated that our maintenance is not being done *. I have been looking at this system (x) and it seems to do what we need. I need to be able to see what is being done each day and Sally needs to print out work orders each day for the team.We had a look at the sug... Read More »

Other Requirements 3/3

11/28/2016 You know what you want your system to do and you know how it should work. However, there are a number of other things you need to consider. Part 3 of 3.EFFICIENCYSpecifies how well the software utilizes scarce resources: CPU cycles, disk space, memory, bandwidth, etc.PERFORMANCEThe performance cons... Read More »

Other Requirements 2/3

11/13/2016 You know what you want your system to do and you know how it should work. However, there are a number of other things you need to consider. Part 2 of 3.FLEXIBILITYIf your company intends to increase or extend the functionality of the software after it is deployed, that should be planned from the... Read More »

Other Requirements 1/3

10/30/2016 You know what you want your system to do and you know how it should work. However, there are a number of other things you need to consider, these are called non-functional requirements. Part 1 of 3.AVAILABILITYA system's availability, or "uptime," is the amount of time that it is operational and ava... Read More »

Can We Help? Appointments

Can We Help?  Appointments

09/28/2016 "I need my 'patient database' amended so that we can see upcoming appointments for our patients. We need to be able to add new patients when they make appointments and we need to be able to update existing patient records when they make appointments. I have Doctors and Nurses who can make separate o... Read More »

Can We Help? Equipment Repairs

Can We Help?  Equipment Repairs

08/15/2016 "We repair technical electronic equipment. Some of it is our rental stock and some belongs to customers. Can you help?"Freeman Software can help you regardless of your business requirements. The following is just one example.A few years ago we supplied a Windows(tm) system to a company that provides... Read More »

Can We Help? Rental Properties

Can We Help?  Rental Properties

07/05/2016 "We own a large number of residential rental properties. We need a simple system to track rents, contracts and repairs. We don't want the complexity of the systems that commercial managers (agents) use. Can you help?"Freeman Software can help you regardless of your business requirements. The follow... Read More »

Can We Help? Renting Equipment

Can We Help? Renting Equipment

06/21/2016 "We rent technical electronic equipment to a wide variety of customers on a daily, weekly or monthly basis. We have a couple of thousand items that we need to track and account for. Can you help?"Freeman Software can help you regardless of your business requirements. The following is just one exam... Read More »

Can We Help? Medical Imaging

Can We Help? Medical Imaging

06/07/2016 "I need a 'patient database' on which I can record patient details, records of their visits and record detailed photographs of their skin problems. I have a number of reports that are needed for my business, for my patients and for the District Health Boards. Can you help?" Freeman Software can help... Read More »

Maintenance Management - Before Breakdowns Happen

05/10/2016 ENZED (R) has recently been advertising its 24x7 Hose Doctor service. This service, and others like it, can be a life-saver for your business. However, emergency repairs are going to be very expensive in cost, time and lost productivity.Maintenance Management Made EasyFrom just $50 per monthFreeman... Read More »

Freeman Software - More than Maintenance Management

05/04/2016 What if you need something other than Maintenance Management, specific to your business? Freeman Software has considerable experience with developing customised business software solutions.In addition to Maintenance Management, our on-line system currently offers examples of:A quality customer and p... Read More »

Maintenance Management Increases Value

04/26/2016 Your Business' Chart of Accounts will probably show Property, Plant and Machinery under Assets and will show Repairs and Maintenance under Expenses on its Income Statement.Our Maintenance Management system is built to help you Optimise your Maintenance expense so that it Reduces your Repair expense... Read More »

Maintenance Management - Suited to YOUR Business

04/19/2016 Preventive Maintenance is just that - a maintenance plan to prevent breakdowns. Our system is purpose-built to manage the needs of the New Zealand business. It can be used for Fleets, Buildings, Production Equipment or anything else that needs regular maintenance. But what do you do if you need some... Read More »

Maintenance Management - Why is it so quiet?

04/12/2016 You're on a site visit, but it's strangely quiet? Your Site Manager, an Engineer and the Driver are huddled around one of your expensive machines. You go to investigate... The Engineer and the Driver are pouring through drawings and bills of material, under the watchful and impatient eye of the Site... Read More »

Maintenance Management - Flexibility

04/05/2016 Freeman Software's Maintenance Management system can be used in a number of ways. Choose the way that best suits your business ... One of our clients simply keeps a list of all their Assets and records when breakdowns occur. Only quarterly and annual maintenance is scheduled. They are in the fortuna... Read More »

Maintenance Management - Parts and Purchasing

03/29/2016 Our System offers more than just Maintenance Management! You can utilize more of the system's flexibility if you wish... Good. Maintenance Management software helps you manage and schedule all your routine maintenance activities. Maintenance can be scheduled for your fleet, your buildings or any pie... Read More »

Maintenance Management - Using parts and components

03/22/2016 'What about parts?' I hear you ask. 'I need to make sure we hold enough spare parts through-out the year.'Parts management is simple for your maintenance team, they just record the parts used on each job and the system takes care of the rest.Our INVENTORY module is where you record parts, their... Read More »

Maintenance Management for your Business

03/15/2016 Last time I posted, I missed out one thing. One of the first questions I get asked is: 'How much?'. So...For a small monthly fee you get the following...* A system to manage any type of 'Asset': Buildings, Plant, Equipment, Vehicles and anything else you need.* Maintenance can be scheduled o... Read More »

Maintenance Management for your Business

03/07/2016 We have been approached a number of times recently with requests similar to the following ... "We are looking for software to enable us to better manage our onsite maintenance. We are a small to mid-sized business serving both Local and Export markets. We have a few buildings and plant, some for... Read More »