Agility involves the whole business ecosystem.
Agile has emerged as a major philosophy and methodology to run project and business today. Still, there are many roadblocks on the way, and a lot of challenges need to overcome. What are the most difficult issues in agile? What is not simple to understand or put into practice?
Bureaucracy with "fear of change" emotion: Most companies organized around functional disciplines or roles with typical scenario in a large corporation is to have agile buy - in at a very high level. Every executive or senior manager wants to think that his or her people are "agile." The sticking point in agile adoption and transformation usually lies in middle management, with bureaucracies. The dark side of agile is productivity. In other words, you can do more with less people. Class of people that is hit immediately, are the program or project managers that have no defined role in agile. Most organizations have been stuck with traditional project managements practices and are operating at a high-grounds, any change in concepts/ideas/methods will be robustly resisted. Many complaints about Agile sprout up, such as: "Agile" does not respect Scoping, Agile is weak on documentation, estimations are not visible at the start of the project or phases. Basically you will need to conquer that triangle of (Cost, Resource, Scope) etc.. and operate at a higher-ground.
Agile is challenging only to the extent that it requires constant attention. You can never just sit back and think, "I hope the team is doing good work today!" It is continual, ever-changing, and must be led by people who "get it." It takes time for the team and management to master the art of the bare minimum. However, in many organizations, people, usually management, that are not part of the team decide what the team should do. Examples are the team being forced to start a sprint while its scope is not clear and stories being removed and added during a sprint. Most difficult problem for most development teams is to think of things from the perspectives of outcomes to the users. Take User Stories. It is difficult for developers to understand and many teams just revert back to having cards with "technical tasks on."
The most difficult issue is understanding that the actual process you use shouldn’t be rigid. A cargo-cult mentality ("If I follow SCRUM to the letter, then I'll be successful") is all too prevalent, and a focus on process leads too many people believe that agile has relevance only within the engineering department. What is important is the overall culture of the organization and how to make a transition of the organizational culture into one where agile can succeed. Learn process too, of course, but don't imagine that process alone is sufficient. Since most people come with a "process" mindset, they are looking for definitive, rigid, crystal clear, prescriptive definition of agile; in practice, agile is more about iterative communication, continuous improvement and customer centricity.
Agility involves the whole ecosystem: All Agile methodologies define a set of best practices, but true agility is much more than the practices defined in a given methodology. Agility involves the whole ecosystem, including all the stakeholders, from the customers to the delivery. Partial implementation is possible with caution, because many practices reinforce each other with accumulated benefits. Agility also fully involves the corporate culture and people mindsets. This means that actually becoming Agile is a long-term venture with many concerns pertaining to the management of change, which is seldom and properly addressed. And making changes happen is a discipline in itself, the level of cultural compatibility and possible mismatches.
- The market consistency.
- The potential internal resistances.
- The overall cost and return on investment
Stakeholder education is another challenge: If stakeholders understand that "unknowns" are going to come up in Waterfall or Agile. But, in Waterfall, since scope, cost, and timelines generally don't shift, quality is the variable whether the customer likes it or not. In Agile, the same "unknowns" happen, but the decision is out there, in the open, and the customer has a seat at the table to decide how to mitigate. And Agile challenges will vary from one organization to another, so education is important for Agile adoption. In mature business environments, the functional roles and responsibilities are defined, documented and implemented in finest detail. Adoption of agile team roles in this type of organizations can be very challenging due to strong attachment to the traditional roles and titles. So if the middle- management class cannot convert to agile mode, there is much resistance.
Agile is not a destination, it is a mindset. Therefore, you must shift your team's mindset first, gear them properly towards continuous process improvement. Since it will be rare to find people already in that mindset or people that possess the abilities to do it all, one must be able to tweak their processes to approximate it.