Over a million developers have joined DZone.

The Effects of Agile on Long-Term Focus

· Agile Zone

Learn more about how DevOps teams must adopt a more agile development process, working in parallel instead of waiting on other teams to finish their components or for resources to become available, brought to you in partnership with CA Technologies.

It was over ten years ago that Agile was introduced to the development world. In that time, the development methodology has found great success. It has been implemented in organizations of all shapes and sizes. Its core values of small, iterative cycles, frequent deliverables, and measurable progress have become very attractive to businesses. Scrum, Feature Driven Development, and Extreme Development are common implementations of Agile. Although each approach has its differences, they strive toward the same result. At a glance, Agile is an excellent tool in battling unnecessary development and dissatisfied stakeholders. These elements have plagued software development projects for years. Agile's short programming cycles often promote a common question. What about the long-term focus of a project or product?

This is an important question that should not be overlooked. Application architecture and feature direction should not be taken lightly. A poor decision at this point can lead to customer frustration, low employee morale, and an overall lost of productivity. Although short iterations do not inherently encourage long-term thinking, Scrum's concept of a product backlog helps. The product backlog is a placeholder for all future requirements outside of the current iteration. These requirements are prioritized by constraints such as risk and business value. Continuous grooming of the product backlog is also encouraged during each sprint. So Agile has it covered, right? Not quite.

Although Agile lays the foundation for long-term thinking, the framework and execution are left to the team. This is unfortunate but can be overcome. Agile's support of self-organizing teams allows for the proper implementation of a framework. It's important for teams to define guidelines for managing long-term planning, focus, and grooming. The following section outlines a few strategies...

  • Provide a quick status on long-term initiatives after each iteration.
  • Setup recurring "long-term focus" meetings to discuss product direction, technical considerations, company goals, and much more. These are separate from task oriented meetings such as grooming.
  • It's important to openly recognize and clarify short-term versus long-term solutions to areas such as problems, requirements, and conflicting priorities.
  • If possible, avoid cannibalizing long-term planning for the completion of an iteration. Make it a priority.
  • Provide an easy way for team members and stakeholders to contribute to the long-term direction.
  • Build in break levers for team members to red flag work that might have potential long-term effects.
  • Each team should assign one or two individuals such as a senior developer, team lead, or architect to help maintain the long-term focus. Including all teams members is not an effective use of the team's effort.
  • Group items into themes and keep them in a visible location for continuous reference.
  • Communicate, communicate, communicate. Constant conversation is key to avoiding long-term pitfalls.

Discover the warning signs of DevOps Dysfunction and learn how to get back on the right track, brought to you in partnership with CA Technologies.


Opinions expressed by DZone contributors are their own.

The best of DZone straight to your inbox.

Please provide a valid email address.

Thanks for subscribing!

Awesome! Check your inbox to verify your email so you can start receiving the latest in tech news and resources.

{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.urlSource.name }}