I was with a client today to do some work on a database for them, when a casual conversation took place that made me think.
The database in question was not a new project that I’ve worked on from scratch, but rather one that already existed and which needed some improvements.
My client already had some reasonable knowledge of Access, and had done the existing design himself, meaning that there was already a set of data to work with and a few forms for inputting more data. And my job was essentially to make the database more flexible by changing some structures and porting the data over to the new structures. We hadn’t really talked a great deal about the forms, beyond the need to adapt the existing concepts to work with the new structures.
But then someone else from the team came in and casually said “Well when we get contacted by a client, what we have to do is…”
And this put a whole new light on the forms we were putting together.
Of course, if we were putting together a database from scratch, we’d spend a lot of time looking at the business processes, and seeing what the most efficient way would be to reflect them in the database system. But in this case, because we were rather updating what was already in place, it was a step which probably hadn’t had the focus which it deserved.
Because the helpful colleague made their observation early in the process, it’s been able to feed in to the design without causing any headaches, problems, re-designs or additional costs.
But it did make me reflect once again on the importance of ensuring that the systems follow the work process (or what the work process should ideally be) and not vice versa.