For someone who is unfamiliar with the game of golf, the concept of a driving range must appear to be an oddly unusual activity. There's little variation, as each individual is attempting to mimic an identical swing every single time.
Repeated.
Hundreds of times.
The only change is the lofted angle of the club. This exercise seems rather mundane, but a decent portion of the population finds it rather compelling. It is one of the most challenging skills to master, and achieving the level of consistency it takes to be a respected player, seems to be the driving force behind an individuals desire for the game.
Consistency is inherently time consuming. It takes a significant amount of repetition, practice, and patience to become consistent at a particular skill. The reason consistency is so important within sports or within any business is its ability to drive expectations and perform confidently within an activity.
Managing and predicting consistency will lead to a more successful outcome. It works with anything. Being consistent doesn't necessarily mean doing things perfectly, but it allows an individual to adjust and account for deficiencies. It's a mechanism to manage performance as one has a good indication of an outcome through repetitive action.
Consistency in Software
As much as consistency is imperative in sports, it is equally as important within software. As annoying as missing two consecutive shots in different directions, having a user interface perform irregularly can be detrimental to a user's experience. The expectation when using an application is that it performs the same way each time you load a page or click a button. If a page renders inconsistently, people will stop using it. Adding more and more content seems to be a commonly used solution, but having a simpler ecosystem generally helps promote repetitive behavior. It's not a coincidence that the most used applications are also the most consistent. People always want more value, but not if it comes at a higher cost to performance.
Not only is consistency an integral part of a UI, it's additionally crucial to back-end components. Using machine learning as an example, it allows for a system to continually learn and adjust by identifying patterns and characteristics within data. It works in the same way as a beginner would learn how to putt, through continued practice and adjustments on a green. The more training data and time given to a model, the more consistent and precise it will be at identifying certain data points. The most difficult part is putting in the hours needed for the model to become consistent and effective, but it's a necessity, as it's the base to any platform.
Increase Efficiency within Teams
The integral part of an application all needs to be in sync, just as much as each development release and its team members. Consistently performed work, leads to more accurate planning. The use of repeatable code helps reduce defects. And the habit of formatted requirements and repetitive testing creates a functional application. Having a uniform team, plan, and execution will lead to consistent work and expectations. Everything involving the development of an application is interconnected and is fully dependent on putting in the time and effort required.
Many applications get consumed by wanting more content and trying to produce it immediately. Nothing of great quality is generated quickly, as it defies the general principal of mastery. The concept being, if it's easy to do then everybody would do it. This requires more dedication and effort to create separation and doing it in a consistent manner will only accelerate things faster. One technique to increase efficiency, is by creating requirements, development, and releases as simple as possible, especially in the beginning stages. Biting off more than one can chew will lead to larger and more complex development efforts, ultimately generating more defects throughout the process. The point isn't to create a usable end product initially, but through multiple iterations and releases, the application will grow into a functional system.
Most people don't practice golf because it's enjoyable, but rather because it's a necessity to become better. I believe Ben Hogan sums this up the best when he said, "the most important shot in golf is the next one." The same applies to any software, as the more consistent an application becomes, the more successful it will be. This subsequently creates more accurate expectations, allowing for mitigated failures. The key is to continually progress and not get caught up on prior setbacks.