Sunday, November 30, 2014

Anti Pattern for December Fast Beats Right


The title of the anti-pattern is Fast Beats Right. The sub title is “A few hours? We don’t have that long”

The elaboration is read as: The practices of rushing a project and taking shortcuts to meet a delivery deadline, usually resulting in poor quality work that will require more effort to maintain in the future


This link provides some further reading on the anti-pattern ( including an interesting photo). For your convenience I quote it as following:

The Fast Beats Right ant-pattern alleges that it is always better to just get something done, regardless of quality, than to invest any effort into doing the job right.  In software development, this quickly leads to taking on Technical Debt, which can be useful and worthwhile in order to meet short-term deadlines.  However, unless it is paid down quickly, its long-term consequences can eventually lead to project failure.

Quotes


"There's never enough time to do it right, but always enough time to do it over." - Jack Bergman

In my decades of software development career, I realized that the some of those who practices this anti-pattern did so intentionally. They just want to get things done and do not want to invest time and effort to do it right. I have seen many in project leadership position do so intentionally.  The long lasting effect to the project is devastating. At the end of it, the project will pay back the technical debt  with interest, sometime it could means failure of the project. There are also people who did so  unintentionally, Due to lack of knowledge and or discipline in software development , programming,  they did what they know how to do, but not necessary the best way. If you ask them why they did what they did, likely you will get response “I do not have time for it, I was in the rush. In order to do what you are talking about, I need more time.” The reality is that even if you give him the time he is asking for, he would not know how to make use of the time and produce better result. “I need more time” is nothing more than an “convenient excuse”

This remind me watching adults playing chess when I was a kid. They took time to think and think,  in most of time, my patients s ran out before they made next move.  I thought I got the next move way before they do…. But when my daddy one day agreed to play the game with me, I lost the game terribly, When daddy asked me to time more time to think before making move, I realized I do not know how to use the extra time to think, what to think, how to think. I end up still making bad move. To use the time effectively one need to be skillful and knowledgeable. The same is true in software programming.  Less qualified developers meet with less qualified architects , project managers will likely result in “Fast Beats Right”  and “Fast Beats Right” will likely result in more difficult down the road, or even the failure of the project. At the end of it  have needing to "do it over"

No comments:

Post a Comment