How a spreadsheet turns into a global QC management system:
Working as a programmer/DBA for a rapidly growing company, I am commonly tasked with applications programming to speed up and dumb down operations throughout the company. One of the most common tasks seems to be creating small database apps for info that was once kept in paper files or excel spreadsheets, but have become to heavily used to maintain and search. Create a form with as few controls as possible and setup the connection to the database. I have come to prefer ODBC front end apps because we managed to get Oracle, MSSQL, Access, and IBM Universe databases that all have related data in them.
Yes, we are working on standardizing, that's beside the point. Anyway, about a year and a half ago, I was given a task for turning the welding defect logs into a database app. This was easy enough. Form with a few inputs, some reports, finished quickly and moved on. A couple months later, they really liked the reports it generated in seconds that they used to spend hours doing by hand. So they wanted to expand it to all other fabrication departments. So in went some more complex table structure to accommodate the range of defects for each department, deal with different shifts and employees, etc. Most input came from combo boxes, so there had to be all the structure in there so choices would limit depending on the shift, dept, etc. Along with that came more reports and utilities for managing that structure.
After a month or so of use, they really liked it, and wanted it for our plants worldwide. So more structure, tools, and reports were added, and we began using it all over. Then, we decided it should track all vendor defects as well. Once again, more structure, utilities, and reports.
A couple months later, our company decides to go QC Free, meaning all fabricated parts will be inspected by the same people that made them. In order to have accountability, we must now track all fabricated parts that pass inspection as well. In the event it turns out defective and an employee was lax in their responsibilities, we can take corrective action.
After (you guessed it) more structure, tools, and utilities, the program was once again complete. However, before launching the new version, a fellow R&D engineer suggests that since all the same info that goes on to inventory, ID, and inspection tags is now being entered into the database, we may as well have the computer print the tags as well. So that led to yet another overhaul to add thermal printer capability to the program.
Then, the next step was a mobile version for data entry and printing from handheld devices. That has been going for a couple months, so I am waiting for the next expansion of this program. I'm honestly not sure what else this program would logically do, but I'm sure they'll think of something.
A couple of vendors themselves have even expressed interest in purchasing the program after seeing it. That may be the next step, packaging it for use outside our company.
That simple task of turning a spreadsheet into a simple app led to company wide changes in the way we make, track, and inspect our products. It became our global QC management system. This company is my first programming job since school, so I couldn't say that anyone else operates in such a way, but I'd find it hard to believe that this isn't common. I've also had a simple data conversion become a complex scheduling tool.
Personally, I prefer this type of development. Although it would be far nicer to know the entire scope of the program before you start to make class development a bit cleaner, you have get used to code in a manner that allows for expansion. That comes with time. Anyway, I far prefer the performance of the apps to most commercial management apps. You get exactly what you want with no extra features or buttons users can toy with to mess things up, someone within the company has intimate knowledge with the internal workings of the program, making troubleshooting problems much easier, and the sky is the limit as to what you can do with the program. You are not limited by available add-ons or existing features.
Anyway, that's just my tale of how a spreadsheet became our global QC management system. Having not worked anywhere else in the same capacity, I'm just wondering if this sort of development is common for those writing proprietary software for your growing companies.