You Cannot Predict The Future
You Cannot Predict The Future
You Cannot Predict The Future

You Cannot Predict The Future

Annoying Critters Press
Regular price
Sale price
Quantity must be 1 or more

Attention: For textbook, access codes and supplements are not guaranteed with used items.

Arrives in 3-7 Business Days

Almost all activities in contemporary software projects try to predict the future - analyzing, architecting, programming, testing, budgeting, and scheduling. Since nobody can yet reliably predict the future, those activities cannot possibly work as well as desired.

Unknowns: Unknowns lie at the root of all software problems, otherwise someone could just fix them. Unknowns make bugs and enhancements inevitable.

Bride-of-Agile: Sponsoring-organization obligations to projects concern politics and resources. Bride-of-Agile practices include working through continual change, fostering diversity and debate, and dealing with problem stakeholders.

Determinism versus Emergence: Determinism enables productive use of existing tools and practices. Emergence provides opportunities to write new programs that will benefit others. Recent skirmishes between Waterfall and Agile extend the 2500-year-long battle within philosophy and science over causality and free will.

Polish versus Rot: The Sunrise problem sheds light on the concept of good enough for now. Quality improves through polish - analysis, programming, and testing. Quality worsens through rot - changing expectations, usages, and technologies. Technical debt embodies the economic tradeoffs of deferring polish and rot.

Coping with Surprise: Subjective search underlies Agile and Bride-of-Agile practices, helping everyone to be less wrong and to cope with surprises. Plans are essential but, alas, even the best laid plans go oft astray.

Customer Reviews