Since the beginning of this year a lot of developers have been having to duplicate the work they have been doing.
A few examples are:
-Developers writing solutions first in either parts or accessories code base, then having to copy that same exact code into the other.
-Having to make adjustments to that solution because the two projects are not as similar as we all tend to believe.
-QA having to write twice as many test cases.
-QA having to write twice as many automation scripts.
-Developers having to make twice as many Unit tests.
-Developers to make twice as many Pull Requests(PRs).
-Reviewers having to review twice as many PRs.
-Developers having to correct the same feedback twice.
-Having to keep track of twice as many pipelines, builds, and environments.
-I believe there are features for adding the same functionality that was built already in Parts last year into Accessories.
In software engineering, there is something called DRY(Dont Repeat Yourself). "DRY is the principle of reducing repetition in the code, referring back to a single source—or "snippet"—of reusable code whenever you need it". This helps save time, creates a more efficient environment and reduces the risk of bugs. This is the exact opposite of what we are currently doing.
Adding new features is awesome and exciting, however it feels like we are more focused on playing catch up with Amazon rather than beginning the journey of our initial of goal of having a Unified StoreFront.
All of the new work we are doing will have to be adjusted again for when we merge the two projects together in the future; User will have a better experience sooner; Developers will be less frustrated when writing solutions for new features.
In Conclusion,
We can focus on one project rather than two of the same thing.