Well, like I said, if you're going to "roll your own" you probably ought to start looking at web development frameworks first. Figure out what your users' needs are, and design the user interface around that. This will allow you to do some mock-up screens to get some early feedback from the potential users regarding the UI design before you get too far along.

The web development frameworks I mentioned previously have decent database integration capabilities to make interfacing to the back-end database easier.

Still not sure why you think starting from scratch will be cheaper/easier than using an Open Source CRM system. Initial outlay to get started with either approach can be close to zero, but roll-your-own will end up taking longer and costing more before you have something useful.

The years just pass like trains. I wave, but they don't slow down.-- Steven Wilson

We are currently starting a(nother) CRM project utilizing an off the shelf solution. While it's been said before I would like to reiterate that the way to go is with an off-the shelf solution. The problem you'll encounter with rolling your own isn't necessarily the form itself. That's easy. But it's the business processes and communication functions behind it that will take eons to develop and test. Then you have the network and hardware engineering work that has to be done. It's no small thing.

The other issue which isn't thought about until it's too late is that of connectors. For example you've got your Finance Dept which has a database and you have HR which has it's own. They want to talk and share information. If you had built this into a CRM solution to begin with it's trivial to share this information between the different departments..even if their databases were separate. All of them support ODBC from MySQL to Oracle and all of them include to ability to map table schemas quite easily. All of them include import tools too. If you rolled your own. It won't. That's just all there is to that. You won't have time to create a database connector for each type of database you have. In the meantime, for everything the in-house system doesn't do another Access database will be created with horrible table names like: [Names for !he "import".data$e speci@l character_what] which will be a joy to work with.

Then you have document management. I'm sure you'll want this feature. As a result you won't want to put this application on the same server as anything else. Why? Because your document repository will outstrip anything else you have on the server. Ideally you'll want a storage appliance where you can allocate disks on the fly if need be. But if you don't have that, at the minimum it should be by itself on it's own server. It sounds like a waste of resources at first but you'll be glad you did later.

As mentioned before BPM (business process management) is an application all by itself...but it's built into every CRM solution I've encountered. What is BPM? It's the ability to take process workflows of your business and digitize the process and associate it with a form and routing process. In a CRM solution let's say a whole other department wants to be included within a business process you've created with your HR department. With a CRM solution this is trivial to do. It might take you a day or two, a week at most to look the lines of communication of the new department and integrate them into the business process of another. If you rolled your own? Well that's a 3 month project at least with tons of testing associated with it.

CRM solutions make all of this stuff not necessarily cake but they make them manageable without requiring a separate development team. Considering you've got open source solutions which are free and paid solutions which are more mature and cloud-based solutions which relieve the network and system admin work and make use of iPads and Android Tablets as well, it would be crazy to skip over all of that and do something on your own from scratch.

But at the end of the day it's always wise to do what works best for you.

just brew it! wrote:Well, like I said, if you're going to "roll your own" you probably ought to start looking at web development frameworks first. Figure out what your users' needs are, and design the user interface around that. This will allow you to do some mock-up screens to get some early feedback from the potential users regarding the UI design before you get too far along.

The web development frameworks I mentioned previously have decent database integration capabilities to make interfacing to the back-end database easier.

Still not sure why you think starting from scratch will be cheaper/easier than using an Open Source CRM system. Initial outlay to get started with either approach can be close to zero, but roll-your-own will end up taking longer and costing more before you have something useful.

Not my decision. If it was up to me we'd do a CRM and GP combo and ditch peach tree and access.

kc77 wrote:We are currently starting a(nother) CRM project utilizing an off the shelf solution. While it's been said before I would like to reiterate that the way to go is with an off-the shelf solution. The problem you'll encounter with rolling your own isn't necessarily the form itself. That's easy. But it's the business processes and communication functions behind it that will take eons to develop and test. Then you have the network and hardware engineering work that has to be done. It's no small thing.

The other issue which isn't thought about until it's too late is that of connectors. For example you've got your Finance Dept which has a database and you have HR which has it's own. They want to talk and share information. If you had built this into a CRM solution to begin with it's trivial to share this information between the different departments..even if their databases were separate. All of them support ODBC from MySQL to Oracle and all of them include to ability to map table schemas quite easily. All of them include import tools too. If you rolled your own. It won't. That's just all there is to that. You won't have time to create a database connector for each type of database you have. In the meantime, for everything the in-house system doesn't do another Access database will be created with horrible table names like: [Names for !he "import".data$e speci@l character_what] which will be a joy to work with.

