Beruflich Dokumente
Kultur Dokumente
AGILE Processes
Disclaimer
There are always benefits (and drawbacks) for any decision one makes. The focus of this document is to highlight long-term expected outcomes once the decision of going the Agile route has been made. The analysis is done by addressing the major drivers of Agile ( concepts, ideas, methods) and by projecting their impact on the behavior and evolution of the software development teams, and of their products as well. The ideas expressed here are my own and do not illustrate the position of my employer on this topic
Intended to make an application future-proof by adapting easily to changes in requirements Usually translates into postponing many significant decisions on application scope, structure, and optimal implementation choice Leads to shallowness in approaching the application design/architecture Long term, with all decisions postponed, the (design) outcome is a crudely suboptimal, somewhat messy and non-maintainable application/system. Fear: Ends up in No Application Design (a.k.a patchwork)
Intended to have a shorter interval for feedback, leading to fewer delivery failures due to miscommunication. Usually translates into unnecessary fragmentation and additional overhead mainly due to over-reliance on process rules instead of the natural logic of the problem at hand.Task and Story replace application Components and Interfaces design and execution. Leads to micro-contract-based deliveries, which diminishes the developer's duties, as some of the (big picture) responsibilities got transferred over to the process. Long term, the execution will end up being judged in a more shallow way, by the progress of the iterations. This eliminates the need for overall understanding of the product (as the process is in charge), and that lowers the quality of the team. Fear: Contractor (bug-fix) culture takes over.
(Meetings) Intended to accommodate new requirements, have everyone on the same page. Usually translate into discussions being used as a "discovery" technique for the requirements and the associated tasks/stories. Leads to inefficient use of the time (only one person talking), and sub-optimal requirements collection and decision making (no time for in-depth analysis). Long term, a "culture of meetings" will lead to ad-hoc decision making with little reliance on previous research and analysis Fear: Solid analysis will disappear from the process
Intended for optimizing/regularizing the pace at which a project moves ahead. Usually translates into "process junkies" replacing common sense and domain knowledge on tracking and policing of the progress and delivery. Leads to "process owners" (i.e. agile coaches) becoming "surogate" drivers, even as they lack domain knowledge (both in the problem requirements and development arena). Long term, a reverted hierarchy emerges: non-specialists driving/owning the act of creating/building of applications, with expected quality decrease. Fear: Innovation/Creativity disappears. Mechanical work settles in.
No Application Design (patchwork) No Leadership: Who is "driving the ship" ? No Understanding: Solid analysis will disappear from the process No Involvement: Contractor (bug-fix) culture takes over. No Innovation/Creativity Bad: a degradation in quality of the products and teams. Good: are able to respond quickly to change (whatever the reason of change). Speed of delivery and Assembly-line automation are keywords here.
IS IT WORTH IT ?