Live data from Hacker News

Scrum is the new waterfall

adambourg.com

141–150 of 183 posts

Re: Scrum is the new waterfall

#141

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.

> 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_…

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

How does agile handle change? By assuming everyone will update and has no issue with all third-party accessories constantly breaking.

If you can’t ever change your code after you’ve written it once, then Agile isn’t useful to you.

Re: Scrum is the new waterfall

#142
post #92

Earlier quoted context omitted.

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 (inc…

The banks do, but the people don’t.

No one wants to have to buy a new Smart Fridge every year because the manufacturer stopped updating the old one. Hell, people won’t even update at all.

We can’t even get updating software on Android correctly. And instead of releasing bugfixes for all releases, Google instantly abandons a version of Android. There are 0 maintenance branches of it.

Applying the Android "Agile" situation to the rest of Software and especially Hardware is the worst nightmare possible. If that is going mainstream, I’ll quit compsci and start teaching kids in a kindergarten instead.

Android is actually the perfect example: Always having the latest is more important than it being thought out well! Documentation is less important than it somehow working!

Android’s update situation is the exact outcome of applying Agile development not just internally, but also externally. And it’s a horrible nightmare.

Re: Scrum is the new waterfall

#143

Earlier quoted context omitted.

Like pointed out before, you need more experience before you can make claims like the ones your teachers make. They probably need it too. What you describe is a problem stated in great detail and an API that's needs to be kept backwards compatible. There is nothing in agile that precludes that. Quite the contrary: if you build your tests well enough, everyone who did not participate in the original design can use the…

Well, we aren’t in that class to learn how to write software, but how to apply engineering principles to software. And if you buy a washing machine with lifetime guarantee, you expect it to run forever, but the requirements are mostly static, too. For a smart TV, on the other hand, you separate the pieces of software with static requirements, and those without. The internal signal decoder, etc will be static. UI migh…

My Mercedes-Benz has software firmware for my transmission that is updated annually, at the shop.

The software can be updated over the air in a Tesla every few weeks.

Mercedes is working with my company to adopt agile practices and server deployment to disposable cloud environments for their connected car IoT applications.

Industrial and Appliance manufacturers such as Philips, and GE (a 10% investor) are also adopting this same software and methodology for their IoT platforms and applications.

I don't know what else to tell you - there are certainly areas where you correctly point out you need to get it right the first time. But you keep making projections about the future of immutable software that are contradictory to all the evidence.

The world is a big place and even in Deutschland the big industrial manufacturers are adopting lean and agile. Cars at Toyota and Honda (and many others) are developed with Lean Product development principles - not a big up front design plan, but test-first, concurrent, iterative, incremental engineering.

One can buy hardware that lasts a decade - the software can and will evolve except in constrained environments. A washing machine is not a constrained environment.

Re: Scrum is the new waterfall

#144

Earlier quoted context omitted.

Well, we aren’t in that class to learn how to write software, but how to apply engineering principles to software. And if you buy a washing machine with lifetime guarantee, you expect it to run forever, but the requirements are mostly static, too. For a smart TV, on the other hand, you separate the pieces of software with static requirements, and those without. The internal signal decoder, etc will be static. UI migh…

My Mercedes-Benz has software firmware for my transmission that is updated annually, at the shop. The software can be updated over the air in a Tesla every few weeks. Mercedes is working with my company to adopt agile practices and server deployment to disposable cloud environments for their connected car IoT applications. Industrial and Appliance manufacturers such as Philips, and GE (a 10% investor) are also adopti…

No one is going to update their washing machine. No one.

Out of the people I know, most never updated their phone software or the firmware of their consoles. My mum was, until a week ago, running on her PC Windows Vista with the last update being downloaded in 2006, when we moved into this house and I had run Windows Update for her.

A washing machine is probably the most constrained environment in any home. No one’s going to update it. When you turn it on, you want it to just work. Same with the smart fridge.

These devices have a lifetime of decades, and no one’s going to update them.

Same with cars, most people don’t want them to be updated.

Remember, this is Deutschland, we still use Fax for business communication.

Re: Scrum is the new waterfall

#145
post #127

Earlier quoted context omitted.

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 cons…

I think we can resolve this debate through a map. I think our problem is a disagreement on what is actually industrialized and predictable vs. What is more exploratory and uncertain.

Most software - but not all - deals with uncertain requirements. These are suited to agile methods.

Other software is in a well understood industrialized domain. Here, I would not recommend waterfall per se, but an approach like Six Sigma and Formal engineering methods certainly makes sense.

Simon Wardley has explained this well here: http://blog.gardeviance.org/2015/06/why-agile-lean-and-six-s...

I think the disagreement is

A) is how industrialized IoT applications actually are.

