Lattix Architecture Blog

Friday, March 3, 2017 - 11:29 - 0 comment(s)
“In short, the microservice architectural style is an approach to developing a single application as a suite of small services, each running in its own process and communicating with lightweight mechanisms, often an HTTP resource API. These services are built around business capabilities and independently deployable by fully automated deployment machinery. There is a base minimum of centralized management of these services, which may be written in different programming languages and use... + continue reading
Monday, February 27, 2017 - 13:30 - 0 comment(s)
“I don’t set trends. I just find out what they are and exploit them.” – Dick Clark, New Year’s Rockin’ Eve software metric guru. Management loves software metrics. They love to set goals and then measure how their employees are doing against those goals (system stability needs to be 95%, for example). Software metrics don’t have to be a bad thing, but unfortunately, they are often used inappropriately. A single software metric is a snapshot and without context means nothing. While we can all... + continue reading
Friday, October 28, 2016 - 13:25 - 0 comment(s)
Conway’s Law Almost 50 years ago, Mel Conway noticed how modularity in product design mimicked the structure of the organization that created it. More precisely he said, “Any organization that designs a system (defined broadly) will produce a design whose structure is a copy of the organization's communication structure.” Even though Conway’s Law is not a real law in the sense of a law of physics, there is empirical evidence that supports this observation. A study by MacCormack, Carliss,... + continue reading
Tuesday, August 9, 2016 - 10:20 - 0 comment(s)
Developers know that a software system will become more complex and more highly coupled over time as additional changes are made. Often this calls for refactoring or reengineering the code to make it more maintainable. Reengineering will allow you to incorporate what has been learned about how the code should have been designed. This is the kind of learning that was the original basis for the term “technical debt.” So how should we go about reengineering code that remains vital and useful?... + continue reading
Thursday, July 7, 2016 - 11:45 - 0 comment(s)
The topsy-turvy legal struggle between Oracle and Google over Java got me interested in the issues that have produced such divergent judgements and such passionate responses. Initially, it seemed that it was about patents, then it turned into a battle over copyrights, and then narrowed to fair use. And this battle isn’t over yet. As a programmer and an architect, I first tried to understand how the legal system thinks about copyright. So, I started thinking about books. A book is... + continue reading