DEV Community

Discussion on: What does "agile" mean these days?

Collapse
 
val_baca profile image
Valentin Baca

Here's the essence:

big-design and waterfall are natural approaches to projects. It makes sense because it reflects how physical things are traditionally made. Most things that are "made" are done to spec and then finished.

The issue is that there is so much time between the very beginning to where anything of value (typically the whole project) is delivered. By that time, it's too late or costly to take in any feedback or adjustments, and so what you end up with is something that was incredibly expensive, missed the mark, and completely failed. The problem is the feedback comes in a day late and a dollar short.

I liken this to big blockbuster movie flops. Think "Justice League (2017)".

As an alternative, agile development emphasizes delivering in iterations, using those iterations to feedback into the development to guide the project toward the right goal. That's basically it in essence.

"Some is better than none. Perfect is the enemy of good."

Everything else is just cruft from people trying to shoehorn methodologies and processes.

To follow the analogy, it's like just writing the script and getting feedback on that. Then filming a pilot for a show. Then getting feedback on that. Then releasing a Season One. Feedback and iterate.

You keep test quality up so you can keep in iterating with the knowledge you're not breaking existing functionality.

Collapse
 
rolfstreefkerk profile image
Rolf Streefkerk

Waterfall as described in the original paper was always meant as an iterative means of developing software. Sadly, that iterative part was overlooked. You can read the original paper and you'll see it's clearly stated there.
At any event, the current business of Scrum isn't much different with the exception they've added short iterations instead of large up front design. Everything else is as rigid as it comes.