I have recently started working with the Backend team, which uses Magento 1.9.
Apart from seeing the beauty in design of the framework it does throw a challenge sometimes with its complexities.
Here each developer has its own database instance. And when a new person comes he/she is given some database instance which might be very old or if the person giving the database has maintained the database it might be sync to the current production one.
The current problem which I am facing is the database and configuration issue. Which I will address here separately.
Since magento is heavily dependent on the configurations,what happens sometimes is that the system configuration values are not correct. Which breaks the webapp unless, the reason of breaking is found and then fixed in their private database for each developer. For ex : I was working on the
Taxcalculations,but my webapp was not able to show tax during checkout due to some configuration issue. Even though for the same code, in production values are coming properly. Now, I will invest some time and say, fix it for my local configuration. When some other developer will work on the same thing, he/she has to go through the same process, which is unwanted waste of time.
In magento, we update our database using mysql scripts. There is a versioning system which checks the current version number, and if there are scripts which have higher version number in the code, it will run the script,update the database schema and new version number is updated. Problem I saw is, if in between my next pull of latest code 5 version changes have happened, and I jump from version 1.4 to 1.9, then I will only be running the scripts which came with version 1.9. Missing scripts from version 1.4-1.8. This is what I observed in magento, in my case. I might be wrong also in this one.
Since magento has been used since long, I am sure there are ways teams handle this problem. As is slows down the development process significantly. So, how can I tackle these problems.
And, as some prerequisites, I would tell that the company where I am working is a startup which has started growing in terms of team size recently only.