Development and Evolution of Agile Changes in a World of Change Thomas J Marlowe Vassilka Kirova Garett Chang Department of Mathematics & Bell Labs Consulting Highstep Technologies Computer Science vassilka.kirova@bell-labs-
[email protected] Seton Hall University consulting.com
[email protected] Omer Hashmi Stephen P. Masticola Vice-President, Agile Brains Consulting SPM Consulting
[email protected] [email protected] Abstract1,2 often been misinterpreted as lack of discipline or need of documentation, and has led to many pitfalls and disappointments Agile software development is an approach first codified in the in the implementation of agile [82]. Agile Manifesto in 2001. This was a statement of core values that became associated with a set of principles and practices. A primary motivation for preferring agile processes to waterfall, Key ideas include early and constant customer involvement, spiral, and other software engineering approaches [91] is that self-organizing teams that embrace change, rapid delivery of developing software cannot be treated as a theoretically well- value, short timeboxed iterations coordinated by a shared list of defined process in practice. Schwaber [100] differentiates items—a product backlog and driven by user stories and use between “theoretical” processes (i.e., those which can be cases, clean code, test-driven development, and continuous specified in a white-box manner from well-understood a priori integration. The values, principles, and practices have permeated parameters) and “empirical” processes (i.e., those which are not the technical and business world, translated and modified to fit predictable from theory.) Empirical processes cannot be many domains, affecting both production and management.