A phrase heard often in agile development practices discussions is "let the product lead." Applied correctly, these four words powerfully focus an agile team's energy directly on work that provides the highest business value. Traditional engineering practices that focus on process often divert a technology team's energy away from quick delivery of business value, and toward design of infrastructure and architecture.
Deep focus on technology decisions breaks the line-of-sight with business goals, creates opportunities for over-engineering, and requires complex tracing activities that ultimately slow the process. By focusing on implementing working software quickly, agile methodologies provide feedback loops to constrain the end result so that no effort is wasted on unneeded features or over-engineered architectures and frameworks.
By quickly delivering working software, the agile approach makes line-of-sight with overall business goals achievable and visible. This article spotlights best practices which result in an agile team keeping its “eye on the prize” where the prize is a pleased customer, receiving high-quality capabilities delivered quickly in prioritized small increments.
I was fortunate enough to attend a great team-building course led by Dan Lyons, World Gold Medalist in rowing.  This creative and entertaining class used experiences from successful 8-person rowing teams to get across several key attributes of high performing teams. The class broke down eight fundamental behaviors that were common to winning teams. Not surprisingly, all eight behaviors are characteristics found in a well-formed Agile team.
Plan With Vision
The first of twelve Principles behind the Agile Manifesto states that “Our highest priority is to satisfy the customer through early and continuous delivery of valuable software.”  While customer satisfaction is a goal of any software delivery effort, it is difficult to keep as the highest priority unless agile or lean methods are used.
Legacy engineering approaches allow for the creation of infrastructure and documentation that have little or no direct line-of-sight with the end product. In fact, the line-of-sight must be forced into existence by abstract traceability exercises, which are difficult to understand and maintain, and slow down the emergence of the final product.
Agile creates an approach that allows organizations to be driven by delivery of working software. This is by definition the highest form of business value, provided that each delivery increment is properly staged and prioritized by the customer or product manager. Creating the high level vision and keeping it visible is a trait of a well-formed Agile team. It is not uncommon for the high level vision to be referred to as the “one big thing” (OBT).
Letting the vision drive the goals discovered for each iteration is another indicator of Agile success. One good practice to encourage this behavior is to start each iteration planning session with a visioning exercise to remind the team what the planned release is about, as well as the creation of a chart to capture the goals of the current iteration. The stories that unfold to describe the work during the planned iteration should all be enablers of the iteration goals. These goals later come in handy during the iteration review (Sprint Retrospective for Scrum), where the same chart can facilitate conversation on what goals were met and why or why not.
Keep the Prize Visible
Once the release vision and iteration goals are captured, they need to become visible (see Figure 1). Justas the empty trophy case served as a constant source of inspiration for the champion rowing team, an Agile team should be constantly guided by these visible goals. An effective agile practice is to display all work underway on an information radiator.  This is the perfect trophy case to display the iteration and release goals, and all the identified work required to implement the current backlog of business prioritized capabilities to be delivered.
Figure 1: Example of Information Radiator keeping the Release amp; Iteration Goals visible