Comment Re:We've had this for decades... (Score 1) 197
Never let users think they can "write" an application. It is always junk, and user never knows it until it starts creaking under the weight of bad design decisions they made. Then the user who "wrote" it looks to IT to fix the problems.
I was a contractor on a State of South Carolina project that converted 3 user developed Access "applications" to something more modern. My first clue that this would be a major cluster was when the Head of Programming said they looked at what was wanted and knew they did not have the time to do it. The something more modern turned out to be a typical data driven web application developed using Microsoft infrastructure like ISS and SQL Server since that is what this SC department used. That is fine...means I use Visual Studio, a MVC project for the front end, an API project and a couple of DLL projects for things like the data layer and unit testing.
Those 3 Access applications were used to track various aspects of the same Federal program, and none shared common data. Correlating these 3 Access DBs to each other while mapping them into a SQL schema was fun only if you're sick and demented. Column names did not correlate between the Access applications and many times would need to figure out what Access form was placing data in a particular column to get an idea what the data really was. The SQL schema ended up being a bit north of 100 tables. Next up 6-9 months building the data layer; designing POCOs to represent the SQL tables and associated functionality; developing a moq database so the POCOs could be unit tested; developing the unit tests for the POCOs and then testing the unit tests. Writing the UI and the associated controllers took another 8 months to get the MVC controls laid out, the controls functioning, getting all the JavaScript interactions correct, API calls working, partial views being returned and placed correctly, etc. If I recall correctly there were ~50 web pages and another 20 or so partial pages that needed to work together. Finally I don't even want to recount the nightmare migrating the data from Access to SQL Server. In all it took 2.5 years from start to finish on this project.
The only way I would accept a project like that again is for a minimum rate of $125/hr and unlimited time to do it.