Software Development Approaches: A Dark Comedy

Software Development Approaches: A Dark Comedy

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.

?

要查看或添加评论,请登录

社区洞察

其他会员也浏览了