Agile development is an umbrella term for a number of iterative and incremental software development methodologies such as Scrum, Extreme Programming (XP), Lean and Kanban. With agile, all aspects of software development – planning, designing, coding, integrating and testing – are combined in short, frequent iterations.
Agile software development is not a silver bullet, but it has forced many to rethink traditional approaches to software development and apply new ideas and techniques in an effort to build better software faster. As with any significant industry shift, a tremendous amount of fear, uncertainty and doubt generally accompany the transition.
Myth 1: Agile development is undisciplined, cowboy coding.
Fact: Continuous delivery of running, tested software every few weeks could be characterized as the ultimate software industry discipline.
Myth 2: Agile development isn’t predictable.
Fact: Agile teams are constantly planning, prioritizing and delivering against the plan and have a much better sense of where the project actually is and what can be accomplished.
Myth 3: Agile development is just another fad.
Fact: Many industry leaders have embraced and promoted agile. Agile adoption has moved from small co-located teams to large divisions and software organizations of enterprise IT.
What’s Hot: Agile Development
· Teams constantly delivering benefit to the organization every quarter, month, week or even day
· Small, cross-functional teams that communicate and collaborate on an on-going basis
· Planning projects upfront at a high level with detailed planning happening throughout the project to efficiently adapt to change
· Using historical information to plan work incrementally and predict progress
· Quality software is always ready to be delivered
What’s Not: Traditional Software Development
· Teams delivering new features once or twice a year and often missing release dates
· Large teams that meet infrequently and are too big to have meaningful collaboration
· Extensive, up-front planning crammed into the beginning of a project that doesn’t account for inevitable change
· Using speculation to plan all work upfront and “predict” progress
· Passable software is delivered late
Learn about more myths of agile development.