Link to home
Start Free TrialLog in
Avatar of TristanHowland
TristanHowland

asked on

Software Development

It would be better if I started from the top.

We have an old but very robust Visual Foxpro 9 application. It is an ERP system for Truck Brokerage firms. Well this application has been out for 14 years and was the first windows based brokerage software. Obviously it has gone through a lot of changes in the last 14 years. It currently handles all accounting, interfaces with quickbooks, creates invoices, rate confirmations, email, pdf conversion, document management, and a lot of other functions for the truck brokerage companies.

Because it is currently just a server/client appliation and almost everything is moving to web-based applications, 2 and a half years ago we began rewriting the Visual Foxpro application to a web based application using PHP, AJAX, JSON, JQuery, and a MySQL database.

That wasn't the only reason for the application to be rewritten, the current application has been through many programmers hands in the last 14 years and has some poorly coded methods and practices throughout the program. Also Microsoft will no longer be supporting VFP9 for much longer. Yes it will continue to work fine but when Microsoft stops supporting an applications you have to worry about hot fixes, or at least that has been my experience in the past.

Anyway back to the application and the rewrite, the person in charge of creating the spec sheet for the web-based application really just skimmed the surface of the Visual Foxpro application.

We only have had one developer coding the new web-based application for 2 years. It is currently working and only needs a few more tweaks to finalize the web-application so it is ready for deployment. Well sadly the senior web-developer found a new job.

Being pushed for time we have looked at having the remaining of the work contracted out. One company thinks it is possible to use the code we have now, fix the bugs, separate the database out by customer, so that all the other customer's data isn't stored in the same tables. But this company isn't completely sure if they can handle the immense amount of code already written.

The other contractor company would like to throw away all the work and start over using HTML5 and some frameworks (They have yet to inform me what frameworks they are planning to use, or what database they plan to use). The price they quoted isn't bad but I don't think they will be able to write the application using the spec sheet that was created 2 and a half years ago. The current code we have for the web-based application should be used as a spec sheet if we decide to go with this contracting company. If they use the spec sheet that was created 2 and a half years ago we will end up with an application that doesn't do half of what the current web application does.

If it was up to me I would use HTML5, Node JS, AJAX, and probably a MongoDB for the back-end database.

Any advice would be greatly appreciated.

Thanks,
Tristan
ASKER CERTIFIED SOLUTION
Avatar of Rob
Rob
Flag of Australia image

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
SOLUTION
Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
SOLUTION
Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
SOLUTION
Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
Avatar of TristanHowland
TristanHowland

ASKER

Everyone,

Thank you so much for all the input, to be honest it is a lot to take in. I will write a detailed response tomorrow.

Today I met with the first company that wants to work on the code, fix the bugs, write the 2 missing modules and have it finished by April 1st next year. The problem is they seem to be a completely Windows sharepoint
Everyone,

Thank you so much for all the input, to be honest it is a lot to take in. I will write a detailed response tomorrow.

Today I met with the first company that wants to work on the code, fix the bugs, write the 2 missing modules and have it finished by April 1st next year. The problem is they seem to be a completely Windows sharepoint/.net shop. I found it odd they wanted the ability to set up their own local environment for testing instead of using our servers and the repositories we already have set up. It will be run completely on a centOS security enhanced box, it needs to be developed and tested in the environment it will be released on. I don't think you will get any clear testing running it in a different environment. They have signed an NDA.

I am meeting with the other company 10 hours from now. This is the company that wants to scrap the code. If anyone has any other information I need to say to this other company other than trying to convince them to not to throw away the already written code. This company also seems like a sharepoint/.net shop.

I am creating a completely separate branch of the repository tomorrow morning as soon as I get into work. The company I work for is very small, currently it is just me and the boss again just like it was when I started almost 3 years ago. Not to say anything mean about my boss but he will admit he is not technically inclined, and all this is way over his head. The only other person who works with us is the senior Foxpro contracted developer of the current application.

I will go into more detail tomorrow.

Thanks again,
Tristan
SOLUTION
Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
Sorry that statement was incorrect. The Foxpro developer is still on board and still programming the Foxpro application.

When I first started there was a big turn around in the company. Within 3 weeks of me being hired the only people that were still working for the company was the owner, myself, and the Foxpro contractor.

Shortly after that we hired someone to spec out the new web application from the existing Foxpro application. Well as I said before the spec sheet barely skimmed the application.