It will be 2 decades or more I believe before they are. This will require to lots of disposability and change in the meantime. Hence appropriate for agile.

B) how much indistrialized software will there be in the future? Things like railway systems are well understood and industrialized. And don't need agile. But my point has been there isn't a lot of railway software out there to write anymore.

But at some point, will the newer IoT domains be eventually so industrialized that it requires formal engineering methods? To this I say - sure - but not for a long while. The applications are still too fluid.

C) how many people actually work on various ends of the spectrum of agile vs industrialized ? There has been an explosion of activity in using software in new domains, which is agile by definition. Industrial software even by your own definition only needs to be written once every 80 years. So it makes one surmise it will always be a minority of software development.

Re: Scrum is the new waterfall

#146

Earlier quoted context omitted.

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.

And we see how well this updating works with the "agile" developed Android... Not.

A phone has a lifetime of over 5 years, but support is dropped before the legal minimum support of 2 years, even for Nexus.[1]

A device like a Thermostat shouldn’t even ever need updating. Everything it should do is record, transmit, and accept settings for temperature. Everything intelligent should be in a separate device.

It’s like we’re learning to separate the world into microchips and the interfacing processors all over again.

Also, I argued this before, if people can’t even update their game consoles or are still running Vista SP0 this month then they sure as hell won’t update their Smart Washing Machine.

You’re maybe living in Silicon Valley and all around these shiny new toys, but reality is that people are still using fax.

    ----------------
[1] By the way, this opens an interesting legal opportunity, I need to get updates for my Nexus device, as it’s less than 2 years old, and the vulnerability is a manufacturers defect.

Re: Scrum is the new waterfall

#147

Earlier quoted context omitted.

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 (inc…

The banks do, but the people don’t. No one wants to have to buy a new Smart Fridge every year because the manufacturer stopped updating the old one. Hell, people won’t even update at all. We can’t even get updating software on Android correctly. And instead of releasing bugfixes for all releases, Google instantly abandons a version of Android. There are 0 maintenance branches of it. Applying the Android "Agile" situa…

I feel you, if the world is moving towards Android updates, it won't be a great world.

One can design systems for usable and even pleasant continuous operations AND updatability though - even in an agile manner - eg. erlang and Ericsson.

Re: Scrum is the new waterfall

#148

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.

> If the parts that are done don’t change much, it’s not Agile.

Most agile methods focus on prioritizing the parts that are both most certain and highest value for the cost as a way of managing requirements uncertainty.

> 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.

One of the aspects of uncertainty many agile methods address is change in market, sure; that doesn't mean that every piece of the software is changing all the time, it means that those methods focus on having mechanisms available that are intended so that when market changes create a need for changes in the software, that change can be implemented on a timely, efficient basis.

Re: Scrum is the new waterfall

#149
post #10

Earlier quoted context omitted.

Yup, this guy sets up a total strawman which doesn't accurately describe how I've seen Scrum run at two major telecom software companies. We change mid-sprint (when we need to), we don't have non-programmers running scrums or writing user stories and if you don't complete a story in a sprint then you roll it over to the next one. If you have deadlines and contractual commitments to meet his suggestion of "use Kanban"…

This isn't a straw man. This is exactly how Scrum gets implemented when management is running the process and not the development team.

+1

Re: Scrum is the new waterfall

#150
post #10
post #5

Earlier quoted context omitted.

I agree with you. "Scrum is the new waterfall" is true in this case in that both have been built as total strawmen. Scrum says nothing about unit tests, nor does it require sticking to the commitment (although it used to) > I dont think they had a very good explanatory service The most recent documentation on "Core" scrum is very simple and easy to parse.

Yup, this guy sets up a total strawman which doesn't accurately describe how I've seen Scrum run at two major telecom software companies. We change mid-sprint (when we need to), we don't have non-programmers running scrums or writing user stories and if you don't complete a story in a sprint then you roll it over to the next one. If you have deadlines and contractual commitments to meet his suggestion of "use Kanban"…

What it delivered soon? Put it in the top of the Kanban board and set a rule that the stuff in the top of the defined list gets worked first.
Post reply on HN