Live data from Hacker News

Scrum is the new waterfall

adambourg.com

131–140 of 183 posts

Re: Scrum is the new waterfall

#131

Earlier quoted context omitted.

The issue is that there are projects where changing your API is impossible, which means that using Agile is often a hopeless concept. Because if huge insurances already depend on your API, no matter how Agile you are, you can’t change it anymore. And there are many cases where your code will be frozen at one point. Even if the requirements change. Especially for Internet-of-Thing devices this can be very problematic,…

I dont really understand this. "NF_REQ_00: API must not change" Add verification tests to ensure API remains as documented. Every time someone checks in code your tests are run, break if something changes. Every project has functional and non functional requirements, you write tests for them, your project is in a failure state if the tests are not passing.

How do you update the code on a Smart Washing Machine? A Smart Pacemaker?

In the world where everything is digital, we’ll have a huge technical debt of un-updatable software.

Re: Scrum is the new waterfall

#133

Earlier quoted context omitted.

I dont really understand this. "NF_REQ_00: API must not change" Add verification tests to ensure API remains as documented. Every time someone checks in code your tests are run, break if something changes. Every project has functional and non functional requirements, you write tests for them, your project is in a failure state if the tests are not passing.

How do you update the code on a Smart Washing Machine? A Smart Pacemaker? In the world where everything is digital, we’ll have a huge technical debt of un-updatable software.

you mean firmware updates? What is the problem you are talking about?

Plus its a regular problem ensuring that an API is stable. People do it all the time - aren't you wondering why you are the only person arguing this point? Many people in this thread deal with these problems on a daily basis...

Re: Scrum is the new waterfall

#134

Earlier quoted context omitted.

How do you update the code on a Smart Washing Machine? A Smart Pacemaker? In the world where everything is digital, we’ll have a huge technical debt of un-updatable software.

you mean firmware updates? What is the problem you are talking about? Plus its a regular problem ensuring that an API is stable. People do it all the time - aren't you wondering why you are the only person arguing this point? Many people in this thread deal with these problems on a daily basis...

The problem is that no one is going to do firmware updates on their smart washing machine.

Your software can’t be updated. You have one try to do it right.

It’s what next to all of the modern startups don’t get right. They build fancy software, but then in a few years your smart house doesn’t work anymore because the services it connected to have changed APIs and the house itself encountered a few bugs?

The lifetime for a washing machine is 30 years. Your software on that will last 30 years. Using a development method designed to make quickly changing requirements easy is stupid when your code will be "write once, never change".

Re: Scrum is the new waterfall

#135

Earlier quoted context omitted.

> And now imagine Healthcare.gov was Agile and its API would change every month completely. Most methods that get the "agile" label attached to them focus on managing change by organizing work in such a way that, outside of externally driven changes that the organization can't control (which have the same effect regardless of development method) the parts that are done don't change much after they are released, to av…

If the parts that are done don’t change much, it’s not Agile. Agile is if no piece of your software can ever be called "done" because you are constantly changing things to be able to react to the market, as the market always changes. If your software has clear requirements, has a point when it is done, and only requires minimum maintenance after that, you aren’t writing agile.

"You keep using that word. I do not think it means what you think it means." - Inigo Montoya, The Princess Bride

Re: Scrum is the new waterfall

#136
post #92

Earlier quoted context omitted.

"The issue with the ESA code, like with railway systems, is: You write the code one time. You get a review. If you try to change just a single line later on – for example, to fix an issue that leads to the heating system on the ISS overheating – it will cost millions." I can guarantee you that 90% of the code in the Positive Train Control systems (the first real "new" control/sensor system in freight in decades) were…

And I can guarantee you that the software controlling the switches for the high speed rail and commuter rail networks in my state was written with waterfall. The requirements were pretty clear, as there was a legacy system to be replaced and the changes to be made were not too hard to be found, the design was done in a DSL specifically written for the task of representing this project, the software was implemented, v…

