Should you upgrade your Magento store at all? Developer view
Tags: adobecommerce, magento2, mageos, webdev
Published: 2023-10-27 15:45:13

Hello everyone. 👋 

This article will be a bit less technical and more about the value of the upgrade for store owners. However, all of my thoughts would be described from the view of the developer that design, implement, and maintain such stores - so expect at least some level of technical expertise and judgments here.  
Obviously, we would speak in contexts of Magento 2 / Adobe Commerce / Mage-OS - but I believe that findings and ideas described here would be useful for Shopware too, as well as for any other e-commerce system.  
So - lets move on and have a small walkthrough of this topic. 🚶‍♀️🚶‍♂️

---

## What does any upgrade bring us:
- new features
- new possibilities for developers
- bugfixes
- security fixes
- agility - possibility to upgrade faster to all future New versions

Let’s check each point and ask next questions:
- What value does it bring to the project?
- Price?
- Do we need this value?

---

### New features

#### What value does it bring to the project?
New business possibilities for store owners. Or improved UX in case it is an upgrade of Hyvä.  
Or improved code execution performance ( yes - I think it is a feature 😄 ).

#### Price?

Is it free? - YES. Then we need it!  [ actually, it is not free - see my explanation below ]  
That is what the client says 😄. For him, it looks like a FREE fancy addition to all the hard work that is going to be done.  
Not all features from the upgrade can be easily adapted if we take into account all customization project already has - the minimum you should consider is styling, maximum - is rebuilding business logic from top to bottom.

#### Do we need this value?
If the store owner needs a new feature - the store owner would ask for it explicitly. 😄  
**Answer: more NO than yes.** At least in scope of the upgrade.

---

### New Possibilities for Developers

#### What value does it bring to the project?
We have some variations here, but here is a compilation of the benefits it gives us:  
- build code faster
- Make code less shaky & buggy

#### Price?
Is it free? - YES. Then we need it!  
That is what the developer says 😄 (déjà vu). And again - it looks free, but there could be a clown that eats you alive. 🤡  

#### Do we need this value?
**Answer: It depends - but more NO than yes.** Unless it is a painless upgrade from php 5 to php 7 - then totally yes, yep?   😄
Don't get me wrong - I love new technologies and new versions of old ones, and I wish to work on the edge of tech!  However, is it worth it here and now? 🤷

I would plan tech stack upgrade not as an additional point to the system/extension upgrade - but as quite a big chunk of work. So plan carefully and do not think it will be magically transferred without any effort.

---

### Bugfixes

#### What value does it bring to the project?
less bugs 😅

#### Price?
Is it a pain in the ass? - sure.  
Is it more expensive than just fixing it by yourself? - usually, no.

#### Do we need this value?
**Answer: Yes in 99% of the cases. Other 1% - Developer decides.**  
Upgrade is a tool to achieve a goal - in this case to fix the bug/bugs. But monkeypatch is also a tool 🙉.  
Choose wisely!

---

### Security Fixes

#### What value does it bring to the project?
Shop won’t be spammed / hacked / Arbitrary code execution won't happen.  
e.g. - no disappointed buyers attack you 😸

#### Price?
Well - security is priceless 😎  
However, sometimes it is cheaper to just transfer security fix changes - if you know what and where to transfer, which is not usually the case.
Let’s say it this way - I would not risk the security of my client to save another couple of hours on an upgrade.

#### Do we need this value?
Yes - we need it. Always.  
**Answer: Yes.**

---

### Agility - you can upgrade faster to all future NEW versions

#### What value does it bring to the project?
Constant upgrades -> minimise time spent on one particular upgrade.  
e.g. - clean your home once a week and it takes you half an hour, do it once a year - you would cry for help and won’t finish in a days 🙉

#### Price?
Do upgrades constantly - usually, once a quarter you have a patch upgrade, and some small p1, p2, p… versions during the quarter. Also, once 1,5 years, you do the bigger upgrade (Minor by semantic ver and somewhat Major based on Magento lifecycle ).
In return, you will get a healthy webshop with a high level of agility to get new versions. Recent security patches once again reminded us how important it is to be on the edge (see [APSB23-50](https://helpx.adobe.com/security/products/magento/apsb23-50.html) ).

#### Do we need this value?
I afraid so.  
**Answer: Yes.**

---

### Sum Up
We need upgrades. As a minimum for security and agility needs. But also to keep the shop healthy and without technical debt.  
It also gets in use for other points from our list and can be useful or harmful for different points.  
Upgrade, as an ability, needs to be used mindfully but not blindly 🙈 Build correct expectations from your upgrade, estimate, and plan your work accordingly.
Last but not least - explain why upgrades are needed and what is going to be delivered with this specific release.

Hope my a bit structured thought flow will gonna help you to understand upgrades, what we need to take out of them, and how to communicate it right.  

Chao Kako ☕