I think the real problem is thinking we have found an alternative to waterfall. Despite lots of attempts everything is waterfall in some way. Sure we have added feedback loops, if requirements are wrong we can change them and all that - but in the end the phases exist for a reason.
Despite going all in on agile from day one of a new greenfield project, very high test coverage from TDDing everything, and a large suite of automated integration tests - we still have a month of QA gating the release process as bugs constantly sneak past all that process in a complex system. QA and automated tests look for different classes of problems.
It kind of does. If you need to run your build through QA, product, upper management and regulatory approval then sorry, no matter how many standups you have - you're waterfall.
If you need an approval on a pull request and some automated tests to pass to give you enough confidence to deploy then that part of your process is agile at least (even if, say, the way you get requirements is not).
I don't know what regulatory approval or standups have to do with waterfall, and I'm not sure what automated tests have to do with whether or not you are agile.
Comments
I think we overuse the term waterfall. Having a QA phase as part of a development cycle doesn't not make something "waterfall.:
I think the real problem is thinking we have found an alternative to waterfall. Despite lots of attempts everything is waterfall in some way. Sure we have added feedback loops, if requirements are wrong we can change them and all that - but in the end the phases exist for a reason.
Not if it exists adjacent to it. It does if it habitually gates releases though.
If you can't risk not having QA gating your releases then your process is probably more waterfall than you might have hoped.
Despite going all in on agile from day one of a new greenfield project, very high test coverage from TDDing everything, and a large suite of automated integration tests - we still have a month of QA gating the release process as bugs constantly sneak past all that process in a complex system. QA and automated tests look for different classes of problems.
And if you don’t have manual QA to find those bugs, your users will find them (and, if you’re lucky, report them).
If you are unlucky someone dies.
See this is what I mean about the overuse. Release gating doesn't make something waterfall.
It kind of does. If you need to run your build through QA, product, upper management and regulatory approval then sorry, no matter how many standups you have - you're waterfall.
If you need an approval on a pull request and some automated tests to pass to give you enough confidence to deploy then that part of your process is agile at least (even if, say, the way you get requirements is not).
I don't know what regulatory approval or standups have to do with waterfall, and I'm not sure what automated tests have to do with whether or not you are agile.