Question System Development: In-house or outsource?

eea

New member
Local time
Today, 06:29
Joined
Apr 16, 2015
Messages
2
Good day to you!

I work as an analyst for a small company. I think I am good at excel, and I have completed a VBA course last month and have created a couple of macros to make life easier.

I developed an Excel based database system, which I think is not quite working for the business. It's not very stable and user friendly! Hence, I've been given the go ahead to investigate alternative solutions. MS Access seems like a good one as it's works across MS Office Suite and would allow me to make modification and tweaks over time.

However, I have no experience on MS Access, and am looking to determine how long it would take to port the current system to Access and add the nice features. I can then go back to the business and they will say if it's X hours of development then you go and learn to do it, if it's Y (with Y being bigger then X) then let's get someone do to it.

Could anyone provide me with an estimate on how long it would take me to develop a system with data entry and modification forms, as well as a couple of queries?
I have put together initial requirements to help as I understand it wouldn't be an accurate estimate if it was vague.

Many thanks, and I appreciate your wisdom and time.

Best,

Eliott
 

Attachments

How long is a piece of string? :banghead:

Seriously? It depends on how quickly you can learn about relational databases. MS Access is, IMHO, very easy to get up and running with simple requirements. You already use VBA, but do you understand VBA? Methods, Properties, Events etc. Again if you have a good or better understanding, then the VBA programming you will almost probably write will be easier.
I had a quick look at the data you supplied. Step 1 is for you to identify what tables you need to set up. The Release Schedule tab & NR Schedule tab definitely and some of the Lists tab on your sheets.
The Report, forecasting, formulas driven tabs etc do not (normally) need to be in a table. All of those you can organise with queries displayed/inputted through forms and reports.
A lot of people on here will be happy to assist you, especially when you have your initial design.
 
Could anyone provide me with an estimate on how long it would take me to develop a system with data entry and modification forms, as well as a couple of queries?

Assuming you have average intelligence, working full-time: 6 months, +/- 3 months.

Then you'll spend another 6 months to work out most of the bugs. Then another 4 months to heavily modify the entire thing when you find some underlying table/query issue. Then another 4 months make things less ugly and more user friendly.

Now, all of that assumes no new features are requested by management or huge fires need to be put out during the entire process.

My advice--outsource this.
 
I think you need to ask yourself, what do you want to spend your time doing?

1) If VBA programming excites you, write the system, keeping in mind plog's observations that software you wrote will be a perpetual open project. The rule of thumb I've heard is that good software takes five years.

2) If, by contrast, you want to spend your time using a system you can imagine, then hire someone and manage the project.

To me, the cost benefit analysis depends mostly on what you want to spend your time at. The payoff is you did what you found most interesting to do.
 
The only difference is that you asked the polite question, but all too often you run into the REAL question: In-house vs. outhouse procurement - because unless your contract company understands your industry ahead of time, you either get a long learning curve while they come up to speed, or you get a pile of something that LOOKS and ACTS like it came from the outhouse.

This has to be factored into your buy/make decision. Do you have a vendor or contractor familiar with your business/industry?

There is also the question of how long it takes to do something. With Access, there is at least some chance that you can do things incrementally by deciding which features are built-in to forms and which things require more intimate knowledge of VBA, Events, Properties, Methods, etc. I can honestly say that I got a usable database up in a matter of less than one month based on a complex business flow and half of that time was used to lay out the data I needed. It was just ugly because it depended solely on form behavior. However, once I was able to put up infrastructure in each class module, it started to actually look pretty good. The question here would be "How long can you live with the primitive application?"
 
The proper way of making such decisions is:

1. Identify all the options (the avenues you can follow, inluding do-nothing, and also including leasing, renting, buying off-the-shelf systems, unless your company is sooo unique, that nothing out there covers 80+% of your needs. The world does not stand still, and each day adds new offerings on the web or as System as a service etc....salesforce.com springs to mind)

2.Identifying the benefits and disbenefits/costs of each option. Remember to temper your enthusiasm with a dose of reality - developers love to develop, but forget that the boring bits, i.e. verification, testing and maintenance can easily be perhaps 80+% of the cost of a system during its lifetime - an expense not readily visible at the outset.

3. Evaluate each benefit and each disbenefit: put a pricetag on each. Estimate one, or rate them all in a relative ranking, if not easy to put a pricetag.

Now you have the groundwork required to make an informed and dispassionate decision. On occasion passionate decisions can sometimes be right too, no matter the cost, but I doubt that this is one of those cases.
 
the main thing is that Access is quite different to excel, even though a datasheet looks like a spreadsheet

underlying a database is the premise that they work (best) by considering sets of data in their entirety, irrespective of the order of items.

because of this the obvious difference is that the formulas you are used to in a spreadsheet, that use a row reference for a previous row have ABSOLUTELY no place in a database. They are just not available.

The upshot of this it that a database is so powerful, you will spend at least half your time designing an interface to prevent your users being able to do things that would compromise your data.

It's equivalent to designing a spreadsheet that locks most of the cells in order to prevent users being able to modify formulae and data, but it's more powerful than that.

It's probably also why using a spreadsheet is a database is complicated.

As mentioned above, buying a ready-made solution is often the most effective way. Designing your own solution may still be worthwhile, but it needs careful consideration
 
Here is another thought for you.

Irrespective of what avenue you take, you will need a spec document - either as a road map for you or an external developer OR as a 'shopping list' to ensure an off the shelf system achieves what you need it to.

So draw up that document, in general terms;
What data do you need to store?
What ancillary data will need storing (Customers, Suppliers, Users etc)?
What data can be calculated from the stored data?
What reports do you need to generate?
What level of security do you need?
Who/How do you want the various segments of data entered to the system?
Does anyone else in your organisation use data from the current spreadsheet and do you want to incorporate their spreadsheet data into the database?

With that done you can more accurately assess if this is a job for you or not.
 
All I would say is chances are its a bit risky at the moment for you to be all out designing business critcial solutions. Not because Access can't handle it but because you are quite new to the game.

You could hire someone from the outside to help you build it. That might be a nice option but would require hiring the right person. Maybe stipulate that they have to use MS Access and put you as the PM and have weekly meetings.

All in it is going to probably take a year or so for you to get up to speed.
 
System Development: In-house or outsource?
Definitely neither of those. I'd suggest you purchase an off-the-shelf CRM / accounting solution. There are plenty that should cover your requirements and you can pretty much guarantee they will work out much cheaper than any reasonable attempt to develop it yourself or outsource it.
 
Thank you all for your replies, I really appreciate it.

Some contrasting views but there is no doubt that overall I need spend more time teasing out requirements and evaluating options. I like several of your ideas (e.g. off the shelf solution, PM as guidance) and will investigate.

Cheers, and thanks again.
 

Users who are viewing this thread

Back
Top Bottom