Solved Hiring a Database Developer (1 Viewer)

Weekleyba

Registered User.
Local time
Today, 00:02
Joined
Oct 10, 2013
Messages
586
I am looking into how to go about getting a database designed for my work place, here at the Indian Health Service.
This would go through the federal gov’t contracting process, which usually means competitive bid.
This process requires a well written Statement of Work (SOW) and good estimate.

Can anyone give me any advice or examples, on how to write a good SOW for the creation of a database and some ballpark figures on what it would cost?

I would like the database to continue to be in MS Access, so I can manage it after it is complete. Possibly look at a web based database.
This database would be used by 30 people across 4 states.

As a side bar, should I be looking at SQL vs Access? I do not know anything about SQL so not sure how hard the transition is.

Let me know you thoughts if you would.
Thank you.
 

Isaac

Lifelong Learner
Local time
Yesterday, 22:02
Joined
Mar 14, 2017
Messages
8,738
Can anyone give me any advice or examples, on how to write a good SOW for the creation of a database and some ballpark figures on what it would cost?
Do you mean that you are on the purchasing end, receiving a SOW, or the bidding end, writing one? I can't quite tell.
A few thoughts:
Are your users on a stable network, all? If so, then you could create a properly split Front-end/Back-end database (this is non-negotiable must, no matter whether you use SQL or Access). The FE's should be designed with an auto-versioning-distribution system (this is a must in my opinion for your diverse user situation, and not hard).

SQL vs. Access...While I am a huge fan of SQL Server and personally would try to go that route almost no matter what, but theoretically, two aspects that come to mind for that are "larger datasets" and "security". If you might be dealing with larger data, SQL Server is indicated, and if you want to ramp up the sophistication of your security a notch, SQL Server may help there too. Of course, both of them are contingent on being well done--it's totally possible to create slow, crappy db's with SQL backend, as well as totally insecure ones. Remember that there is no particular need to get your "own" server (or even database, necessarily)--if there is any part of your company that already uses SQL Server, you just need a server where one database (or maybe just one, new schema) is dedicated to you, in order to make the segregation meaningful enough.

