Keping it simple vs. Big design up front.

I just read Jo’s comments about doing the simplest possible thing that could work here and they got me thinking.

I have spent a great deal of time teaching software design, designing for reuse and about the benefits of good architecture (be it layered or hexagonal). So I guess I’m one of those that occasionally does a little more than the minimum.

However, at what point in the project does a clean layered architecture become the simplest that could work? And, having reached this point how long is it likely to take to refactor into a cohesive architecture?

There is definitely a point at which developers start trying to predict the future and add features on the off chance that they become useful one day and this must be discouraged. Like many guidelines lets be pragmatic in the application of “do the simplest thing”.

Leave a comment

Your comment