BlueprintOften you hear that you can't compare software to building houses. You cannot change houses the way you change software, YAGNI and all that stuff. However, when it comes to software from an UI perspective it is somewhat like building a house. It all has to fit together smoothly. If you work with the interaction and UI using YAGNI or similar concepts you may head in a really bad direction. It may work for the first few features added, but as well as in the object model you may end up being forced to refactor your UI.Well, this is where you hit the brick wall. On the underlying architecture, if you get into this situation you typically start refactoring using small steps, slowly remodeling the parts that you really have to refactor and leave the other stable parts as they are. They are still well tested, work good and have a clean interface but they don't match the current thinking anymore. But that’s not a problem in itself. You will get to those parts when you bump into them often enough to need a refactor like in Three strikes and you’re out.However, if you find that a metaphor in the UI don’t work for some of the new features you work on in this iteration, sprint, or [insert agile hype here] you have some work to do, you cannot just change the metaphors for the new parts. You are really forced to do a full refactor of the UI. Go over every piece to make sure it’s consistent. If you don't, you are really not doing your job. The user will end up confused by the UI and interaction pointing in different metaphorical directions.So in the UI you are really building your house, if you make a hole for a door and suddenly find that it should be a window you have a lot of work to restore the lost parts. If you rip out one part of the UI the other parts has to be correctly connected. The UI has to be planned around all features and point in the same direction - not only the task at hand. This means up front design and architecture, it doesn’t have to the be scary type of the past. But if you don't keep the vision in clear view, you will end up with a lot of good building pieces but they won’t fit together. But with the bigger picture to lean back on you can still work out the details in all its agility.