If you have them all on a stable corporate network (shared folders that work well), then you might be quite fine using an Access back end. Then there is no need for a web option (which there isn't much of, anymore, with MS Access, anyway).

If you switch to SQL Server back end, you could probably just review & study a relatively short list of best practices to make your Access FE file continue working well, and there wouldn't be much else that needed changing. But, if you really want to take full advantage of the server, the sky is the limit in what to learn on the SQL side, but you might consider that optional in a sense.
Some things to check out: 1, 2, 3
 

isladogs

MVP / VIP
Local time
Today, 05:02
Joined
Jan 14, 2017
Messages
18,186
I was going to ask the same thing. Are you hoping to bid for such a database or to invite tenders for the contract?

I would strongly advise using sql server for the backend. Health Service data is too sensitive for Access to be used for the BE.
I would also ensure the Access FE is highly locked down - again for security.
 

Weekleyba

Registered User.
Local time
Today, 00:02
Joined
Oct 10, 2013
Messages
586
I would be bidding it out and need to write a SOW for the solicitation.
We are on a stable network, although the speed of may be an issue. I'll preface this with, I am not an IT specialist, just an end user that has developed some small Access DBs. The small DBs that I have developed are being used on the network and not currently split. Most of the time, they are very slow, taking 3-30 secs to refresh. I never compact them while they are on the network, because it may not even work and crash. So I'll move them to my local hard drive, compact, and move back.

Anyway, thanks for the all info. Please send any other advice my way.
 

theDBguy

I’m here to help
Staff member
Local time
Yesterday, 22:02
Joined
Oct 29, 2018
Messages
21,358
Please send any other advice my way.
Hi. Here's a reference from the VA. Maybe your agency has one as well. Good luck!
 

isladogs

MVP / VIP
Local time
Today, 05:02
Joined
Jan 14, 2017
Messages
18,186
You might consider directly contacting selected developers from this forum and elsewhere who you feel might be a good fit for the task.
However, depending on the scale of the application required, you may need to hire a team of developers
 

Weekleyba

Registered User.
Local time
Today, 00:02
Joined
Oct 10, 2013
Messages
586
How do I find a list of the selected developers on the forum?
 

Weekleyba

Registered User.
Local time
Today, 00:02
Joined
Oct 10, 2013
Messages
586
Hi. Here's a reference from the VA. Maybe your agency has one as well. Good luck!
I've written many construction SOW so I know the format. But I'm looking for a SOW specifically written for soliciting for database development.
 

theDBguy

I’m here to help
Staff member
Local time
Yesterday, 22:02
Joined
Oct 29, 2018
Messages
21,358
I've written many construction SOW so I know the format. But I'm looking for a SOW specifically written for soliciting for database development.
Did you click on the GSA link towards the bottom of that page? If you do, click on the plus sign for MAS Information Technology, and you'll see the first one is about a Federal Health Database. I didn't look at it, but maybe it will help you. Cheers!
 

Isaac

Lifelong Learner
Local time
Yesterday, 22:02
Joined
Mar 14, 2017
Messages
8,738
@isladogs makes a good point about security.
When I worked in a healthcare revenue cycle mgmt company, we were constantly reminded of the sensitive nature of health documents. However, people did store these documents (Excel, Access, reports) in network folders with very tightly controlled permissions. Once a group was given access to a specific folder on need-to-know basis, we were pretty much allowed to do whatever we need to therein--Excel, Access, etc, so an Access BE was OK. The server/folder people were responsible for the security working from that point on.
But if you're not positive you have that approval and a papertrail for the authority, just be real careful and in the absence of that, SQL server will give you more tight security options for sure.
I might be stating the obvious here (sorry if so), but you can usually tell from people's signatures + sites if they are open to work.
 

Weekleyba

Registered User.
Local time
Today, 00:02
Joined
Oct 10, 2013
Messages
586
Did you click on the GSA link towards the bottom of that page? If you do, click on the plus sign for MAS Information Technology, and you'll see the first one is about a Federal Health Database. I didn't look at it, but maybe it will help you. Cheers!
Thanks DB! I did not see that. Thanks for pointing it out.
It's a bit lengthy at 43 pages, but it's a start to look at anyway.
 

Weekleyba

Registered User.
Local time
Today, 00:02
Joined
Oct 10, 2013
Messages
586
@isladogs makes a good point about security.
When I worked in a healthcare revenue cycle mgmt company, we were constantly reminded of the sensitive nature of health documents. However, people did store these documents (Excel, Access, reports) in network folders with very tightly controlled permissions. Once a group was given access to a specific folder on need-to-know basis, we were pretty much allowed to do whatever we need to therein--Excel, Access, etc, so an Access BE was OK. The server/folder people were responsible for the security working from that point on.
But if you're not positive you have that approval and a papertrail for the authority, just be real careful and in the absence of that, SQL server will give you more tight security options for sure.
I might be stating the obvious here (sorry if so), but you can usually tell from people's signatures + sites if they are open to work.
Thanks Isaac. Just to clarify, even though I work for the Indian Health Service, I don't work with any patient records. I'm a facilities engineer that works on projects for repairs, renovations, and new construction for the hospitals and clinics. The DB would be to manage those construction projects.
 

isladogs

MVP / VIP
Local time
Today, 05:02
Joined
Jan 14, 2017
Messages
18,186
How do I find a list of the selected developers on the forum?
Sorry if I wasn't clear. I meant that you could approach those forum members whose advice you respect/trust. Some may be interested in bidding though it won't interest everyone..
 

Isaac

Lifelong Learner
Local time
Yesterday, 22:02
Joined
Mar 14, 2017
Messages
8,738
Thanks Isaac. Just to clarify, even though I work for the Indian Health Service, I don't work with any patient records. I'm a facilities engineer that works on projects for repairs, renovations, and new construction for the hospitals and clinics. The DB would be to manage those construction projects.
Ahh, ok, gotcha. Probably a bit more open, then.
Best of luck with your project.
 

isladogs

MVP / VIP
Local time
Today, 05:02
Joined
Jan 14, 2017
Messages
18,186
In terms of scale, I would still suggest SQL Server would be preferable, even if security isn't as relevant in this case.
Good luck from me also.
 

CJ_London

Super Moderator
Staff member
Local time
Today, 05:02
Joined
Feb 19, 2013
Messages
16,553
one thing to consider for your SOW estimate - does your organisation already have SQL Server or similar RDBMS (oracle, mySQL, etc)?

If they don't then the cost of putting that infrastructure into place and maintaining it needs to be taken into account

If they do, then your IT dept or whoever is managing it might either not allow such a development, or insist they undertake the BE development - perhaps to their costs and timescales. You would also need to understand the implications of putting another application on what might already be a stretched service - typically poor performance.

A few years ago, a client moved their BE to SQL server, 6 months later they moved it back because SQL server was overstretched and performance made the app virtually unuseable. I'm not against SQL server, but just throw this in as a caution.

I would say the more clearly you write your SOW - detail on background, existing resources available (not just the equipment, but the nature of the data your app will be interacting with, the processes and business rules), examples of report layouts, etc will give developers less 'unknowns' they will need to price in. Otherwise developer A might come back with a question or suggestion which you accept - but then other developers are not quoting for that element.
 

Pat Hartman

Super Moderator
Staff member
Local time
Today, 01:02
Joined
Feb 19, 2002
Messages
42,981
Access vs SQL Server is an oxymoron. SQL Server is a database engine and Access is a RAD (Rapid Application Development) tool). You create databases with SQL Server. You create Applications with Access. Their purpose does not overlap in any way. Access is frequently confused with SQL Server because people do not understand that it isn't Access that is the database engine that powers the Access development platform, it is ACE (current .accdb versions) or Jet (older .mdb versions) that acts as a host for the Access development objects such as forms and reports and modules. Access can use Jet or ACE to store data but that comes with limitations, security being a major problem as well as limits to concurrent users. However, Access used with an SQL Server, DB2, Oracle, etc. BE is actually infinitely scalable and much more secure. Given your specific application, Something like SQL Server would be far preferable to Jet/ACE as your data store. With an RDBMS BE, your concurrent user count is limited to the number of seat licenses you have rather than the physical max of 255 or the practical max of 50 for Jet/ACE. All the bad press you read about Access being limited is actually about constraints of Jet and ACE and not of Access at all.

