Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Convincing Coworkers To Use MVC

I'm about to start working on a new project at a somewhat new job, and I've run into a bit of a problem. They're not big fans of MVC.

The reason why this bugs me is that they claim they're currently using the Zend Framework when they're really not. They're barely using the DB model classes, and that's about it. No MVC, no extending of Zend classes to achieve their goals.

The last project I worked on used Zend very heavily. Once the project was done, we were left with a nice MVC framework. Very clean controllers, most of the heavy duty logic was in the models where it belonged, and a nice model-gateway system to boot. To go from that to sphagetti code with hand-written SQL is kind of a shock.

So, I ask you, StackOverflow community. How do I convince my coworkers to move to an MVC framework? I have the feeling that they're afraid to use MVC because it would mean a learning curve for the two established programmers ( it's a small startup ). I've been thinking about doing a copy of the current project using MVC and all the Zend goodness in a seperate SVN repository ( on my own time ), and show it to them in a few weeks to see what they think.

Any thoughts on how to convert coworkers to MVC?

like image 889
Sean Hagen Avatar asked Sep 14 '09 18:09

Sean Hagen


2 Answers

This is one of the "Things you should never do".

http://www.joelonsoftware.com/articles/fog0000000069.html

Is moving to MVC the best use of resources right now?

You can't count the hours on your own time as "free" because that is cheating. You could do anything in 0 hours of company time if it was all done on your own time -- rewrite it RoR, write it in Lisp, etc.

So, let's say that it will take you N hours to write it. Have you also added in the hours required to regression test it to make sure that it works perfectly? No? then add in another 2N hours. How about familiarizing the other developers with the new code? No? then add in another 2N hours.

So, we're probably up to 5N hours now. What are the other things that need to get done before your next ship date? Can you also fit in these extra 5N hours and still make that date? If so, what are the items for the ship date after that? Are the items that could be finished in 5N hours worth more than rewriting in MVC?

What will be the benefits, time-wise and maintenance-wise for the rewrite?

You are probably not thinking about this from a project management perspective. From that perspective, I personally doubt that a rewrite is the best use of your time.

like image 149
Larry Watanabe Avatar answered Nov 15 '22 16:11

Larry Watanabe


If this is a "small startup" with no technical person in the staff, you likely won't get any more time from management to rework most of the things already finished. "Time to market" is the keyword which they may use as explanation -> "Make it work first, fast".

I don't like it either, but this may be your reality.

like image 4
Karsten Avatar answered Nov 15 '22 17:11

Karsten