How 774 Developers Really Feel About Agile
Everyone knows you can do [methodology] wrong. But how do developers feel about software development methodologies they do use?
Join the DZone community and get the full member experience.Join For Free
Agile is great, agile is terrible, no you're just doing it wrong, Scrum is the best, that meeting is not a scrum, it will take however long it takes, that's not good enough why do you not care about customers, have you ever even written code, what about Extreme Anarchic Behavior-Driven Feature-Flagged ScrumBanSecUXOps (EABDFFSBSUXO)?
These kinds of experience-driven debates are good for communicating within teams and within organizations. But it's hard to generalize anecdotes about something whose objective measurements are notoriously expensive (function point analysis or bust..well we have a budget, guess it's bust) or gameable (we need higher velocity by story points? man, you know, polymorphism is hard, let's add a story point multiplier for bothering about responsible inheritance) or misleading in isolation (cycle time is short but the new feature is just a function that converts CMYK to hex??) or just vague (can you really generalize business value across any set of firms? especially in a young problem domain?).
So let's steer between anecdotes you're tempted to ignore if they don't capture your experience and 'objective' metrics you probably won't believe anyway. How about subjective generalizations about 'agile' -- based on the reported experiences of the software development community at large?
Broad Strokes: Overall Feelings Toward Agile Are Positive
We asked: Overall, how do you feel about Agile development and methodologies?
774 respondents answered like this:
Huh. Sounds like general feelings around agile are pretty sunny. And these respondents aren't rah-rah blind process worshippers: 45% of survey respondents identified as having a development/engineering role; an additional (non-overlapping) 32% identified as developer team lead.*
*Yes, that 'developer team lead' phrasing can mean varying levels of hands-dirty-in-the-code, or even varying levels of general technical know-how. We're in the process of segmenting these responses by a few other variables, like years of general IT experience&'agile' experience, team size, preferred tech stack, and a few more. Will publish those results later -- some here, some in our next Agile/SDLC Guide, slated to release in October.
Probing Deeper: Developers' Feelings by Methodology
But, you say, 'agile' means so many things to so many different people! Whatever you want it to mean! I need to know more specifics.
So we asked: Which of these software development methodologies do you use, and how do you feel about them?
The heat mapped reply:
(Of course, that's just the top four. We asked about a lot more methodologies and techniques, but they didn't all fit here, and some free responses are going to take a bit of massaging to classify into additional methodology types. Stay tuned.)
Three immediate observations:
Scrum FTW. Not just adoption levels -- also positive feelings. (Those percentages are calculated over the entire row, so 51% of respondents period use and love Scrum. 61% of Scrum users love it. Barely 6% of Scrum users hate it.)
Kanban comes off pretty well for those who use it, but here adoption looks surprisingly low (to me). But after some triangulating with the excellent folks who ran VersionOne's State of Agile survey I think we should have distinguished between 'Kanban the explicitly adopted methodology' (which isn't that common) and 'Kanban the technique of multi-columned boards with cards flowing through them' (which is extremely popular). (My reasoning here is that our Kanban adoption numbers are very close to their Kanban methodology adoption numbers but pretty far from their Kanban technique numbers, which are much higher. Let me know if that sounds wrong.)
Man..nobody who uses TDD hates it. (Sorry, 19 people who do. You're within the margin of error. Maybe you're just gamma rays from some supernova a million years ago.) Ambivalence is significant too, which seems kinda sad but also interesting: for about a quarter of respondents, a complete reversal in the coding<->testing direction doesn't really affect feelings about the practice either way. To me, this at least suggests that TDD is worth another shot if you've tried it and given up immediately.
So what do you think?
774 responses are pretty strong (assuming a worldwide developer population of just over 20 million and, of course, unbiased sample..though of course for all surveys in the bias lies the rub!). But maybe this doesn't fit your experience..or maybe it does, and you have your own experience-driven thoughts on why.
Leave responses in the comments, or email me if you'd like to talk about more elaborate dives into the data.
Opinions expressed by DZone contributors are their own.