It’s summer 2018. My boss, Adrian, asks me to join him in a Skype call with James, the CTO of a big Canadian company.
While getting to know each other, I find out that James is a smart guy with big ambition. His vision is to migrate a massive desktop WPF application to the web in the cloud.
https://csupalliativecare.instructure.com/eportfolios/5446/Home/2021HD___CHINESEHD2021
https://csupalliativecare.instructure.com/eportfolios/5453/Home/TW__2021___HD_
https://csupalliativecare.instructure.com/eportfolios/5456/Home/HD_20211080P
https://csupalliativecare.instructure.com/eportfolios/5458/Home/HD_2021Anime1080P
https://csupalliativecare.instructure.com/eportfolios/5459/Home/Natsume_YuujinchouHKTW
https://csupalliativecare.instructure.com/eportfolios/5438/Home/TW__2021__Natsume_Yuujinchou_Ishi_Okoshi_to_Ayashiki_Raihousha__HD_
I like his friendly attitude and I can tell that he is eager to collaborate with us. He already has a development partner in India, but they lack experience in building web applications.
Adrian and I follow the standard approach for this situation. We have a few more calls and then we start the discovery phase in which we try to grasp the big picture and find the non-functional requirements. These are the main points we should focus on:
https://csupalliativecare.instructure.com/eportfolios/5461/Home/2021HD___CHINESEHD2021
https://csupalliativecare.instructure.com/eportfolios/5462/Home/TW__2021___HD_
https://csupalliativecare.instructure.com/eportfolios/5463/Home/HD_20211080P
https://csupalliativecare.instructure.com/eportfolios/5464/Home/HD_2021Raya_and_the_Last_Dragon1080P
https://csupalliativecare.instructure.com/eportfolios/5466/Home/Raya_and_the_Last_DragonHKTW
https://csupalliativecare.instructure.com/eportfolios/5469/Home/TW__2021__Raya_and_the_Last_Dragon__HD_
A big application — more than 220 pages, most of which are maintenance screens and around 20% of which are highly customized.
Display large amounts of data, especially in grids with all kinds of features: grouping, column freezing, row expand, custom columns, you name it.
Modular architecture allowing multiple teams to work on the project at the same time.
Multi-year project. New features will be added over time.
No offline support is required.
Quick onboarding for new team members, especially for the .NET developers working on the old desktop application.
As an architect, my role is to create a technical proposal that contains the architecture details, approach, roadmap, guidelines, and most importantly, the technology stack that will be used.
https://csupalliativecare.instructure.com/eportfolios/5473/Home/2021HD___CHINESEHD2021
https://csupalliativecare.instructure.com/eportfolios/5474/Home/TW__2021__HD_
https://csupalliativecare.instructure.com/eportfolios/5476/Home/HD_20211080P
https://csupalliativecare.instructure.com/eportfolios/5478/Home/HD_2021Chaos_Walking1080P
https://csupalliativecare.instructure.com/eportfolios/5480/Home/Chaos_WalkingHKTW
https://csupalliativecare.instructure.com/eportfolios/5481/Home/TW__2021__Chaos_Walking__HD_
https://csupalliativecare.instructure.com/eportfolios/5264/Home/2021
https://csupalliativecare.instructure.com/eportfolios/5265/Home/_2021
https://csupalliativecare.instructure.com/eportfolios/5267/Home/___2021
James mentioned multiple times that he wants a future-proof technology, and he is not in favor of Angular because it has a bad reputation after AngularJS got deprecated.
I had already successfully implemented a few small and medium-sized projects using both Angular and React, so I am not really attached to any of them. I feel that either could do the job.
For this project, I pick React with Redux… which I will regret two years later.
We assign a team of three developers to work on the proof of concept, and after two months, it’s a success. Super-responsive user interface, blazing-fast build time, and high development speed. Everyone is happy.
author:https://bodoc77671.medium.com/
Authors get paid when people like you upvote their post.
If you enjoyed what you read here, create your account today and start earning FREE STEEM!
If you enjoyed what you read here, create your account today and start earning FREE STEEM!