Techniques

Yesterday, I experienced how things that we take for granted can all suddenly go off the rails when the most basic practice is not followed. How complex systems, even when that complexity is carefully hidden from end users, can fail at the most inopportune time, and for the simplest reason. How this can affect the confidence you have placed in that system, thus making you think that you might need a new and better one, with more features, etc. So when dealing with complex systems, we should always remember that the more critical the system 1-the more important all the practices around it become. 2-the more important the non-functional requirements become and 3-the more important the relationships with your users become.

Read More...

The (Human) Architect
These days, who needs an architect? Really. With the Agile movement, the importance of an experienced software architect in a software development team has continuously declined. Or so it seems. Software Developers are big boys (and girls sometimes!) that do not need to be told what to do, how to do it, etc., right? Plus these architects tend to cost a lot… and they are difficult to find… so why bother? Why not reassign the tasks that a good architect normally performs to other members of the software development team and forget about it? Unless the architect has some key role to play that we are unaware of…

Read More...