I believe you're fundamentally mistaken about the direction he future is taking: the world is not regressing to things that never change, it is progressing to continuous, perpetual change for most things in active use. There is plenty of evidence for this.

I empathize with a world view that prefers stable, planned, predictable, and long lasting. But I have rarely seen this work in practice.

I work with the banks (including in your state), and as far as I can see their aim is to move towards faster change in their IT systems, and disposability.

Re: Scrum is the new waterfall

#137

Earlier quoted context omitted.

I dont really understand this. "NF_REQ_00: API must not change" Add verification tests to ensure API remains as documented. Every time someone checks in code your tests are run, break if something changes. Every project has functional and non functional requirements, you write tests for them, your project is in a failure state if the tests are not passing.

How do you update the code on a Smart Washing Machine? A Smart Pacemaker? In the world where everything is digital, we’ll have a huge technical debt of un-updatable software.

> The lifetime for a washing machine is 30 years. Your software on that will last 30 years. Using a development method designed to make quickly changing requirements easy is stupid when your code will be "write once, never change".

If the requirements change, you must update your software. How does waterfall handle changing requirements? It doesnt.

To repeat: agile _handles_ changing requirements. It doesnt _provoke_ changing requirements.

As someone who spent the first 6 years of my career doing waterfall, the only way to combat this is by treating the functional requirements as an immutable contract between you and the customer. When the requirements change you blame them, and refuse to change your software. Then your software never gets used.

Re: Scrum is the new waterfall

#138
post #127

Earlier quoted context omitted.

And if your implementation never changes, but you just do minor changes – isn’t that the maintenance phase of Waterfall again?

I don't like trying to make direct comparisons between Agile and Waterfall as if they are two separate mutually-exclusive approaches to development. A product developed in an Agile process still has a 'maintenance phase'; the idea of software maintenance is not a Waterfall concept, it's a Software Development concept. One thing I think you're having trouble with (maybe) is that this article was about Scrum, but you'r…

The issue is that Agile works far better when you have constantly changing requirements, and when you will constantly work on the code. Agile works best when "development" and "maintenance" are the same. See: Chrome, Android.

Disadvantages: 0 backwards compatibility, annoying for users (I’d love to force the people who made these decisions to try and use a 5 year old Android phone with modern apps, thanks to the constantly breaking APIs that’s not possible), there is no backporting of fixes.

Advantages: Always the newest, shiniest.

When your requirements are stable, and you write

Re: Scrum is the new waterfall

#139

Earlier quoted context omitted.

If the parts that are done don’t change much, it’s not Agile. Agile is if no piece of your software can ever be called "done" because you are constantly changing things to be able to react to the market, as the market always changes. If your software has clear requirements, has a point when it is done, and only requires minimum maintenance after that, you aren’t writing agile.

"You keep using that word. I do not think it means what you think it means." - Inigo Montoya, The Princess Bride

I am using the definition from agilemanifesto.org, which argues that "change" is more important than planning what you actually want to do. Or that "it works" is more important than documenting it.

Re: Scrum is the new waterfall

#140
post #89

Earlier quoted context omitted.

My experience with taking such classes at multiple schools was always that any CS class talking about Real World Software Development turned out to not be all that accurate. Which perhaps makes sense since computer science isn't really about software development, real or otherwise. My favorite was being chided by a phd student teaching assistant that I needed to understand how things worked in industry if I wanted to…

The issue here are systems like Internet-of-Things devices. 90% of the people buying your smart washing machine will never ever update it. Never. So change is non-existent in the code you are delivering. And we’re going to have more and more IoT devices. Already today we’re seeing Smart TVs with preinstalled apps for online streaming sites that don’t even exist anymore. We have to be able to separate those pieces of…

All smart TVs these days are updatable.

My Nest thermostat is updatable. I don't have to do a thing for it to update. I would bet my Smart washing machine will also be.

Post reply on HN