There are two limitations of Access that you cannot easily overcome.
1. It is very close to impossible to develop an application using a team when using Access as your dev platform. Even when Access supported a tool like SourceSafe, it was still a problem. So, although the user count for access is essentially unlimited if you are using an RDBMS, the developer count is pretty much limited to ONE and that essentially limits the size of an application. I've seen some very large and complex Access applications but they were developed by one person over a matter of years rather than by a team in a few months. Some things can be isolated so it is not impossible to split the workload, just difficult.
2. There is no way to publish Access as a web app so for most instances, users are limited to being on the same LAN. It is possible to have a wider distribution over the internet but you would need to use something like Citrix or Remote Desktop. Both Citrix and RD support the traditional Access FE and BE method and the BE can be Jet/ACE or some other RDBMS. If you host your own Citrix or RD server, you can have a combination of LAN and remote users running against the same shared BE. However, if you use a third party to host Citrix or RD, then ALL users must be remote. For applications where I had a mixture of LAN and Citrix users, the Citrix users almost always experienced better responsiveness than the LAN users for the simply reason of how Citrix and RD work. In a LAN environment, the BE is on the server and the FE is on each person's C: drive There is lag between the server and the local PC and on slow networks, it can be substantial but with Citrix and RD, the FE actually runs on the server so that lag is eliminated. All that is transferred between the Citrix/RD server than the user is pictures going from the server to the pc and keystrokes going the other way.

The US imports Indian developers because they cost about 25% of what American developers cost. I'm not sure about other developers from the English speaking world but I'm guessing that most will be more expensive and so you might have trouble with budget if you would like to hire one of us to help you. In reality, we might not actually be more expensive because several of us have enough experience with development to be efficient and that pays off in total hours of development time vs cost per hour.

Be extremely careful if you want this project developed in Access because you'll get a lot of people who say they know Access who don't have a clue. Make sure you see at least four samples of significant applications developed by the person you ultimately hire. Make sure they demo the apps and can explain how they work so you can judge their level of knowledge. Be very wary of companies who will take a fixed price contract. That only ever works if your SOW is actually perfect and there are no surprises or spec changes during development.

The SOW needs to be detailed in its requirements. It needs to detail WHAT should be done rather than HOW it should be done. The clearer the specification of what you want, the more likely you are to get what you are looking for. Having a working model is a big help, especially if you can remember and explain the "details". Be specific about what the existing app does well and what needs fixing. To help you, ask your IT department or management for copies of SOW's that ended up in successfully developed applications that were at least close to being on time and in budget. The most perfect, detailed specification is completely useless if the project related to it failed. Find the successes and model your SOW on those.
 