Then you have document management. I'm sure you'll want this feature. As a result you won't want to put this application on the same server as anything else. Why? Because your document repository will outstrip anything else you have on the server. Ideally you'll want a storage appliance where you can allocate disks on the fly if need be. But if you don't have that, at the minimum it should be by itself on it's own server. It sounds like a waste of resources at first but you'll be glad you did later.

As mentioned before BPM (business process management) is an application all by itself...but it's built into every CRM solution I've encountered. What is BPM? It's the ability to take process workflows of your business and digitize the process and associate it with a form and routing process. In a CRM solution let's say a whole other department wants to be included within a business process you've created with your HR department. With a CRM solution this is trivial to do. It might take you a day or two, a week at most to look the lines of communication of the new department and integrate them into the business process of another. If you rolled your own? Well that's a 3 month project at least with tons of testing associated with it.

CRM solutions make all of this stuff not necessarily cake but they make them manageable without requiring a separate development team. Considering you've got open source solutions which are free and paid solutions which are more mature and cloud-based solutions which relieve the network and system admin work and make use of iPads and Android Tablets as well, it would be crazy to skip over all of that and do something on your own from scratch.

But at the end of the day it's always wise to do what works best for you.

I've forwarded this to my manager to see what he says. Question, what happens when you stop subscribing to a CRM solution like dynamics??? Do you loose your data? That is a major concern for the company, between the flacky internet we have because its a ghetto part of Chicago and the general lack of comprehension surrounding data bases in my office its hard to make any case.

I agree with what has been said about off the shelf solution vs. building your own solution (especially since you work for a small company without your own dev team).

One of the reasons I think off the shelf solution might turn out to be a better idea is that I have worked as a software developer on many projects to build in-house systems and often integrate them with another in-house or third-party solutions. It's a huge amount of man-hours even for a team of seasoned developers. Also remember that whatever you come up with is going to be a subject to change, no matter how sure you are that it won't. Business is ever changing environment and sooner or later there going to be request to add some new features to your system or change it so it behaves right in the newly changed business environment. This is on top of the maintenance that you'll have to do that has been mentioned in the posts above.

