What Programming made me realize is that, the one thing which you want to throw under the rug, The edge case you may be afraid of, the shortcut you are taking to avoid writing some proper conventional solution, will come back someday straight to your face like a devil. How powerful and damaging effect its existence at that point of time will either be defined by how long the issue have been kept under the rug, ignored, or the the obvious, how many users in production have been affected by it. The sufferer may be you or the one, who may join the team someday, after you are gone.
I do believe this cannot be handled perfectly, seems nothing can be, but It there surely are conventions. According to me, If I summaries, most of it boils down to the below points. However obviously there can be other aspects to this as well.
How good the ‘Architect’ of the solution is.
How much emphasis the Architect gives to the correct design while competing with the tight timelines.
How good the architect is at convincing the POs’/ non technical staff, to make them realize that a few days given today to the implementation can save many man hours of the future. I believe this aspect is very important , and someone who follows this is the candidate of the all limelight, but pity that, such great minds have to live life in the shadows most of the time as nobody can quantify/appreciate the effort when everything goes well. But highlight the wrongs or bring out the alternatives, when the ship is sinking.
How collaborative you and your team is, what culture you have cultivated in the organization. How good listener we are. Our brain is sophisticated computational device. Believe that you are good enough to solve a problem, believe that the opinion of the others matters. Always allow the team you are working with to give inputs. If somebody is not speaking, involve them politely, ask for suggestions. Sometimes people just don’t speak because they are just hesitant that what if they will have to face insult or they will get laughed at for their ideas. Sometimes a small interaction/input from them can save some crucial time and they may bring you the scenario, which If not covered would have been catastrophic in production.
One have to understand and believe that rules and conventions are not just to be preached when somebody else goes wrong. Fight the urge of the short term gain.