About 2 months later they hired a very good web developer. He wrote the web application we have now, but he found another job, after more than 2 years of completely developing the application by himself. The major issue was scope creep, the program was constantly being changed, modules added, complete rewrites of the backend code, 3rd party integration. Not to mention writing PHP  scripts to fix parts of the Foxpro application.

We have been trying to hire in-house an web developer for a good while but haven't been able to find anyone who can handle the web applications code. We are still looking for a couple good in-house web developers. The ones we have had either didn't understand it or created more bugs in the code that the senior developer had to go back and completely rewrite all of his code.

Well the good news is I met with the company that wanted us to completely throw away everything we have and start fresh. After our meeting today they seemed a lot more confident just fixing the issues with the code on the dev server. They will then add the last 2 modules to the program so it can finally be released. They plan on coming back with another proposal after meeting with me and seeing the code and the backend database in action. So hopefully they will come back with something reasonable. We will still need to hire another employee either way.

Currently I fully support the Foxpro application. I create all the spec sheets and documentation for the Foxpro developer when it comes to customization requests. I write all the installers, handle all the php scripts that post to the third party web-services. Solely manage all installs and training of the Foxpro application. Also do all the help desk support. I Install and configure the apache and php installs on the customers local web-servers, which are all windows servers. I also have to manage the new web application, and the security enhanced centOS Linux servers off site at the data center. At the current time I do everything except for sales and money management. I also cannot make executive decisions but my input is valued on almost all operations.

The comment I made about rewriting it in html5 using node JS with a mongoDB database would just be my person preference on how I think the application should have been developed in the first place. The senior developer agreed with me after about a year of developing but because of time constraints he couldn't write it all in time.

Everyone we have brought in to help develop the web application cannot keep up or cannot understand the code. After meeting with the contractors who hopefully no longer think they should just rewrite the application, I feel a little more comfortable if the owner does decide to let them finish the code. At least that way we remain in control over the code. Obviously we would love to find 2 good in-house programmers to finish the application, that would be the best way to keep the code under our control.

The statement about having a fully documented spec sheet is a must. And I would be the best person to write it but unless someone is hired to help with my positions there is no way I have time to complete this task. Hopefully we can get someone hired soon, that just graduated, so I can teach them the time consuming tasks like training and installs. That way I can be freed up to do the important work that needs to get done to have this project competed in time.

Both companies we are considering do contract work for nasa and the local military base, so both companies are desperate for work because the government is shutdown. The company who first said trash what you have and we will rewrite it they have kind of changed their tone and feel that this could be their break into non-government contract work. They are coming back with another proposal soon hopefully it will be good news. Unfortunately I can't make the decisions but of course my input is taken into serious consideration.

Again thank everyone who has posted their comments to give me advice on this issue. Please critique any thing I have said and all advice is helpful to me at this point in time.

Tristan
SOLUTION
Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
SOLUTION
Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
Thanks for everyone's input. I don't know how I should reward the points for the comments made because everyone had very good input. This thread has definitely helped out a lot with our current situation.

If anyone has any other input please feel free to post it. I will be most likely closing this question on Monday because I have received all the input to move forward.

Thanks again for everyone's help and expert advice!

Tristan
You can split the points in whatever ratio you feel appropriate.  There are only two of us who posted, so I suggest just splitting them 50-50.
Sounds fair to me.
Let us know also how the information has helped you as it may help others coming across this solution.
You two have been an amazing help. I really do appriciate it! I will be sure to post all the information that helped me so it can also help others. Thanks again.
Thanks it would be a great source for the knowledgebase :)
Well, there was a twist and turn in events with this rewrite. The company who was going to fix our source code and have it ready by the deadline doesn't want a partnership to help us grow. They just want to fix a few issues and be done with the project, and not supply any additional features down the road. Safe to say we are not going with that company.

The other company that wants to rewrite from scratch which I think is ridiculous would like to do a partnership and help us grow and add new features. This seems to be the only way to go at the moment because we have had no luck in finding any in-house programmers who can understand the current source code. Basically this is going to put us a year behind schedule.

But I do appreciate both of your assistance in this matter and can't stress that enough. It has been a great learning experience hearing all the background information on what other companies have done in the past. Who knows maybe a couple of good programmers will be found out of the blue and we can get this finished on schedule.

Thanks again,
Tristan
Excellent advice from both the experts!