Agile is one of those terms in the IT world that can be overused and misunderstood. At its core level, Agile is an approach to development intended to deliver the correct working software more efficiently and cost effectively than previous waterfall methodologies. Properly applied Agile provides a framework and norms for a highly capable, disciplined team to execute their work. When it is coupled with lean principles, it incorporates validated learning to help achieve the highest return features in an application, tool, or system without big, upfront planning.
When Agile team process and norms are not clear or enforced, this results in a chaotic development process that can lead to scope creep and team burnout. The client does not receive the true benefits of following an Agile process. Unfortunately, this false Agile is prevalent in our industry.
In our lunch and learn, we discussed how to recognize when Agile is being used in name only and steps to help our teams and clients practice true Agile principles.