Software Development Approaches: A Dark Comedy
Pawan Padwal, PMP?
Project Manager | Healthcare IT & Compliance Specialist | PMP | Agile & Scrum Expert
Waterfall - The Titanic of Development
It wasn't all that long ago, and yet it seems like a lifetime, when Waterfall development was de rigueur, and planning was so complete that by the time you started building technology had moved on and requirements had changed more times than plot lines in a soap opera. Think you are the captain of the titanic weir implemented DHCP with a short lease time in all clients. The most beautiful route that you have carefully nurtured for years, suddenly appears to have hit an iceberg in form of a feature request which nobody ever bothered getting around it. The project goes down, but it is a discovery that you can at least use to console yourself a bit that you were going according to plan.
Pros:
Documentation Heaven: Have all those documents that you can create a paper boat to float (instead of saving) the sinking ship oh so definitely called project.
Those who appreciate detailed-oriented failure are plan-obsessed.
Cons:
Adaptability: as malleable as a rock of granite.
Customer Feedback: An SOS
Agile: Development ADHD
Agile, where meeting is speed dating and the backlog is a perpetual motion machine. You race down the development cycles, hoarding user stories like an eager beaver and get to that treasure chest of a wildlife-product only to be greeted with a host of worms instead. We could call it herding cats with a laser pointer, the laser pointer is a Jira ticket and the cats are your developers, who chase every shiny new feature request.
Pros:
And as I mentioned last month, it is just as flexible as a gymnast on a pogo stick.
Feedback from the field: immediate, often spoken with the desperation of a toddler who has to pee
Cons:
Documentation: Sparse as to be considered an art piece, "Void"
Focus: What’s that? How bout a new feature request?!
Kanban - The Development Traffic Jam
Kanban is the structured anarchy of software development. It is like a highway with no speed limit but that cars (tasks) pile up in this freeway, and every lane is a bottleneck. Good, you can observe the traffic jam (your workflow), held up in real time... if you are really bored and your idea of leisure is watching paint dry / dry. Your team will spend their days pushing cards across a board and, Lord help you, hope the next task isn't a dilapidated Pinto dropping metal shards like road stars.
Pros:
You know what your bottlenecks look like, but good luck trying to clear them up with visualization.
Continuous Delivery: Best thing ever if you can have it done on a regular schedule, like pizza delivery, but much slower and with extra cheese (bugs).
领英推荐
Cons:
Focus: Now there are shiny new tasks everywhere; like those pop-ups that keep popping up on your free game app.
Documentation: Non-existent. Much the same of your patience on the M25 at 6pm
Scrum: The Game of Product Development
Scrum is playing rugby with a team of developers thinking they all are the captain Stand-ups are essentially a huddle where everyone is talking over one-another and sprint planning becomes a mosh-pit with devs going for the ball (backlog) At the end of the game, you've either crossed the end-zone (Deployment success) or your teammates stack parking cones on top of you (angry teammates/Bugs).
Pros:
Team Collaboration: High fives even when things suck, cruelly wrong.
Shorts Sprints: Short enough that you are always tired and still far enough that you can fail.
Cons:
Scope Creep: Never Sleeps, and it will eventually consume you.
Documentation: Inked with Blood, Sweat and Tears From Your Devs
Lean: Development Fasting-Diet
Lean development is the keto of software methodologies. Instead, you cut away all the fat (inefficient processes) and eat a lean diet of fresh vegetables (continuous improvement) and grilled chicken breast (customer value). One can realize that this is a bit similar to running marathons while being on juice cleanses, effective but only if you like the constant hunger feeling (feature requests) and faint every now and then with it (burnout).
Pros:
Efficiency: You will be so efficient, even your bugs are lean and mean.
Client Focus: The faster you can get value into their hands the more they will love you and skip right past “the minimum viable product” part.
Cons:
Good grief that nobody in the whole of mc-blogging seem to have ever laid their hands on documentation: You′ve stripped it down to a post-it note with “Don′t screw up” written on it.
Labors: Over 15 pounds of skinny, hard to make yoga appear smooth.
In Conclusion: The Greater of Two Evils
After all; all development methodologies suck, one is a burying rock and the other is scorching fire or to be more humane choice between being boiled alive or roast. Every one of them is going to sell you the moon and what often follows are black holes that just endlessly suck in time, money, and developer sanity. Choose your chaos carefully, and always keep in mind that, in software development, the game is not who has the least messes here but who has most fun building new bridges to cross.
?