So here is the issue we have at the company we work at : The company consists of 2 back-end developers and 5 front-end developers. We make websites mainly in PHP/MySQL -> html/css/jquery.
Currently the front-end developers use an somewhat outdated code-source consisting of an basic company-owned CMS systems and use the modules created for previously build websites over and over again. They are creative and are able to build good website, the issue with this method of work is the lack of source control and development tracking. The code is outdated and not meeting the latest appealing functions php has to offer.
one back-end developer is currently building an CMS system based on the YII framework and a whole lot of pieces of code gathered from github and glued together. The main issue at the moment are :
- Current CMS Development has exceeded over 1.5 years
- The Developer did not check/study the current working CMS so is building an system not entierly based on the company/clients demand.
- The system exceeds 45MB of code, Yii & CMS & all the glued bits and pieces found on the web. which makes is overkill for small websites.
- Between Yii & CMS there is an new layer (basically overloading classes with other/exra functionality ) that is not documented and therefor making the Yii code library not complete.
- Some functionalities that are build are not needed at the moment nor in the near feature.
- Own programming standards used by the developer, disregarding the many good standards there are, like zend or symfony offers.
The CMS at current state is only able to :
- manage pages
- create/send newsletters
- manage news
- integrated ckeditor/ckfinder
All the other modules, the small ones, are supposedly easy to build through generators. the bigger modules like webshop/shoppingcart have to be build by hand and due to current structure 'evolved by not looking at company's demand' will take more time then initially guaranteed.
Problems i forsee:
- The learning curve for the front-end developers is way to steep for the front-end developers to learn YII in a way they can use it properly.
- New joining developers need to learn new standards and an system that has many non-used functionality making it utterly confusing.
I am the 2nd back-end developer and mainly work with the existing code for projects and made many improvements to it so that is meets the current demanding standard and made it in a way the current front-end developers can also work with it.
Since I joined last year from the beginning I have complained to my boss that the CMS in making will not work for the company however he can't or is not willing to accept my concerns. The other front-end developers now see the problems they are about to face and have complained about it to. in fact one of the main front-end developers has already left the company due to this.
Today the boss openly said to me that he finally understands my concerns and those of my fellow colleagues. however since he financed 1.5 year of development about 70.000 Euro to pay this developer he is afraid to budge out now and start all over again,. but since it is not finished yet, and much still to do, he is considering this option.
Finally the question : What would you advice my boss?
would you continue development with this system and when it's finished (if it finishes) pay another large amount to train the front-end designers to learn a system that is not exactly what you need.
Budge out now whilst he still can afford it, and use another system, open-source maybe.
( your opinion )