Category Archives: Software Architecture

Software architecture refers to the high level structures of a software system, the discipline of creating such structures, and the documentation of these structures. These structures are needed to reason about the software system. Each structure comprises software elements, relations among them, and properties of both elements and relations. The architecture of a software system is a metaphor, analogous to the architecture of a building. Software architecture is about making fundamental structural choices which are costly to change once implemented.

– Definition from wikipedia.

Coding standards wont save your project!

Coding standards are usually the first thing that management jumps to when a project starts to show the following: bad system performance slow developer performance bug explosion long delivery times, developers unable to do proper estimations The reason for this is usually cause they do not know what else to do and feel desperate, something… Read More »

Unit of scale is important!

3  weeks ago I got a request to come and consult at a company. They needed help with scaling their software into the azure cloud. They are a small company with some google funding. I arrived and found that they were already using azure. They have a web app that contains many many web api… Read More »

My week of TOGAF training.

I spent the last week on a TOGAF 9.1 course in the hope that it will assist me with furthering my career by moving out of the developer role and moving myself further down the road to become a security / infrastructure architect – roles that I already partially fulfill. Why? After 19 years of coding I… Read More »

Why software projects fail – Oh no, we need a re-write again.

What is a failed project in software development? In my opinion it is any project that fails to be delivered within a planned timeline or fails to function for the reason it was created for. The more technical reasons why a project usually fails or falls behind are related to cost overrun, usability, performance, security, scalability and extensibility. Some… Read More »