Live data from Hacker News

Even with Agile and Scrum waterfall will sneak in

amazingcto.com

91–100 of 319 posts

Re: Even with Agile and Scrum waterfall will sneak in

#91

Earlier quoted context omitted.

> There is a natural process that every issue goes through: Analysis, Specifications, Requirement, Design .. then the Developer takes in the materials of each of these steps, does an Implementation and Testing phase .. then the issue has to be validated/verified with a Qualification step, and then it gets released to the end user/product owner, who sign off on it. I've never worked at a place where all these things a…

Developers who fail to take responsibility for the full workflow, fail. Its not "Agiles" fault, although this is often used to justify the failure. Developers have got to realize that they are responsible for the full workflow from beginning to end , and only poor/low-quality developers will work to change that natural law - with negative effect.

> Developers have got to realize that they are responsible for the full workflow from beginning to end

That is not what the org chart says.

Re: Even with Agile and Scrum waterfall will sneak in

#92

I've never quite understood, over 30 years of experience in software development, what problems Waterfall presented that warranted a complete refactor of software development processes such that things are now very much in cult-/cargo-cult territory. There is a natural process that every issue goes through: Analysis, Specifications, Requirement, Design .. then the Developer takes in the materials of each of these ste…

If it helps you can think of it like this: Scrum is just Waterfall, but with faster cycles.

Traditional Waterfall(tm) is when you spend a year in analysis, a year in specifications, a year in requirement, a year in design...

And then you put out a piece of software that's already outdated and doesn't do what the customer wanted or needed. But the company got paid anyway, so off to the next project.

With Scrum you go through the whole waterfall loop every 2-4 weeks and the customer and the team have a chance to amend any of the phases after every iteration.

This way there's less of a chance the product is completely outdated and unnecessary after the whole project (comprising of multiple waterfall loops) is done.

Re: Even with Agile and Scrum waterfall will sneak in

#93

Earlier quoted context omitted.

Agile (if the culture incentivises honestly) does have the benefit of feedback. Rather than a black-box which "could" be done in a month, you can instead see that the team on-average under-estimates by 10 days, has x stories left, so it'll likely be done in 2-3 months at this rate. The downsides are that it opens up the team to feature-creep, introduced a pile of weird buzzwords, and can be massively wasteful if the…

> Agile (if the culture incentivises honestly) does have the benefit of feedback. Doesn't Waterfall incorporate feedback? In my memory and experience, it does. My memory of learning Waterfall back in the early 90s is a bit hazy, but I distinctly remember that one of the advantages touted was that mistakes earlier in the process of developing software are cheaper to fix than mistakes later in the process (no matter wh…

There is no such quick feedback.

You spend months dreaming up a design spec with plenty of timing diagrams, UML diagrams, classes, etc.

Then, it's reviewed, which means people read it and and try to make comments on it, then everyone pat themselves on the back because it's been 'signed-off'.

Then you start actually implementing it and you quick find out that, actually... And that's not even accounting for any changes on requirements that might have been asked in the mean time.

Feedback means actual, hard feedback, be it from the customer or reality.

Errors get more and more expensive to fix the further down the line they are found and that's exactly why hard feedback (which usually is either actual tests or customer feedback) should be obtained ASAP, which can be achieved through iterations.

Re: Even with Agile and Scrum waterfall will sneak in

#94
post #82

Earlier quoted context omitted.

> what problems Waterfall presented These are presented in the article. > Analysis, Specifications, Requirement These tend to be inadequate, incomplete, or .. > Qualification .. at this point the customer discovers that what they asked for does not actually solve their problem. You cannot do any kind of exploratory or innovative work in waterfall, because you can't specify that upfront. You can't easily co-evolve sol…

>> Analysis, Specifications, Requirement >These tend to be inadequate, incomplete, or .. >> Qualification >.. at this point the customer discovers that what they asked for does not actually solve their problem. I disagree. If you are properly isolating your work into an "Analysis" phase, you will properly flesh out the issues and the subsequent specifications and requirements will be complete - sufficient to the task…