The_Doc_Man

Immoderate Moderator
Staff member
Local time
Today, 00:02
Joined
Feb 28, 2001
Messages
27,001
Possibly look at a web based database.
This part cannot be done with Access alone. You COULD have an Access front-end for control and management, but there is currently no easy solution to use an Access back-end on the web. Not saying impossible. I said "not easy" and meant exactly that. In theory, it IS possible to specify an ACE engine as the target of a web page doing lookups. In theory... but I have not seen any practical cases mentioned that didn't have massive limitations.

What is much more common is to find some type of ODBC back-end that both web pages and Access forms can see from separate apps. Many others have suggested SQL Server or some other SQL-based active back-end. I have to concur. The problem with government systems is the extensive record-keeping typically required and that means you have to employ a system that doesn't fold every 2 Gbytes. SQL Server has a very high capacity. I know the U.S. Government also likes ORACLE, and they have a pretty good capacity, too.

Can anyone give me any advice or examples, on how to write a good SOW for the creation of a database and some ballpark figures on what it would cost?
When writing a statement of work, you need to consider various phases and aspects of the work. Working BACKWARDS with regard to the project, ...

1. You need to define clear and very specific goals i.e. explain exactly what must be delivered, in what form, with what function, and with what ownership. If you skip the "code ownership" part, the moment you touch the code, you might get hit with breach of contract. So you have to reference salient parts of the U.S. Copyright Act of 1975 (and parts as subsequently amended.)

2. You need to include estimates of required system capacity short-term, intermediate-term, and long-term, with provisions for archiving where needed to minimize the size of the working files. You also need to address minimum acceptable speed for certain processes, which probably would reflect back to the minimum network quality and speed that you would have to obtain or provide. You would also probably have to provide the platforms for this project unless you are asking your vendors to provide hardware too.

3. You need to specify interface attributes, as in "What do you expect users to do with this product?" You also need to specify interface attributes with other government agencies because they probably WILL NOT want ODBC connectivity. With the U.S. Navy, we always exported files in .CSV format because it was the lowest common denominator among some of the agencies (eighteen in total) that had to exchange data.

4. Where regulatory statutes apply, you must explicitly include either the statutes themselves, or (as was typical for U.S. Navy), a reference to the Standards Documents that were applicable to the project. At the Naval Enterprise Data Center/New Orleans, we typically would see references for at least a couple of dozen sections of U.S. Code, all of them "included by reference." Since you are talking Bureau of Indian Affairs stuff, I know for an ever-loving hard fact that you will have lots of U.S. Code references.

5. Other than references to U.S. Equal Employment Opportunity regulations (see my point #4 above), you should not deal too much in exactly how the winning vendor would populate or manage the production team. Otherwise, you will end up micro-managing the vendor, which is guaranteed to run over budget and schedule as the vendor has to schedule "progress" meetings. Trust me, in that context, progress and Congress are the same. Neither one gets anything done on time or under budget.

6. You kill your chances of ever getting a sane contractor to bid on this at all if YOU offer the ballpark figures. However, until you have the detailed statement of "desired end product" there will be no way for any sane person to make such an estimate. But it is worse than that. Do YOU know all of the applicable regulations and how they will affect estimators in the various companies? All of the regulation requirements will ONLY slow down the project since the bidders will have to include a "compliance validation" position or an increment of hours for such validation. Add anywhere from 5% to 15% overhead right there, depending on just how many compliances you specify.
 
Last edited:

Weekleyba

Registered User.
Local time
Today, 00:02
Joined
Oct 10, 2013
Messages
586
Thanks to ALL of you for explaining this to me.
It's a lot to consider and the SOW is more complex than I thought.
I'm thinking I almost need to hire someone to review what we have and want and then write the SOW for us.
Does that make sense?
 

The_Doc_Man

Immoderate Moderator
Staff member
Local time
Today, 00:02
Joined
Feb 28, 2001
Messages
27,001
Hiring someone to do your SOW as a consulting system analyst? Not a bad idea, and for a smaller department, it would make sense. At the Navy Enterprise Data Center, we actually had several experienced project managers who could easily write statements of work. In a smaller group, you might not have anyone free for that purpose. Just remember, if you hire a consultant, you have to write a statement of work for THAT person too.
 

Users who are viewing this thread

Top Bottom