Sunday, May 15, 2011

Feature Creep?

"Feature Creep" is a phrase that is used to describe a phenomenon which occurs during software development.  While developing new software, someone on the design team thinks of a great new feature.  The team thinks this would be a great thing to include in the new software, and so they proceed to put it in.
By itself, one or two new features may not be a big thing.  But if this happens many times during software development, the time it takes to add the new features - regardless of how great they may be - adds to the time it is taking to get the whole new software package out the door.
"Feature Creep" can be a problem if you want to sell the software you are developing.  Fortunately, I don't intend to sell SPOCS, so the only consequence is that the first major revision - SPOCS 2.0 - takes longer to go on the air.
Now that I got the Modbus serial driver working, the system (running on dev system SPARCL9) has been running great for over a week.  One feature I recently thought of, and want to include in SPOCS 2.0, is System Tags.
System tags are those tags in a SCADA system that carry information about the system itself.  This includes the date & time, broken down into separate data (year, month, day...), number of tags that are in alarm, active nodes, and SPOCS module heartbeats.  This is a fairly big addition.  Its main benefit is to be able to have the tag-search routine find a tag by name, and return its value.  No longer will we have to poke around in shared memory directly, having to keep scrupulous track of memory offsets.  We already have it for the tags in the SPOCS nodes.  We just need to add a table at the end of shared memory for the System tags.  More on this as we get the programming put in.