When developing, managing, or planning a large technical initiative I have identified a personal philosophy instilled in me by a CTO that I worked directly with, “Solve the Problem, Right the First Time”.
Throughout my professional development within the tech industry, I’ve been in very high pressure situations where time frames were very tight and quick accomplishment was necessary to sustain a stable product within a competitive marketplace. Sometimes in those situations there is a tendency to solve the problem quickly with the express idea that if the solution was not as extensible or modular enough, a reevaluation post deployment will be done.
However, I’ve seen countless times where this is virtually never the case. What was meant to be a quick solution to maintain stability commonly becomes a production solution that is now expressly functioning in a primary role. “Solve the Problem, Right the First Time” forces management, engineering, and business direction to stop making excuses for solutions that are not done correctly the first time.
There will always be iterative roadmaps for technical development and business direction, that is not the purpose of “Solve the Problem, Right the First Time”. The purpose of adopting this as a team or personal philosophy is to stay accountable when problems need solutions. These solutions that get transitioned into a production environment should be solved and every concerted effort to make them correct, extensible, and modular the first time is the goal. How many times have managers and developers solved a problem quickly with the intention to come back and make it better only to abandon it because priorities shift? You are now playing the whack-a-mole game within your organization instead of moving forward with new initiatives and business directions.
Trust me, “Solve the Problem, Right the First Time” forces higher quality and better direction and cohesion within a technology based business.