> If you are properly isolating your work into an "Analysis" phase, you will properly flesh out the issues and the subsequent specifications and requirements will be complete - sufficient to the task of formulating a development/implementation plan. But if you don't take care to complete a proper analysis - then no, you won't formulate specs or req's properly, either.

But what if that doesn't happen?

(This seems to parallel the "C is safe if you don't write bugs" argument. Processes that require infallibility are bad processes.)

The level of dysfunctionality that can be achieved is baffling. How can someone fail to deliver a payroll system? https://www.smh.com.au/technology/worst-failure-of-public-ad... - it's one of the oldest applications of business computing, and yet somehow it wastes a billion Australian dollars?

Re: Even with Agile and Scrum waterfall will sneak in

#95
post #23

Earlier quoted context omitted.

I was once explained the interest of quick iteration cycles (the main opposition, IMO, to a waterfall model) in a simple way: The teacher drew a very simple chart : y = t. "This is, in a given project lasting from t=0 to t=1, the amount of practical information that you have about how to design this project. At t=1.0, you have 100% of the information. When you start, you have about zero information about it, just gue…

Waterfall can be fast. In fact, done properly, it is the fastest technique of them all.

> done properly

And herein lies the rub. If a project is more than 6 months to a year in duration, there is very little chance that what the customer now wants is what they wanted before. Requirements aren't created instantly on day 1 ready for dev, you could easily have several years of requirements, during which time people change, the world changes, the law changes, priority changes and then what?

Even systems that are relatively unchanging like the air traffic control system they built in the UK still had a whole raft of issues that needed addressing and at this point, the documentation becomes out-of-date and changes are extortionately more expensive to resolve.

Re: Even with Agile and Scrum waterfall will sneak in

#96

I've never quite understood, over 30 years of experience in software development, what problems Waterfall presented that warranted a complete refactor of software development processes such that things are now very much in cult-/cargo-cult territory. There is a natural process that every issue goes through: Analysis, Specifications, Requirement, Design .. then the Developer takes in the materials of each of these ste…

Here's one way to explain it:

The generalization is that waterfall is a form of organization level open loop control and scrum is a form of organization-level closed loop control of your process. In one case you set a goal and then move towards it (and "damn the torpedos"). In the other case you stop and look where you're going and adjust course at regular intervals iteratively (But "are we there yet?").

In real-time applications, open loop control only works well in narrowly defined situations, but nevertheless can be very useful to get somewhere in a definite amount of time. Closed loop control tends to be more robust in that it is rather more certain to get you to the target in a wider range of situations and in the presence of noise. The downside is that it can be harder to determine when you'll get there.

This way of looking at it, you immediately see the balancing act going on.

