Skip to content
#Architecture

Minimum Viable Architecture • Randy Shoup • YOW! 2022 (Category Architecture)

#Architecture #SoftwareArchitecture #SystemEngineering #DistributedSystems #SystemDesign #SystemThinking #Software

Another one. pitch Randy Shoup, VP Engineering & Chief Architect at eBay. Previous Post “Improving Software Flow” told Earlier, gave me ideas for one of his reports, which will be in the fall:) In this report, the author explained that it is worth starting with an MVA. (Minimum Viable Architecture)It is similar in concept to MVP. (Minimum Viable Product). He began his story with the early architecture of eBay and Amazon, which evolved over time. Point was that if these companies had started with a more complex architecture, we might not have known about them - they would have simply lost out on the competition to those who made their MVPs at the MVA:)

Then there was a story about the types of architecture that will match the life cycle of the organization starting.> scaling -> optimizing 0) "Prototype" architectureWhat is needed at the idea stage (before the steps described above) It’s cool if you can do without technology:) 1) "Just enough architecture" for quick iterations at the starting stage. Here we will need monoliths on the technology that is popular and easy to write code. It is often more convenient to buy ready-made boxes than to write them yourself. At the same stage, it is good to immediately make a modular monolith, use CI / CD practices, TBD and feature toggles. 2) "Scalable architecture" To this stage, Randy's assessment comes only 1Percent of applications. It starts with when it’s time to redesign. (velocity falls, you need to release some daployments separately). Here comes the time for stream-aligned teams from Team Topologies, it is also necessary to change technologies to more productive ones and use asynchronicity more actively. It is also worth separating systems by domain. Microservices often appear here. The cool thing about Randy is that he's sorting out incremental migrations from old systems to new systems using through vertical slices. 3) "Optimizing" Here teams become smaller and the main goal is to stabilize the architecture and consolidate the individual parts of the system so that their operation is easier.

#SoftwareArchitecture #Architecture #SystemEngineering #DistributedSystems #SystemDesign #SystemThinking #Software