Showing posts from October, 2020

UML Hidden Gems

UML . Ouch. OK, Diego don't you have some newer or shinny or sexy to talk about. Well, it's 2020 right? So jokes apart.  UML is modeling language from the 90s. Software Architecture and Software Engineering evolved a lot in 30 years. So is UML still relevant? IMHO Yes and No. The part that I dont think it makes sense is the notation part of the formalism part. Visual diagrams can be simple enough to be understood and you can survive without notation language. So if UML is not about the notation what is about? Or why there is value in UML in 2020? Questions that I intend to Answer in this very blog post - Let's get started.

Small Product Teams are Overrated

  So if you read my previous post , I saw saying that for Platform / DevOps you dont want to have 1 single team but several small teams actually. However, when we are talking about Product Teams I believe we need to go the other way around. Could we have small teams in the product and yet be a good thing? Well depends. IF the Product teams are completely autonomous and selling their own product or completely independent module in sense of the business (Meaning autonomy is a business construct). Well for that case yes, have smaller and more teams will make sense however in practice what happens is the other way around. What happens is that many small product teams tend to create small microservices with have dependencies on each other and at scale, it becomes more problem they benefit. In order words, business verticals or bigger scoped SOA Services would make much more sense and also would fix several problems that small services at scale tend to create. If you want to know more about

Central and Unique Platform teams

DevOps it's a mindset, Skillset and it's not a Department. It's very common to see in the technology industry Centralized and Unique DevOps/Platform Teams. IMHO we are still not there. Most companies are still catching up on AWS and DevOps Engineering skills such as (Networking, Terraform, Observability, OS/Linux, etc...).  So DevOps centralized teams tend to be "Gate Keepers" for good practices and hygiene and several times cost zealots. That's is fine and has value, dont get me wrong. However several times unique and centrlized teams are just a pure form of a bottleneck. AWS has great infrastructure and tons of purpose-built services, I would argue most of the time you dont need to build anything in front of it. Using AWS directly could be coupling but as long as you use open APIs you should be fine. Several years ago I use to be bottered by coupling solution with ORACLE and with AWS the coupling is much bigger, not sure if any company would ever leave AWS,