Making software architecture more agile
For many years, I have designed and developed architectures using traditional methodologies, in which exhaustive initial analysis was paramount and necessary. The resulting global architecture was ...
For many years, I have designed and developed architectures using traditional methodologies, in which exhaustive initial analysis was paramount and necessary. The resulting global architecture was ...
The options or methods recommended in agile environments with respect to estimation are: Estimate in abstract story points Completely unlink time by freeing it from pressure using story points. I...
The Lean Startup method represents a new approach that is being adopted worldwide to change the way companies create and launch their products. Eric Ries defines a startup as an organization dedica...
Brooks’s Law Adding more people to a late project makes it even later. Fred Brooks Conway’s Law Any piece of software reflects the organizational structure that produced it. Melvin Conway Cope’...
For the past few months, I’ve had the opportunity to perform implementation, configuration, adaptation, and transition tasks for SQL queries on a high-performance web application using Apache Solr....
Refactoring is a software engineering technique to restructure source code, altering its internal structure without changing its external behavior. In code maintenance, it is one of the most commo...
Complementarity Each member masters and has the specific knowledge of a certain part of the project. We are all very ignorant. It’s just that we are not all ignorant of the same things. Albert ...
A few years ago, Steve Jobs summarized his life in fifteen minutes in a speech for Stanford University. Reflecting on his speech, it is almost inevitable to think: You have to be lucky… Of course, ...
When designing and developing software, it is important to keep in mind a series of fundamental and basic design principles that every programmer should know and apply to develop clean, quality cod...
Set of principles that define an aspect of the application at a high level. The main aspects are: Communication, deployment, domain, interaction, relationship and structure. The normal thing in an ...