This is a big topic. REALLY big!
The issue is many, but one will surround how much code, time and investment has been made into the existing project?
So, say someone put in 4 months per year. But, then say you been running that application for 12 years.
Well, that’s 12 x 4 months = 48 months (5 years of development cost).
So, this is one of those how high, how big, how far kinds of questions.
You also have to take into account increased costs.
In the hands of a good Access developer, you be hard pressed to keep up the rate of development you get with Access compared to another platform.
It is REALLY good. Stunning good.
So, I would consider the situation with a lot of thought. Access simply reduces the development cost.
However, it comes down to what the final goal here is?
In other words, maybe the goal is more features, and maybe that goal involves say consuming web services. (A weak point of Access).
So, maybe for example, in place of some interface to QuickBooks, the company is now adopting the cloud based version of that accounting package. Now, all of a sudden it going to be rather hard to interface Access with that accounting package.
The next issue?
It really depends on the scope and breath of the application.
You can’t just out of a blue start developing a serious business application in any platform, including .net without a good skill set.
In fact, the skill set can be outlined like this:
Page-Jones, Meilir. "The Seven Stages of Expertise in Software Engineering", American Programmer, July-Aug 1990
- Stage 1 Innocent (never heard of the product)
- Stage 2 Aware (Has read an article about X)
- Stage 3 Apprentice (has attended a three-day seminar)
- Stage 4 Practitioner (ready to use X on a real project)
- Stage 5 Journeyman (uses X naturally and automatically in his job)
- Stage 6 Master (has internalized X, knows when to break the rules)
- Stage 7 Expert (writes books, gives lectures, looks for ways to extend x)
So, on your team, you want at least level 3 or more, and SOME on the team at least at 4-5 level.
Software development like playing music, or any other skill takes time and investment.
Furthermore, .net assumes that you the developer have a higher skill set and level.
I mean, you can deliver pizza with a bicycle.
Then, maybe volume increases, and now you use a car.
And then maybe you need to supply the local sports arena for football games. Now, you might need a big rig freight truck. But, that big rig truck now means special class licensees, an air brakes ticket and certification, and perhaps more.
So, as you scale up in software, then the ever increasing efforts (and costs) will also result.
So, while the cost of developing with .net is significantly higher than using Access?
Well, you can justify that increased costs, since it is assumed you doing more work, and attacking greater tasks with more complexity.
So, while that bicycle was easy, using a big freight truck, or say a helicopter to deliver things is MUCH more complex.
Maybe all of a sudden you need 2-3 developers. And again, .net let’s all those developers work on the project at the SAME time.
This means simple things cost more, but you have more developers, larger budgets, and more resources. And you have more reasons for that extra cost.
Access is a RAD tool (rapid application development). It is MUCH faster at creating software then most tools
Toss in that integrated reporting system? It really is an amazing setup.
So, you can’t just jump into software and a whole new platform without the above considerations – especially the skill levels required.
I like the pizza delivery example. Perhaps even better is building a dog house. Then maybe you tackle a shed for your tools.
Ok, now what about building a garage package! Now all of sudden, you talking about foundations, cement, electrical wiring.
And then how about a house?
And then how about a sky scraper?
But, they are ALL just construction projects, right???
All of a sudden, HUGE increases in skill sets are required as you climb this ladder.
When building a tall building, then all kinds of new skill sets are used. (And big dollars just for the Architecture firm).
Software is really like building things. I mean, building that dog house and a real house? Well, you just need hammers and wood, right?
But, as you can see the larger and more complex, then the greater skill sets required.
In most cases, I actually do NOT recommend re-writing good working Access applications.
I think adopting and building a customer web interface to that system is money better spent then JUST a re-write of the system.
In other words, look at what business process(s) in that application can be pushed out to customers.
(Why phone the company to get some project status when the customers can just log on and get that information themselves?
Or project status, project approval? Again, why have customers phone you, you fire up Access and then get that information for the customer? Let them do that! Packing tracking anyone?
So just a re-write gains you very little, unless there are new feature sets you require.
Or, you have bottle necks that prevent the current system from dealing with new business rules and requirements.
Or, as noted your developer team is growing and Access does not take well to multi-user development. Access can work with a source control system, but it not all that great.
So, while a helicopter or a freight truck is better at delivery?
Well, all of sudden everything is more complex, and more costly.
But then again, all those extra costs are justified.
You have to decide how well the application you have now serves you.
Software is an engineering process, and building software in .net will cost you more.
From Access to .net, I see costs often about double, but 3x is even better.
And if you going from Access to web? That’s easy 5x or even more the cost.
I don’t want to discourage you here, but you have to take into account costs and time and what kinds of budgets you have here.
And, VERY deceptive is that cumulative cost in the Access application can add up fast. A bit of changes here and there? Not much.
I know of some access applications that EASY represents over 1 million dollars of work.
To replace in .net? Well, now you talking several million dollars!!
I point out a month here, and a month there. But do that over 12 years, and you now have a rather high cost application here, and it not all that low cost to re-write.
And with that higher costs? Then you need and better reasons to justify those costs.
I would also give “big” considerations to jumping past the desktop, and going web based all the way. But, it will depend on the goals, IT infrastructures you have.
All the best, good luck!
I am of the view that a good working and well-built Access application should not “just” be re-written into .net unless specific goals and reasons for doing so exist.
Regards,
Albert D. Kallal (Access MVP 2003-2017)
Edmonton, Alberta Canada