What does "Agile Development" mean to you?
Feb. 5th, 2014 01:33 pm![[personal profile]](https://www.dreamwidth.org/img/silk/identity/user.png)
[Not strictly aimed at programmers, this time -- I'm interested in hearing from anyone in the software field who has an opinion.]
I was in an interesting discussion on one of the Scala mailing lists last week, and we wound up off on a tangent about "Agile". My correspondent described how he strongly dislikes Agile, and why -- and the interesting thing to me was that his definition of Agile not only didn't match mine, it was in some ways directly *contradictory* to mine.
I've been starting to realize that, 15 years into the process-management revolution in software, the term "Agile" has become ever-squishier. This hasn't been helped by management consultants who sometimes spout complete nonsense, or more often take a specific dialect of the idea and say "This is what Agile means".
So here's a quick question, aimed at my many techie friends: what does the word "Agile", in the context of software development, connote to you? What are the two or three *most important* aspects of it? I'm not looking for answer just from the experts here -- I'm at least as interested in the viewpoints from the people who have only been reading about it in the trade press or blogs, and what impressions you have gotten. And I'm curious whether the viewpoints and priorities differ between, eg, the programmers and the project managers.
(I have strong opinions about this myself, of course -- I've been an active proponent of some of these ideas from almost the beginning. But I'd rather hear your viewpoints first, before I spout off...)
I was in an interesting discussion on one of the Scala mailing lists last week, and we wound up off on a tangent about "Agile". My correspondent described how he strongly dislikes Agile, and why -- and the interesting thing to me was that his definition of Agile not only didn't match mine, it was in some ways directly *contradictory* to mine.
I've been starting to realize that, 15 years into the process-management revolution in software, the term "Agile" has become ever-squishier. This hasn't been helped by management consultants who sometimes spout complete nonsense, or more often take a specific dialect of the idea and say "This is what Agile means".
So here's a quick question, aimed at my many techie friends: what does the word "Agile", in the context of software development, connote to you? What are the two or three *most important* aspects of it? I'm not looking for answer just from the experts here -- I'm at least as interested in the viewpoints from the people who have only been reading about it in the trade press or blogs, and what impressions you have gotten. And I'm curious whether the viewpoints and priorities differ between, eg, the programmers and the project managers.
(I have strong opinions about this myself, of course -- I've been an active proponent of some of these ideas from almost the beginning. But I'd rather hear your viewpoints first, before I spout off...)
(no subject)
Date: 2014-02-06 01:52 am (UTC)*2 week sprints. Undone work rolls over.
*Sprint planning, estimating, horsetrading on the first day of each sprint.
*Short scrum every morning.
*Work estimate (story points) then horsetrading.
*Dev, QA, Ops, Stakeholders work .... shudder...together.
*End of Sprint retrospectives.
What really happens at our company:
*Everyone MUST communicate with everyone else ALL THE TIME.
*We have a very strong leader, as well as underlings who cannot be pushed around.
*Not caving to management, but rather educating them. (Takes a long time, but it's worked.)
*But, communication is constant and isn't always easy.
*We have process everyone has bought into, and we follow it very closely.
*NO sprint creep, no extending a sprint, and no adding to a sprint.
*Sprint retrospective: we do very very well on these now. The first few months were raging screaming matches. Now we make lists of the Good, Bad, and Questionable. Each person casts votes, and we work to fix the most problematic over the next sprint. Everyone, including interns, participate in retrospective.
*We take QA very seriously. (Ask OANDA and Knight Capital just how expensive fuck-ups in Forex trading are.)
*Estimating is still the hardest thing to get right. Very frequently, we don't. We also don't establish a release deadline until a month in advance, and we won't try to achieve a deadline "at all costs". That has proved to be far too expensive to our labor.
*Oh...and no project managers. We had one of those once.....
I think to sum up, for me Agile equals Talking and Paying Attention when others talk.