‘Development without any process, without any plans, and without measurements to ensure that the results meet the needs of the business is what we often refer to as cowboy coding. The
complete lack of process in cowboy-like environments is a significant barrier to success for any scalability initiatives.
Often, we find that teams attempt to claim that cowboy implementations are “agile.” This simply isn’t true. The agile methodology is a defined life cycle that is tailored to be adaptive to your needs over time, versus other models that tend to be more predictive. The absence of processes, such as any cowboy implementation, is neither adaptive nor predictive. Agile methodologies are not arguments against measurement or management. They are methodologies tuned to release small components or subsets of functionality quickly. They were developed to help control chaos through managing small, easily managed components rather than trying to
repeatedly fail at attempting to predict and control very large complex projects.
Do not allow yourself or your team to fall prey to the misconception that agile methodologies should not be measured or managed. Using a metric such as velocity to improve the estimation
ability of engineers but not to beat them up over, is a fundamental part of the agile methodology. A lack of measuring dooms you to never improving and a lack of managing dooms you to
getting lost en route to your goals and vision. Being a cowboy when it comes to designing highly scalable solutions is a sure way to get thrown off of the bucking scalability bronco!’
—Unknown.