Another reason is that right now I am working on developing one of those of the shelf solutions and I'm very well aware of amount of effort required to build something you are looking for to implement. There are solutions like mentioned above but they typically are complicated and expensive so for a lot of small and medium businesses it does not make sense to go with them even though the process in place are far from ideal like excel files flying around as attachments or some Access or even paper-based solutions. Basically what you are experiencing in your company and based even just on my personal experience you are far from being alone with this. Don't want to sound like a sales person (as I said I'm software developer), but it looks like the solution I've been working on in my company fits very well with what you need. It's basically a hosted platform that gives you CRM solution, HR solution and much much more and also allow you to come up with your own solution that fits your specific needs. We spent a lot of time making it user friendly and easy to change. Making it affordable was also our priority as small business customers are extremely important to us. If it does sound interesting please check out our site at http://www.onspring.com and feel free to ask me questions if you have any.

kamikaziechameleon wrote:Question, what happens when you stop subscribing to a CRM solution like dynamics??? Do you loose your data? That is a major concern for the company, between the flacky internet we have because its a ghetto part of Chicago and the general lack of comprehension surrounding data bases in my office its hard to make any case.

Odds are once your company starts using a CRM, it will not stop. It's more likely that you will switch to another platform, and you will pay the new vendor to migrate your data.If your ISP is that bad, why not switch? Or get a second provider and load balance across the two? Or at worst case (or best), talk the small business group at which ever carrier you prefer about an LTE data link, and again load balance accordingly.It should not be too hard to develop a business case showing that lost productivity cost far more than a second link. The time you have spend investigating an 'island' option for business automation alone is a clear qualitative indicator that by not addressing a root cause issue, the company is spending more on workarounds.

Scrotos wrote:Just so people don't weep for my soul, there was a slow migration from Access to MSSQL/.NET applications. Emphasis on slow, though.

p.s. Access 97 doesn't play well on Win7 x64.p.p.s. Access 2000 sometimes gets cranky with Office 2010. At least it is fine on Win7 x64!

AFAIK the Access database format didn't really change from 2000, 2002 (XP) and 2003. If you have Access databases, you should try running them with 2003? I'm not an Access guy by any stretch, and that might not solve the problem with getting along with 2010. We're using a virtualized version of 2003 on our Windows 7 desktops, and AFAIK banning further use of MS Access.

We got:

Access 2.0Office 97Office 2000Office 2010

The main problem is migrating the 97 to 2000 so it'll run on Win7 x64. We don't have Access 2010; didn't bother with Office Pro.

nerdrage wrote:And definitely consider using Salesforce.com instead, it's a much better product that is more widely used and therefore you will find it much easier to get support.

Maybe if you buy it from someone else? I guess some other department decided we NEEDED Salesforce because someone saw a demo and wanted to sink $20k or more into it. Well, they give no support, it's here's the product, good luck. So our programmer has to devote time to datamining what the department wants and they don't know what they want. And even though we could have rolled our own solution, they wanted a new toy.

I've not been directly involved with salesforce but the programmer and my boss are not very impressed with their support or technical knowledge in the last few months of working with them.

Depending on what you want to store and what kind of front end you want to build I would also suggest looking at SharePoint. But since you dont have an IT guy, your best bet is to buy a shrink-wrapped solution.

(\_/) (O.o)(''')(''') Watch out for evil Terra-Tron; He Does not like you!

I hear allot of things against sales force from most people I personally know that use it. Then again I don't know if they have any comparative experiences. I would like to have a integrated and scalable experience if I was going to push the company to invest in a database it should integrate better with the accounting end of the company. I had notions that perhaps if they went with Microsoft dynamics CRM they could use GP for accounting... but I ask again what happens to your data when you stop paying the subscription? Data ownership is HUGE fellas and there is no argument you can make that will dissuade that reality. What specifically happens if you stop paying for one of those services?

EDIT: I've finally taken the plung and started talking to a rather friendly but elusive rep in chat for the Microsoft option. I hear I should check out the oracle option... you guys have any input on this?

talked to oracle, they don't have a good integrated suite of software for what we do. It looks like I'll do better with Microsoft. Anyone else I should check out. I'm looking to Invest in a CRM solution that can be integrated with a accounting software. Currently the only combo I've seen that can do that is the dynamics suite from Microsoft.

Is a 20 person company with 2-4 sales men too small for a CRM solution??? Does it make sense to use a system like Microsoft Great Plains? I see a potential for it to matter but I fear the cost on a good and scalable solution is higher than you guys let on.

just brew it! wrote:On the flip side, it sounds like you're still in denial over the (real) cost of developing a custom solution in-house.

Have you completely ruled out an Open Source solution like SugarCRM?

Short answer, I'm still learning and researching. The company is formally set against me but I figure if I can gather enough info on different alternatives I can make their decision for them. I'll look at sugar.

EDIT: Their Website does not show a open source version of the CRM, FYI.

Edit: Found the Open source version, supposed to be only for developers. Needs more setup than a regular CRM I think, not sure...

kamikaziechameleon wrote:Edit: Found the Open source version, supposed to be only for developers. Needs more setup than a regular CRM I think, not sure...

Still orders of magnitude less work than rolling your own. If you can't afford or don't want a full-blown commercial solution for whatever reason, SugarCRM (or something like it) is really your only other sensible option.

The years just pass like trains. I wave, but they don't slow down.-- Steven Wilson

just brew it! wrote:On the flip side, it sounds like you're still in denial over the (real) cost of developing a custom solution in-house.

Have you completely ruled out an Open Source solution like SugarCRM?

Short answer, I'm still learning and researching. The company is formally set against me but I figure if I can gather enough info on different alternatives I can make their decision for them. I'll look at sugar.

It sounds like the management of your company is either clueless or in a grave state of denial.

If I am understanding your situation correctly... you work at a small company without any true IT staff to speak of, save for one sales rep (you) who happens to have IT experience; but little to no experience in the area of CRM. And they want you to build a CRM from scratch.

There is allot of setup from what I can tell that goes into getting the Free version of that CRM running. And I'll need a dedicated host. I WON'T get that any time soon. Still interested in it thought but it isn't the silver bullet I was aiming for.

EDIT: Additionally I can't discern if this will work with any accounting software. Converting data between software is a REAL chore as I'm sure you are all aware. I really want to move our small company away from doing that as It creates more chance for errors and takes allot of time.

just brew it! wrote:On the flip side, it sounds like you're still in denial over the (real) cost of developing a custom solution in-house.

Have you completely ruled out an Open Source solution like SugarCRM?

Short answer, I'm still learning and researching. The company is formally set against me but I figure if I can gather enough info on different alternatives I can make their decision for them. I'll look at sugar.

It sounds like the management of your company is either clueless or in a grave state of denial.

If I am understanding your situation correctly... you work at a small company without any true IT staff to speak of, save for one sales rep (you) who happens to have IT experience; but little to no experience in the area of CRM. And they want you to build a CRM from scratch.

That's crazy.

Yeah, I know. I'm young, and eager, the average age in here is 60. Honestly my opinion is find a solution for as little money as possible that is as hands off as possible that has room to integrate with an accounting solution down the road. Tech decisions in the company are driven by people with little to no tech knowledge or awareness. This means my task is 2 fold, learn and teach. Its pretty difficult. I appreciate every single response you guys post, it gives me hope I can come to an agreeable outcome.

Yeah, but much of the advice you're getting is to help your company save time and money overall. You could be banging away at something for a year or two and not have the same flexibility as a prepackaged system. They may no nothing about IT but I bet they know about budgeting. What you really need to do as part of your research is to lay out a cost analysis to show why in-house will end up costing them more in the long run--especially if their only staff who wrote the custom CRM is not available anymore. And I don't mean if you quit in disgust, this kind of stuff needs to have a business continuity/disaster recovery portion.

You get whacked by the mob and something breaks in the custom CRM, how many days will the business be crippled? How long will it take to hire a programmer who then has to LEARN all your custom coding and business processes and then try to fix things? What's the estimated downtime and cost to the business for that?

You may know technical stuff but you have to approach it from a business standpoint of how much money will they stand to lose for initial development time and their potential risk if something happens. You can find other people to work on peoplesoft or some premade CRM. It's harder to find someone to jump right in on a custom codebase.

Try taking a look at Turnkey Linux. It allows an easier way to set up an test some crm applications like sugar and vtiger.You just need to find a decent workstation you can use to test on. I have used some of their distributions in the past to test different web based applications and it's alot easier than trying to configure them by yourself.

Last edited by tsbrown on Fri Apr 26, 2013 12:47 pm, edited 1 time in total.

Initial testing and configuration could probably be done in a VM as well. Just need a workstation with enough extra RAM to handle a VM instance. There's an Open Source version of Oracle VirtualBox in most major Linux distros' repositories, or you can download it directly from virtualbox.org.

The years just pass like trains. I wave, but they don't slow down.-- Steven Wilson

kamikaziechameleon wrote:Yeah, I know. I'm young, and eager, the average age in here is 60. Honestly my opinion is find a solution for as little money as possible that is as hands off as possible that has room to integrate with an accounting solution down the road. Tech decisions in the company are driven by people with little to no tech knowledge or awareness. This means my task is 2 fold, learn and teach. Its pretty difficult. I appreciate every single response you guys post, it gives me hope I can come to an agreeable outcome.

Yeah, I've been there... I think a lot of folks here have too. The thing is, there is a point where for the sake of your company and yourself you need to take the time to think realistically about what can be done with the resources at hand.

Are you going to be expected to continue as a sales person while working on this thing? Or while you're supporting it once it's done? Are you going to be responsible for the infrastructure - making sure it's up when it needs to be up, that it's properly backed up, that it's properly working, etc? Assuming you're responsible for this stuff; who takes over when you're on vacation? Or when you take a sick day? How much of their actual operations are they planning to make dependent on this system? That is, if the system is down or not working for a day, can they still do business? And if they still do business, how does that get reflected in the system once it's back up again?

If you haven't already, I would strongly urge you to make sure that you have as complete business requirements as possible before anything else. Every process that needs to be covered; and what happens if that process doesn't happen. What kind of reporting is expected to be available? Start with what gets reported now. The point is, make sure you have a clear understanding of everything (as much as is possible) that this thing is supposed to actually do before you even think about designing it, or choosing a pre-existing product.

The next step - just as important - make sure you have a list of people (who are not you) who will be responsible for acceptance testing. For example, if you're doing something that effects an accounting process, someone with authority in accounting should be the one to certify that yes, the results are correct and what was expected.

Please understand, I'm not trying to discourage you in any way. This might turn out to be an amazing opportunity for you, and if you feel like you're up to it then by all mean go for it. But take some time to seriously consider what you're taking on, and how much of your life you're willing to put into getting it done. If you think you'll need help in the form of additional people, even if temporary, ask for it. If you feel like what they're asking for isn't realistic, say that.

just brew it! wrote:Initial testing and configuration could probably be done in a VM as well. Just need a workstation with enough extra RAM to handle a VM instance. There's an Open Source version of Oracle VirtualBox in most major Linux distros' repositories, or you can download it directly from virtualbox.org.

I'm not just replying to you but to allot of you guys. I'm no programmer, period, done deal, end of story, lol. There is no easy way I can discern to setup a locally hosted solution like a free Sugar or other similar solution. I look at the online tutorials and stuff and its frankly beyond my nerdiness, I'd love to learn but I can't do it reflexively or on the side of what I'm doing now. Additionally we have one computer that isn't literally 10 years old and its my computer. There are no extra machines, or the one that is extra so to speak is... not in good shape. I could spend a few weeks trying to get the lone spare machine from 2002 back up and running but that won't be for free, it needs parts. That costs money.

The best solution I see is currently trying to get in place an infrastructure to support a online CRM service. Again I'm Leary of those only because I can't envision how I pull my data off of one if I decide to do something else. If you guys have any insight into that please share.

kamikaziechameleon wrote:Yeah, I know. I'm young, and eager, the average age in here is 60. Honestly my opinion is find a solution for as little money as possible that is as hands off as possible that has room to integrate with an accounting solution down the road. Tech decisions in the company are driven by people with little to no tech knowledge or awareness. This means my task is 2 fold, learn and teach. Its pretty difficult. I appreciate every single response you guys post, it gives me hope I can come to an agreeable outcome.

Yeah, I've been there... I think a lot of folks here have too. The thing is, there is a point where for the sake of your company and yourself you need to take the time to think realistically about what can be done with the resources at hand.

Are you going to be expected to continue as a sales person while working on this thing? Or while you're supporting it once it's done? Are you going to be responsible for the infrastructure - making sure it's up when it needs to be up, that it's properly backed up, that it's properly working, etc? Assuming you're responsible for this stuff; who takes over when you're on vacation? Or when you take a sick day? How much of their actual operations are they planning to make dependent on this system? That is, if the system is down or not working for a day, can they still do business? And if they still do business, how does that get reflected in the system once it's back up again?

If you haven't already, I would strongly urge you to make sure that you have as complete business requirements as possible before anything else. Every process that needs to be covered; and what happens if that process doesn't happen. What kind of reporting is expected to be available? Start with what gets reported now. The point is, make sure you have a clear understanding of everything (as much as is possible) that this thing is supposed to actually do before you even think about designing it, or choosing a pre-existing product.

The next step - just as important - make sure you have a list of people (who are not you) who will be responsible for acceptance testing. For example, if you're doing something that effects an accounting process, someone with authority in accounting should be the one to certify that yes, the results are correct and what was expected.

Please understand, I'm not trying to discourage you in any way. This might turn out to be an amazing opportunity for you, and if you feel like you're up to it then by all mean go for it. But take some time to seriously consider what you're taking on, and how much of your life you're willing to put into getting it done. If you think you'll need help in the form of additional people, even if temporary, ask for it. If you feel like what they're asking for isn't realistic, say that.

That's what I'm trying to do. Its just hard because getting out of the office to meet with reps for different companies takes time and they aren't super keen on that.

kamikaziechameleon wrote:Yeah, I know. I'm young, and eager, the average age in here is 60. Honestly my opinion is find a solution for as little money as possible that is as hands off as possible that has room to integrate with an accounting solution down the road. Tech decisions in the company are driven by people with little to no tech knowledge or awareness. This means my task is 2 fold, learn and teach. Its pretty difficult. I appreciate every single response you guys post, it gives me hope I can come to an agreeable outcome.

Yeah, I've been there... I think a lot of folks here have too. The thing is, there is a point where for the sake of your company and yourself you need to take the time to think realistically about what can be done with the resources at hand.

Are you going to be expected to continue as a sales person while working on this thing? Or while you're supporting it once it's done? Are you going to be responsible for the infrastructure - making sure it's up when it needs to be up, that it's properly backed up, that it's properly working, etc? Assuming you're responsible for this stuff; who takes over when you're on vacation? Or when you take a sick day? How much of their actual operations are they planning to make dependent on this system? That is, if the system is down or not working for a day, can they still do business? And if they still do business, how does that get reflected in the system once it's back up again?

If you haven't already, I would strongly urge you to make sure that you have as complete business requirements as possible before anything else. Every process that needs to be covered; and what happens if that process doesn't happen. What kind of reporting is expected to be available? Start with what gets reported now. The point is, make sure you have a clear understanding of everything (as much as is possible) that this thing is supposed to actually do before you even think about designing it, or choosing a pre-existing product.

The next step - just as important - make sure you have a list of people (who are not you) who will be responsible for acceptance testing. For example, if you're doing something that effects an accounting process, someone with authority in accounting should be the one to certify that yes, the results are correct and what was expected.

Please understand, I'm not trying to discourage you in any way. This might turn out to be an amazing opportunity for you, and if you feel like you're up to it then by all mean go for it. But take some time to seriously consider what you're taking on, and how much of your life you're willing to put into getting it done. If you think you'll need help in the form of additional people, even if temporary, ask for it. If you feel like what they're asking for isn't realistic, say that.

That's what I'm trying to do. Its just hard because getting out of the office to meet with reps for different companies takes time and they aren't super keen on that.

Unfortunately it kind of falls on you to convince them of that... if they want this thing done right, they have to give you the time and resources that you need to get it done right. If you cannot convince them of that, then frankly you might want to start looking at other work opportunities. Working this type of project is hard enough with proper management support.

It's hard to judge based on a forum conversation, but it sounds to me like you're working for some folks who have very unrealistic expectations, and who aren't likely to budge on those expectations. They need to understand that what they're asking you to do is a full time job and, not only that, is typically something that would be asked of a team of people. Asking you to develop this thing by yourself is bad enough; not allowing you to devote all of your time to it is full-blown crazy.

In all seriousness man, based on what I'm reading in this thread, you are walking into a mine field.

Yup. It really sounds like the company is stuck in the IT Stone Age, and isn't willing to spend anywhere near what it will take in terms of money and/or time to do things right. If I was in your shoes, I'd walk away from this project at this point. Tell them that now that you've looked into it, they can't get what they need for what they are willing to invest.

I hope you haven't put yourself in a position where shutting this down puts your job at risk. (Sounds like things haven't gotten anywhere near that far yet, so it should be OK?)

The years just pass like trains. I wave, but they don't slow down.-- Steven Wilson

just brew it! wrote:Yup. It really sounds like the company is stuck in the IT Stone Age, and isn't willing to spend anywhere near what it will take in terms of money and/or time to do things right. If I was in your shoes, I'd walk away from this project at this point. Tell them that now that you've looked into it, they can't get what they need for what they are willing to invest.

I hope you haven't put yourself in a position where shutting this down puts your job at risk. (Sounds like things haven't gotten anywhere near that far yet, so it should be OK?)

Exactly.

I will add this: I realize that going in front of management and telling them "No" is a difficult and intimidating thing to do; it's one of the less pleasant things you have to do as an IT professional. But it is nowhere near as difficult or unpleasant as the conversation where you have to explain to management why the thing you said "Yes" to isn't getting done, or isn't done correctly.

Working in the family business. I'll go down with the ship, lol. I don't let it stress me, just keep pushing in the right direction "Successful people do daily what losers do occasionally." I'm young and will eventually win out. They won't fire me for doing what needs to be done. I just catch an undue amount of flack sometimes.