Attaching specifically to what you are saying: if you do the Analysis, Specifications, Requirement, Design, Implementation, Testing, Qualification, Signoff just once, your product-objective fit will only be so good. (This is where waterfall stops and calls it a day. It's just a very long "day")

Once a change is signed off; review it in production for a while, take lessons learned, and reapply them to a new Analysis step (and move forward through the steps again).

After the second sign off, in real world practice you're likely to have a much better product market fit than the first iteration.

Wash rinse repeat, after the third sign off, you'll find an even better fit.

This much should stand to reason. You combine your original plan with everything you've learned. Then take the new plan and add in everything you've learned, etc. How could your 5th, 6th or 7th, Nth version NOT be better than the first one?

This is closed loop control.

If I present it this way, it would seem like open loop is always going to be faster than closed loop. Well, in biology this is actually exploited as such: fast processes are often open loop.

Fortunately it turns out that if you're doing closed-loop anyway, the self correcting properties of uberhaupt having a closed loop means that you can get away with cruder/faster steps in the loop. As long as you keep the loop closed. This stands to reason, right? (And else it stands up to empirical testing.)

If you're in a hurry, it might be the case that it's ok to merely hit home close to the target, rather than bang on 100%. Despite some theoretical slowness, you might be able to get away with using a closed loop process with fewer/cruder iterations to get to your target more quickly in practice.

Now what a lot of cargo-cultists do in the case of open loop (and waterfall) , is that they apply it to very long projects, but forget that the world might change while they're still working. Open loop works best for short, well defined projects.

In the case of closed loop cargo cultists: They might end up taking cruder faster steps, but then don't actually close the loop by going back to the start and iterating. Now you have a very bad product.

In practice you'll need to tune your process to your own needs.

Re: Even with Agile and Scrum waterfall will sneak in

#97
post #82

Earlier quoted context omitted.

> what problems Waterfall presented These are presented in the article. > Analysis, Specifications, Requirement These tend to be inadequate, incomplete, or .. > Qualification .. at this point the customer discovers that what they asked for does not actually solve their problem. You cannot do any kind of exploratory or innovative work in waterfall, because you can't specify that upfront. You can't easily co-evolve sol…

>> Analysis, Specifications, Requirement >These tend to be inadequate, incomplete, or .. >> Qualification >.. at this point the customer discovers that what they asked for does not actually solve their problem. I disagree. If you are properly isolating your work into an "Analysis" phase, you will properly flesh out the issues and the subsequent specifications and requirements will be complete - sufficient to the task…

Of course no one is doing the Analysis properly. It's impossible. You plan how to implement something using a library method. But only in the qualification phase you find out that this method actually has a bug on your target platform or is incompatible with another part of your software.

Re: Even with Agile and Scrum waterfall will sneak in

#98

Earlier quoted context omitted.

It is very easy actually. We often a business uses Excel for their processes and flow, that is they have excel sheets that they edit, copy, send around and merge back. Now, we all know the problems that exists with this approach, and even the customer knows that. But that doesn't mean they can perfectly describe how any application that gets rid of those excel files should look like.

But isn't the problem statement itself what you need from customer? My idea is that the customer approached you with the problem statement and their expectations is that you would provide possible solutions to it instead of the customer defining the solution exactly and just asking you to "code" it.

You describe the requirements analysis step which itself is a big issue with traditional waterfall projects. You bring someone (or a team) in from either outside the company or inside the company. At that point you are already falling victim to the fallacy that you think you can fully and exhaustively analyse the full problem domain. And even if you think you can do the 100% complete requirements analysis, who says the solution/software you deliver in 3 years from now will exactly fullfil these requirements and - more over - what makes you assume the problems of today are the same problems of the business in 3 years from now?

Re: Even with Agile and Scrum waterfall will sneak in

#99
People or teams managing software development workflows usually silently tailor them, fitting the reality of their constraints, often outside of Scrum and Agile (despite claiming otherwise in job descriptions or developer posts)! And that's OK! There is nothing wrong with taking the best from waterfall or Scrum, or you name it, and adding a pinch of personal/novel ideas if a precept from an existing framework doesn't apply out of the box. These concepts are decades old; new tech and new constraints have arisen. People have changed. New answers are needed, or at least worth a shot. It's also OK to re-appropriate out-of-fashion concepts when those are a better fit.

The key, in my view, is to remain open to new or old ideas and to interpret and adapt dogma rather than blindly follow it.

Re: Even with Agile and Scrum waterfall will sneak in

#100
post #27

I've never quite understood, over 30 years of experience in software development, what problems Waterfall presented that warranted a complete refactor of software development processes such that things are now very much in cult-/cargo-cult territory. There is a natural process that every issue goes through: Analysis, Specifications, Requirement, Design .. then the Developer takes in the materials of each of these ste…

You can't - Get Certified in Waterfall. - Claim to be a Waterfall Master. - Waterfall Standup sounds like a song.

Automotive SPICE certifications would like a word...
Post reply on HN