Why does Agile adoption fail? Why do projects doing “textbook” Agile sometimes fail. There is of course no one right answer to these questions. But we suggest the answer can often be gleaned by considering the small things. It’s quite common for projects to follow a “textbook” Agile methodology in the large, while undermining basic Agile principles in the small. We don’t suggest that allowing small problems to flourish is willful neglect. Rather, small, easily ignored nuisances or compromises in the quality of the process and product can become debilitating in size and number.
In this talk we identify two basic classes of “small things”: Termites and Baby Alligators. Termites are small things that accumulate over time. When a critical mass of Termites infest a project, structural integrity completely erodes and the project collapses under its own weight. Baby Alligators are things that start small and seem inconsequential at first, but eventually they grow up, and when they do… well it’s hard to ignore an adult alligator in the room.
Our talk identifies a number of “small things”, both Termites and Baby Alligators, that we’ve seen in the wild. Sometimes recognition and a renewed focus on quality is enough to make a problem go away. At other times we suggest a more active approach. The field where problems can lie is large, so we intend on covering a lot of ground. We touch on pure development issues like “failing to refactor tests and test names” and “missing or meaningless commit messages.” We also cover production readiness issues, like “non-representative QA datasets”, “deployment scripts as second class code”, and “network issues ain’t my problem” Software is a creative human process, and addressing the small problems that may exist in the physical environment is also critical. We’ll cover issues like “Project Managers by the far wall” and “nowhere to write.”
Our session will be conducted as a ping pong talk between two speakers. Who covers what, and who jumps in when is driven by both a desire to effectively communicate content to the audience, and to create an entertaining and enjoyable show. Similarly we’ll use copious slides, but slides are primarily visual stimulus, used to provide focus, crystalize concepts, and amuse the audience.