I think the world's pretty done with us [Software Developers]. I feel like we've got about 5 years to get our act together or that's it.Apropos, that same year a highly influential group of practitioners signed the Agile Manifesto. Amid waves of Dot-Com-Bubble-Bursting, offshoring, and right-sizing, they kept it simple: Here's what works; apply liberally.
That was 14 years ago. In the intervening time, much like Protestantism after Luther, factions emerged: eXtreme Programming, Scrum, Kanban, Scaled Agile Framework. Characteristically, 25-year-old me thought these were all leaps forward. At 36-and-a-half, my cynicism grows: I've seen Agile roll-out to 1000+ developers in 2 world-wide organization across different corporate and civic cultures. I'll gladly replace Sisyphus rolling the rock uphill in Hades before I'd do it again.
Apparently I'm not alone: Yesterday, Andy Hunt--one of those very signatories--took his football and went home.
* * *
Maybe before we jump into something else--a Trademarked name already, and a .com!--we ought to take some time to grieve and reexamine, lest the next thing be worse that what's ending.
For my part:
- I like making clients happy, whether that's the guy in the next cube or a customer 12 timezones away. It's validating.
- Sometimes to do that, you need a spec (a contract), sometimes you need a conversation. Throwing specs away was naive, just as much as slavishly expecting spec == quality.
- I like demo'ing often and getting instant feedback from a client (or her designee).
- I like designing things before I code. Sometimes. I shouldn't be shouted down for that by someone invoking 'YAGNI' or 'BDUF' as magic talismans.
- I like hacking together a PoC without much design. Sometimes.
I want to make:
- Software that works.
- Software that somebody finds useful.
- Software that doesn't get thrown away every 6 months.
Maybe GROWS (TM) [BLECH!] will end-up being a panacea. Part of me genuinely hopes something works and gains adoption as "Standard Practice" so we can have solid standards in Software Engineering the way that Mechanical and Civil Engineers do. I question whether I'll live to see that day.
The largest part of me couldn't care less. I'd rather be coding.