WiP Ltd
This is the fictitious company that owns the eShop application
2017 - 2023 Current Structure and Application Base
WiP was formed in 2017 by a team of developers with a vision of developing an online shopping platform selling merchandise targeted towards technology companies such as Microsoft, Google, Amazon Web Services, Apple, IBM, RedHat, Oracle, etc. Each team member came to the table with a set of core development skills that could be harnessed to build the application in a speedy way. There was consensus amongst the team that even though they had broad skills, they should build that part of the application that really matched their skills and enthusiasm.
The initial team were
Sean - backend Java developer
Simon - backend .Net developer
Marina - frontend Angular developer
Raj - Linux and Docker expertise
After a few months of development, they brought in Kat (Katherine) on a part-time basis to manage the legal and finances. Legal activities only warranted 1 day every two weeks, and financial activities were 1 day a week (making sure everyone got paid, chasing the odd invoice, organising end-of-year figures, and dealing with VAT. After a year of developing the app and trying to sell to the conferences it was decided that Kat was always great at liaising with clients and it was decided that more time was needed for marketing the app, a vote was taken and Kat was assigned the additional role of Marketing.
As sales increased, the team realised that they could make a living out of this application, so there was a meeting in March 2018 to decide whether each of them was willing to take the risk and take the plunge by immersing themselves 100% into this fledgling business. Everyone except Sean voted to give 100% to the business. Sean retired from the business, but after a few months, it was clear that someone with real DB skills was needed and some Java skills. Jake was brought in predominately for his DB skills but also his Java skills.
With Kat at the helm pushing the sales and networking with clients, the product and sales grew, and the team needed to decide as to whether the application should be an open-source or private code base. It was decided that for the moment it should be kept as a private code base. But the team could now see that they needed to operate at a more senior executive level if they were going to take what they were doing to the next level. An application platform that could be deployed within organisations. They needed someone who could operate like a Managing Director (MD) and interact with corporates at that level. The team was reluctant to take a business loan and decided that one of them should assume that role until there was further growth and then someone could be employed in that role. Raj took on the role.
Current code base: https://github.com/dotnet-architecture/eShopOnWeb?tab=readme-ov-file
Current stakeholders
Pre-COVID
A team of people who heavily invested emotionally, time, and money into a product.
Kat is now the Sales, and Finance director, but also deals with legal
Raj is the MD and lead Linux and Docker developer
Jake is the DB specialist with Java skills
Simon is the lead .Net developer
Marina is the lead Angular developer
COVID
The team has to rethink if they are still in a position to make money out of this application.
Sales drop because of the lack of conferences. The team decided that the only way for this product to continue to grow and make money out of it is to open-source it. But this will require a new strategy. They will need a core product with an open API. This will allow the product to be extensible but remain within their control as to its direction and growth.
The core API will be hosted in the cloud and portable across any number of cloud platforms.
Early 2023 to Date
You have been brought in as a Solution Architect to help the team move the application from its current position, a private code e-commerce platform to an open-source e-commerce platform that is highly extensible through an Open API that will be part of the core application base.
New financial backers are willing to fund the project, £800,000 has been put on the table, but this means replacing the MD with someone who is financially backing the project. The team agrees to this because they remain the primary shareholders with the main casting votes in all decisions. The new MD is called JJ. He’s a no-nonsense businessman and has worked for small and large companies in the private sector. He is straight-talking and is being paid a lot of money by his paymasters (the financial backers) to deliver a 120% return on their investment within 1 year. If he can pull this off, the financial backers will put a further £1M on the table for further development. They believe the product has weight and can deliver what they are asking for.
What are the financial backers asking for
120% return on their investment
The application to become a noticeable competitor to other e-commerce platforms currently on the market (most notably platforms like shopify)
The application to be scaleable and future-proof given the current prevailing technologies in the market
What do the team want?
An application that can be scaled and deployed into the cloud (there should be no restriction on which cloud provider is used)
Improved security on the application
Technical debt to be identified and a mitigation plan for dealing with the debt
The application landscape is to be documented so that new employees can be brought in to help upgrade the application landscape
Better integration between the application and the product merchants, currently this is managed using an Excel sheet, all data has to be manually input, and stock management is done manually
Better delivery system. Currently, someone is brought in to manually ship products to the clients
The eShop application pulled out and simplified so that other organisations can use this part of the application landscape without the entire technology stack
As the SA, you will need to have further discussions with the team to understand why they want to do this
Â
https://celestialconsulting.atlassian.net/wiki/spaces/DA/pages/3261333652
https://github.com/dotnet-architecture/eShopOnContainers/tree/dev