Waterfall Over Agile In 2023???

  Переглядів 53,351

Continuous Delivery

Continuous Delivery

День тому

Kent Beck talks to Dave Farley about the two popular software engineering methodologies, agile and waterfall. Is Waterfall really "back"?
This is a clip from Kent's full Engineering Room appearance, that you can watch HERE ➡️ • Kent Beck On The FIRST...
--------------------------------------------------------------------------------------
🖇 LINKS:
🔗 "TCR (Test && Commit || Revert)", Kent Beck: ➡️ • TCR test && commit || ...
🔗 "Tidy First", Kent Beck: ➡️ tidyfirst.substack.com
🔗 Small Steps - "Explore, Expand, Extract", Kent Beck: ➡️ • Video
--------------------------------------------------------------------------------------
⭐ PATREON:
Join the Continuous Delivery community and access extra perks & content!
JOIN HERE for as little as £2 ➡️ bit.ly/ContinuousDeliveryPatreon
-------------------------------------------------------------------------------------
👕 T-SHIRTS:
A fan of the T-shirts I wear in my videos? Grab your own, at reduced prices EXCLUSIVE TO CONTINUOUS DELIVERY FOLLOWERS! Get money off the already reasonably priced t-shirts!
🔗 Check out their collection HERE: ➡️ bit.ly/3vTkWy3
🚨 DON'T FORGET TO USE THIS DISCOUNT CODE: ContinuousDelivery
_____________________________________________________
📚 BOOKS:
📖 Dave’s NEW BOOK "Modern Software Engineering" is available as paperback, or kindle here
➡️ amzn.to/3DwdwT3
and NOW as an AUDIOBOOK available on iTunes, Amazon and Audible.
📖 The original, award-winning "Continuous Delivery" book by Dave Farley and Jez Humble
➡️ amzn.to/2WxRYmx
📖 "Continuous Delivery Pipelines" by Dave Farley
Paperback ➡️ amzn.to/3gIULlA
ebook version ➡️ leanpub.com/cd-pipelines
📖 "Test Driven Development: By Example (The Addison-Wesley Signature Series), Kent Beck" ➡️ amzn.to/2NcqgGh
📖 "Extreme Programming Explained: Embrace Change", Kent Beck ➡️ amzn.to/3K5fhg6
📖 "Implementation Patterns (Addison-Wesley Signature Series (Beck))", Kent Beck ➡️ amzn.to/3K4VWvz
📖 "Smalltalk Best Practice Patterns", Kent Beck ➡️ amzn.to/3JKyfYg
NOTE: If you click on one of the Amazon Affiliate links and buy the book, Continuous Delivery Ltd. will get a small fee for the recommendation with NO increase in cost to you.
-------------------------------------------------------------------------------------
🙏The Engineering Room series is SPONSORED BY EQUAL EXPERTS
Equal Experts is a product software development consultancy with a network of over 1,000 experienced technology consultants globally. They increase the pace of innovation by using modern software engineering practices that embrace Continuous Delivery, Security, and Operability from the outset ➡️ bit.ly/3ASy8n0

КОМЕНТАРІ: 344
@ContinuousDelivery
@ContinuousDelivery 11 місяців тому
If you enjoy discussing ideas, issues, problems and even frustrations! with fellow IT guys, join us on my CD Discord via 🗣 bit.ly/ContinuousDeliveryPatreon and see lots of other membership benefits, exclusive content and competitions.
@petergostelow
@petergostelow 4 місяці тому
The Waterfall Model works because you know exactly what the solution is before you start coding. That is the whole point of the Requirements Specification and there is no reason today NOT to know everything up front because we have Big Data to draw from: the Business Knowledge Domain, Functions, Tasks, and even Software Patterns. It may take 12 months to understand the Requirements Specification from the Requestor/User, but the maintenance is almost zero because the coding is a translation from the Spec language to the Computer language and easily verified. And the program will work almost flawlessly from day one for the next 5 years or more. Move on to the next project. To start coding before you know what the customer wants is a terrible way of working that leads to the software crisis. The crisis is that the software worldwide is unreliable and bordering on collapse. The customer will also keep adding wants to the existing software as it reveals more possibilities without increasing payment. This is never ending. By documenting exactly what the customer wants (even if it takes 6 months or more) results in a solution and program that is more robust, resistant to change, and avoids bloat. I'm guessing you never tried the Waterfall Model so you have no experience with it. The weakness with the model is the customer: Are they willing to discuss their business requirements to the minutest detail over the next 6 - 12 months before coding starts? Most will see the delay as falling behind the competition and refuse. The others will gamble on a 9 year ROI and they will win if you've done your job properly. The rest may be flattered that someone is so interested in the business that they'll happily talk about it for months on end. And to see it, not only documented in detail, but actually working in practice, is a massive ego boost. And the kicker is bragging rights that it is bug free (mostly), requiring little to no maintenance costs for the rest of its life cycle. Such reliable software is worth far more than agile programming promises. You don't come up with the solution, the customer does because they know what the program must do. If they don't, then you need to get them to find a solution by asking business questions. You may offer alternatives based on software models, but ultimately it is the customer who decides what the software will do. The Software Requirements Document simply shows the customer you understand their solution, that is, you now know how their business works well enough to automate specific parts of it and interface them into their business model. Once they sign off the document, you can now establish a Plan and Design Document to meet the Spec and enlist programmers to code the solution, as Designed, from the Spec, according to the Plan, and using Module folders to track their progress. Finally, the staff will need training on the menu, forms, and data I/O.
@chpsilva
@chpsilva 11 місяців тому
Waterfall is not back. It never went away, it just takes 2 weeks now and uses different terms. Maybe we should rebrand it as "rapids"...
@manishm9478
@manishm9478 11 місяців тому
Hahaha i love this 🥹
@peteralund
@peteralund 5 місяців тому
You Sir should be knighted
@mAcCoLo666
@mAcCoLo666 11 місяців тому
You cannot escape waterfall. There's no way you can just jump in and write code without a bare minimum of context and knowledge about what you're trying to contribute to. The problem is assuming all of the knowledge can be gathered in advance. So agile is really a more nimble waterfall in my opinion, where requirements are discovered and refined incrementally, and wireframes help to define what works and what not. You need the entire pipeline to be agile, that is the real challenge.
@pureabsolute4618
@pureabsolute4618 4 місяці тому
Yeah - I was kinda surprised with the immediate dismissal of wireframes. Huh? I guess wireframes aren't done by agile? Weird moment, and totally unexplained for us non-initiated.
@ContinuousDelivery
@ContinuousDelivery 3 місяці тому
Yes you can, but it takes a different mindset, a different understanding of what SW dev is really about and so, how to do it. I"d argue that SW dev is a process of learning, and that what we do is learn enough to come up with a design that works for the problem that we are trying to solve, that means that we need to organise to learn. Waterfall works against learning, because the best way to learn is to try ideas out, so effective teams organise themselves to be able to try ideas out, learn from what they find and do more of what works and less of what doesn't. That is not just the "agile" approach, but is also how science and engineering work!
@Skibbi198
@Skibbi198 3 місяці тому
Yeah... you can. Continuous discovery and continuous delivery. Instead of planning everything up front, you first identify the problem, test solutions (ideally solutions that don't require any code) and start building the minimum solution. And you don't stop there, you keep on doing the discovery work, constantly testing the product and new ideas with users. Agile is not doing all the steps of waterfall in repeated increments, it's doing the discovery and delivery all the time.
@geelee1977
@geelee1977 2 місяці тому
"without a bare minimum of" --> An engineering principal for over 2000 years....for a reason
@ForgottenKnight1
@ForgottenKnight1 Місяць тому
"You cannot escape waterfall" - The problem is the timeframe and the false assumptions around designing large systems upfront (one of them is assuming that your design is correct without testing it out and another is that it will rarely change, just to name a few). When you make that timeframe smaller (not months, but days) you get feedback faster, you can improve and evolve in better directions and when you do a mistake (not "if" - you will do mistakes), you can fix and learn faster.
@vanivari359
@vanivari359 11 місяців тому
I was at a car manufacturer in Munich for a while. Their whole organization uses an agile model where every single story (estimated between ~ 3h to 15 days) is basically a water fall with contractional and financial meaning. You promise to deliver the story in that amount of story points (principle: "you know what you are doing and nothing goes wrong, so no buffers) and you get payed for that. If it takers longer, your fault, your loss. If you are faster, good for you. That means that every story in every sprint planning is a contractual negotiation where the customer wants to reduce the price and your organization wants to increase it putting developers into the role of negotiators who have to commit to estimated hours or beg for an additional story if something unexpected happens. Also the provider puts more and more controlling into place (additional waste) to estimate better and you have "pre-sprint-review-reviews", "mid-sprint-risk-reviews"´and "pre-planning-estimation-sessions" and god knows what. because the customer monitors the delivered story points and if you are slower, you are in trouble. Because the whole thing is also a waterfall of course, planned, estimated and committed 6 month ahead of time. It is the most absurd thing i've ever seen in my 19 years in this business and all based on that idea that you can buy software like screws. I would actually prefer a classic fixed price water fall project over this "agile" model. These projects in Munich also have the highest fluctuation rates of employees i've ever seen. And this stuff enforced bad software, the amount of times developers told me that they won't clean up code or do it the right way because they don't have enough time and don't want to beg for more time. 8 month out there and i still get angry. To be fair: customer project managers can be lenient if everything is great, but as soon as they start to feel pressure for any reason, this controlling mess starts and the "a story point is 2.35 hours of work" discussions and "re-calibrations" start. At some point our devs got long lists of cross-functional roles and tasks (e.g. an "engagement manager", a scrum master etc.) they have to consider and factor in during their estimations. Absurd.
@salvatoreshiggerino6810
@salvatoreshiggerino6810 11 місяців тому
The scary thing is that it works. The whole world runs on software written like that. For all these companies know they are using the state of the art of software development methodology.
@georgehelyar
@georgehelyar 11 місяців тому
You can tell it will be a train wreck from "etimated 3h-15d", then "promise to deliver story points". You can't convert between time and story points, that's the point of them. It's one of those red flags like thinking that more people means less time.
@ContinuousDelivery
@ContinuousDelivery 11 місяців тому
Let's just be clear on terminology here 😉 What you described may have been called agile, but it is very far from agile based on the definitions from the people that invented the concept of "agile development" agilemanifesto.org
@salvatoreshiggerino6810
@salvatoreshiggerino6810 11 місяців тому
@@ContinuousDelivery I think we have all read the manifesto here, but what do you propose that we do? Working in these organisations is like working with flat earthers. No amount of evidence or rational arguments will change their minds. I don’t even think a true agile company disrupting an entire market is going to convince anyone, since there are too many other confounding factors for market success.
@M0rd7ust
@M0rd7ust 11 місяців тому
@@salvatoreshiggerino6810 choose the org you work in, you live only once. Let evolution take care of the rest.
@jimhumelsine9187
@jimhumelsine9187 11 місяців тому
“Walking on water and developing software from a specification are easy if both are frozen.” - Edward V Berard
@_Mentat
@_Mentat 11 місяців тому
Nailing down the requirement is a key waterfall skill. It's not impossible, or even particularly hard. But if you haven't got the discipline to do it I suppose you need Agile.
@kevinfleischer2049
@kevinfleischer2049 11 місяців тому
@@_Mentat And it doesn't work. Latest when you spot a hole in the spec the customer will use it to fill the hole and redirect the requirements. And there you go: Change. Agile was invented to work with the real world of (pure) SW development. If you develop close to hardware it may be different, because HW has to be frozen on some point for mass manufacturing.
@_Mentat
@_Mentat 11 місяців тому
@@kevinfleischer2049 Our customers sign contracts. They could change the requirements but it would cost them. Mainly they don't. Usually we have a succession of contracts with the same customer and if they want a change or additional functionality it becomes part of the next contract a couple of years later. We're basically doing the same thing over and over again for different customers; "a hole" is not likely.
@archi-mendel
@archi-mendel 11 місяців тому
@@_Mentat agile is not a workaround to not been disciplined enough to nail down the requirement, it is a way to work with constantly changing environment and knowledge (practically, with the real life). Numerous projects have failed as the whole problem they were trying to solve was not actual anymore while they were implementing the solution for it. From the other point, some products have reached huge success by being able to transform dramatically as soon as they observed changing environment.
@archi-mendel
@archi-mendel 11 місяців тому
@@kevinfleischer2049 even for hardware, environment may change dramatically. That's why you want to prototype something first and see user's feedback before enabling full-scale manufacturing of the product. Yes, cycles can be longer, but the whole idea - as quick feedback loop as possible, is the same. And this is especially true now when firmware for a lot of devices can be loaded any time.
@esra_erimez
@esra_erimez 11 місяців тому
This video has been the story of my professional life as a developer
@SoftwareInTheWoods
@SoftwareInTheWoods 11 місяців тому
Kent is right. The problem isn't so much in software engineering as a function, but all the hangers on in the modern day tech cargo cult trying to justify their own roles. We won't build anything without someone building 3 wireframes, someone else doing UX research to test it, someone else doing business analysis, then someone else deciding where this priority sits on some backlog. Even when it gets into the engineering team, someone will break the feature down into minuscule JIRA tickets they call stories. And all that excludes content, risk, compliance, infosec and infra reviewing everything before it goes out the door. But, you know, we're "agile" because at least we as developers don't have to write PRDs - so now our documentation is a massive mess across Confluence, Miro and Google Docs.
@davew2040x
@davew2040x 11 місяців тому
I understand the gripe, but i think the implied resolution here is “just let the developers be the local gods of everything and it’ll all just work itself out”. As a developer who has enough trouble keeping up with the current cutting edge of implementation and process best practices, I certainly don’t think that’s very sustainable either. I think the path forward for companies is a model where everybody has their strengths and is respected for the values they bring to the team, but where that input is still not ironclad. If I’m strong in React and CSS, then maybe I can drive the UI discussions but still be receptive to product when something isn’t matching the customer’s mental model of the domain. It i’m an expert in distributed cloud architecture, then I should still be responsive to the idea that I could be building a system that’s hard to work with to satisfy overkill performance expectations. The problem is that today’s waterfall-in-disguise status quo is fundamentally driven by commitment to unreasonable schedules, and that makes people fearful and prone to finger-pointing whenever anything goes differently than the ill-conceived plan, and that’s the kind of the problem that leadership creates and solves.
@thomascking
@thomascking 11 місяців тому
I've always loved the Cargo Cult comparison. There are literally (figuratively, if you must) rituals, and they're called as such. If we're doing the rituals, it must be Agile; if we pretend to run an airport, then the cargo planes will come back.
@_Mentat
@_Mentat 11 місяців тому
It's certainly a cult. They talk of ceremonies, rituals and artifacts. And the believers have religious fervor. The Scrum Masters and Product Owners support it like their (working) lives depended on it. Which they do.
@istovall2624
@istovall2624 11 місяців тому
This guy gets it
@errrzarrr
@errrzarrr 4 місяці тому
We need back those traditional roles: UI/UX, business analysts, Software Architects. We need it for our own sanity. We need it and the business needs it, there's no shame in that.
@Sergio_Loureiro
@Sergio_Loureiro 11 місяців тому
One of the reasons people doesn't like agile is because what is taught to them as Agile. I am seeing, in different environments I've been working, people thinking that Agile is: - having a meeting in the early day on what they did the day before. - reporting how many hours they spent on some feature - trying to implement some process - having a scrum master at the end of the week asking how things are going - having a sprint window of 2 weeks - having estimations meetings - having a retrospective meeting at the end of each sprint - etc. This can be Scrum, but it is not definitely the definition of Agile, as Agile is a more generic and abstract concept. We can even say that there are other ways to do Agile which are not Scrum. The main reason people is in such a state is because the Scrum process is commercially more sellable as training courses, than Agile. Come on people, the Agile manifesto is only 12 principles and so much more quick and easy to read and understand!
@macmcleod1188
@macmcleod1188 3 місяці тому
I'm retired and I preferred RUP. Based on my rusty recollection, it went something like: 1) Create a feature set contract. 2) Identify any risky (non-construction) features and develop time estimates for the non-risky features. 3) Prove the risky features/new technology will work on a trial project before starting any construction work. 4) Firm Time Boxing between 4 and 6 weeks. I preferred 5 weeks. Remove features not ready- never delay the release unless it means there are no features.. 5) No new features without renegotiating the schedule. Agile never worked from what I could see. And waterfall lead to *very* expensive failures after doing all the easy work and then discovering a risky feature was impossible. All you need for the above is A) A business analyst who understands the business and software development to create the user requirements. B) A programmer analyst to create and update the feature specs/contract C) A team of programmers and a project manager. In some cases a systems analyst and data base administrator.
@AlignToDeliver
@AlignToDeliver 2 місяці тому
That sounds more like Feature Driven Development, which fixes scope and flexes time as an approach to agile software development.
@thought-provoker
@thought-provoker 11 місяців тому
One of the main problems is holding developers accountable for building the right thing right at the right time - whereas the problem often isn't nearly so much what developers develop, but that customers (stakeholders) often can't even agree on a common goal or on the steps to reach this goal, and managers are unaware that the difficulty is aligning until the people who need the product understand what they really want, and how they want it. I've been working on an approach that focuses much more on these dynamics than on stuff like Sprints, Velocity, Planning and other things happening in development teams. We're not going to solve the real problem causing development teams to fail as long as we're not fixing the introduction point of failure, which is misaligned goals, wrong mental models - and procedural as well as organizational structures that don't permit improving on these.
@ComradeOgilvy1984
@ComradeOgilvy1984 11 місяців тому
Exactly. It is very common for customers, whether internal or external, to not fully understand their own requirements. It is not easy to imagine the details of something they have not seen before.. So if you are not building a trivial variant of some standard existing software, you need to include a learning process along the way.
@FudgeYeahLinusLAN
@FudgeYeahLinusLAN 11 місяців тому
@@ComradeOgilvy1984 Yep. And there's rarely any "budget" for that learning process.
@deanschulze3129
@deanschulze3129 11 місяців тому
I've run into this problem multiple times. The end user doesn't know what they want. They have a general idea but haven't thought through to completion what it is they want built. That's where agile requirements come in. As developers we make our best guess what the customer wants and build a prototype quickly. Get feedback and iterate again. Software iterations can drive out ambiguities in requirements. You don't have to determine everything up front. Ambiguities can open up opportunities that you couldn't see earlier in the process. Ambiguity isn't always a bad thing.
@ComradeOgilvy1984
@ComradeOgilvy1984 11 місяців тому
@@deanschulze3129 Exactly. If you press a customer for the details of what they want, they will tend to try to explain in terms of standard things that already exist, regardless of how mediocre the standard things are for the problem on hand. Now, that is not necessarily a terrible mistake as a beginning point if you plan on improving iteratively, but it points to why trying to make detailed requirements early tends to be counterproductive -- you exhaust your customers and stakeholders early, and they quickly get frustrated when things do not turn out well. Better to start off with the mindset that early deliveries will be BOTH good and mediocre, but improvement is inevitable, and THEN it makes sense to press for detailed feedback and guidance.
@Tony-dp1rl
@Tony-dp1rl 11 місяців тому
Don't leave QA out of that approach you are working on. Most of the problems in the industry could be improved by intelligent QA teams focusing on set-based methods of testing - i.e. develop tests that will work REGARDLESS of the implementation or language or project methodology or team structure. Do that, and you have a control gate against the problems with code, stakeholders, processes, bad design, etc. QA is the most important part of the process, and TDD is not the answer (sadly, I wish it was).
@phillewis3108
@phillewis3108 11 місяців тому
The problem now is that all the “agile gurus” are selling waterfall, and calling it agile, and really, honestly believing it’s agile. And if you try to describe “real agile” (say XP) to them, they think you’re insane.
@archi-mendel
@archi-mendel 11 місяців тому
The last step would be to stop calling any methodology (even XP) "real agile" :)
@slipoch6635
@slipoch6635 11 місяців тому
Yeah it's basically the SEO market for management.
@godisB2eenus
@godisB2eenus 6 місяців тому
Joke's on the people paying so-called "gurus", who never wrote a line of code in their lives, to teach them about Software Development Lifecycle...
@hyau512
@hyau512 11 місяців тому
"Waterfall" is probably still considered a pejorative term, but I have seen it sneak in through constructs like "Quality Gates" and "Sign offs" which are demanded before a project can proceed.
@ContinuousDelivery
@ContinuousDelivery 11 місяців тому
Yes, I think that there is a kind of "new speak" around waterfall thinking that attempts to hide it. Not sure if it is on purpose, but it certainly exists. Most companies that I work with still divide dev into a series of steps or stages, with very little iteration or feedback between them. Whatever you call it, that's a waterfall!
@davetoms1
@davetoms1 11 місяців тому
<a href="#" class="seekto" data-time="212">3:32</a> "The fiction is so attractive that people are going to return to it." Never heard a better description of people thinking Waterfall is great.
@MarkStoddard
@MarkStoddard 11 місяців тому
It's engrained in humanity that we think we can design things better than we actually can. Some people realize this and understand agile, but most don't "The curious task of economics is to demonstrate to men how little they really know about what they imagine they can design" -FA Hayek
@THEMithrandir09
@THEMithrandir09 11 місяців тому
Waterfall is perfectly fine... if the entire cycle takes no more than 15 minutes and you test before you implement. Then you repeat.
@pjdominey
@pjdominey 10 місяців тому
I find the problem between waterfall and agile is the, very human, assumption that one-size-fits all. So I see agile (for example) trying to be applied to the coding of the fire-control computer of a tank as though there is the possibility of pushing out changes incrementally to equipment deployed to the field force. Indeed that same condition being applied to Geostationary satellite. These are not places to try to do agile. Just as IT mgmt want a one-size-fits-all language they want the same thing in development. It's just not in the real world.
@dijoxx
@dijoxx 4 місяці тому
Conway's Law: The structure of a system is determined by the communication patterns of the people who design it. In other words you can't change the process without changing the organizations. If you have four teams developing a compiler, you'll get a four pass compiler. Going Agile®™ in practice usually means renaming the existing structures, titles and processes. You still end up shipping the org chart. So the best you can hope for in traditional organizations is a wise technical vp or similar who has the trust and backing of the upper management to get things done, and who will recruit the right development team before granting them necessary autonomy, resources and shielding for them to organize and execute as they see fit.
@piotrkozbial8753
@piotrkozbial8753 4 місяці тому
This "law" treats people as non-sentient, pretty much.
@dijoxx
@dijoxx 4 місяці тому
@@piotrkozbial8753 The system doesn't really allow and incentivise individualism, virtually by definition.
@ormundwilliams8065
@ormundwilliams8065 11 місяців тому
I remember a customer asking me "How long would it take if you don't put the bugs in?"
@_Mentat
@_Mentat 11 місяців тому
Haha, a lot longer of course. Industry average is $50 per line of code. NASA pays $1,000 per line of code. That's the cost if you want defect free code.
@DanielLiljeberg
@DanielLiljeberg 11 місяців тому
I dove into the agile world around 2007. I feel something has happened where we today have more companies than ever claiming to be, or wanting to be, agile and more companies than ever that got the whole thing wrong. I think there is a lack of knowledge and understanding about what agile is among the people who have the power to decide to use it so we get agile "implementations" that are teams having the different events of Scrum without understanding why they do them. Then the teams are filled with roles (instead of competencies) that all have specific areas they were hired to work with such as fronend devs, backend devs, testers, UX designer etc. It all just creates small waterfalls that we package into "sprints" that are carried out by groups of individuals who have never gotten the opportunity to understand the true foundation of agile and thus are in no position to improve according to it despite having "restrospectives". All while having "managers" who can't support because they misunderstood the whole thing from the start :)
@archi-mendel
@archi-mendel 11 місяців тому
It's all about title-case Agile, that is a simulacrum of actually being agile. That enterprise-type Agile camouflages command and control under some activities that mimic flexibility by giving minimal self-organization and ownership practices to employees.
@geelee1977
@geelee1977 2 місяці тому
"I feel something has happened where we" --> A lack of qualified engineers, allowed management to entertain the notion, that those skills could be replaced by process. Agile makes that promise. Not skilled in the SCIENCE of estimation? No problem, use points. Not skilled in grasping requirements? No problem, use use cases and cycles. Now, the industry is overrun with "developers" instead of engineers, and we still have ZERO empirical evidence, that most agile methods, ACTUALLY meet the claims of their proponents.
@neethology
@neethology 11 місяців тому
Great analogy, beautifully said.
@justintomlinson9311
@justintomlinson9311 11 місяців тому
Kent talking total sense here so clearly. Thanks for this one Dave Farley.
@ssssssstssssssss
@ssssssstssssssss 11 місяців тому
I hate it that a supposed engineering field has become so overrun by demagoguery. Evaluating uncertainty, risk and complexity should be the starting point of how engineers manage the project. And then they should choose a project management model that fits the problem. Like if you are dealing with high uncertainty, especially in terms of whether the proposed solution will solve the problem, you definitely do not want to use pure "waterfall". You might want to start with throwaway prototyping until you are fairly confident in your solution.
@closeredge5198
@closeredge5198 11 місяців тому
What you described sounds like 'agile ', and by that, I don't mean a methodology, but more of a principled approach based on circumstances
@piotrd.4850
@piotrd.4850 4 місяці тому
@@closeredge5198 no, that's common sense.
@closeredge5198
@closeredge5198 4 місяці тому
@piotrd.4850 and agile principles DONT include common sense ideas ( empiricism, inspect and adapt, collaboration etc) ???
@zakaria20062
@zakaria20062 6 місяців тому
As business perspective , dont allow or give many chance to client to make changes during development, it go very very strict as : Requirements ? Client ok ? Sign . ui design ok ? Please sign . Testing prototype ok ? Please sign . Etc … I hate agile cause have lot of talking and micromanaging like asking stupid question how long taking you to fix bug .
@sirgregoryadams
@sirgregoryadams 11 місяців тому
After about a decade in IT and the majority of that time in software development, every attempt at following an agile approach within a larger organization that I've seen has been an unmitigated disaster. The main argument I always heard was that "it's just that nobody is doing it right", but at some point, you have to wonder... Can it even be done? Is it even compatible with how most businesses operate? I mean, nobody wants an agile payroll: "Yes, we'll either send you money every n days, but not sure how much, or exactly n amount, but not sure when."
@piotrd.4850
@piotrd.4850 4 місяці тому
Agile is for one-pizza-team internal organisation. It is NOT Project Management methodic, much less PRODUCT management.
@ingramdw1
@ingramdw1 3 місяці тому
I'm am with you on this. 40 years on software projects and it's black and white. Early waterfall projects in my career were successful, latter day Agile projects are truly awful. I feel sorry for young developers that haven't known anything but Agile, they have no clue there's a better way.
@playnvanilla5176
@playnvanilla5176 11 місяців тому
It feels to me that oftentimes people in charge try to hide behind the word "agile" when they tell programmers to implements something without knowing what they want and without having thought much about it. Having iterations in the development process seems to often be used as an excuse for "I don't want to think about it now. We'll have another iteration anyway." Then, ten iterations later, they think about the concept and suddenly find out that they want features which are in absolute contradiction to what has be developed thus far. It is frustrating.
@deanschulze3129
@deanschulze3129 11 місяців тому
When end users won't do the work to create good requirements up front then developers can use software iterations to hone in on what the requirements should be. Get feedback and iterate again. This approach may not be ideal but it works.
@salvatoreshiggerino6810
@salvatoreshiggerino6810 11 місяців тому
I think that’s why people are asking for waterfall to return. It’s not that they wouldn’t rather be agile, it’s that they want the people at the upper tiers of the waterfall to have some accountability that is missing from the fake-agile waterfall.
@salvatoreshiggerino6810
@salvatoreshiggerino6810 11 місяців тому
Also unlike fake-agile waterfall, traditional waterfall is quite a lot more empirical and iterative. You build scale models of your structures and test them in wind tunnels and wave tanks and the like, then go back and refine them before passing the design down the waterfall and build it for real.
@hawhite2000
@hawhite2000 11 місяців тому
I think the basic problem that I don't think has been solved to everyone's liking is progress tracking. People understand how to track progress in a waterfall method; they don't in agile. It's not that tracking isn't happening but is the tracking that is being done communicating that each iteration is moving you perceptively towards your final goal, or are people moving on faith that it will get done.
@buckstraw925
@buckstraw925 10 місяців тому
It is really quite straight forward to run a longer phased roadmap for management and the rest of the company (which works for them) while the Dev Team sits underneath in an agile style software development AND they CAN fit together quite nicely. There are a few keys to make it successful. One is to recognize that a longer term roadmap is in itself agile by default given that the world is dynamic. All those people screaming for the market plan and then subsequent old school approach to product development are going to change the requirements rather quickly as time goes on. Let them and simply embrace it by updating the roadmap regularly (e.g. monthly). Do that in a collaborative style. A 2nd key to help get buy-in from Dev is to ensure that the roadmap items only list the very top requirement areas and also add a form of "commitment" (I use a padlock) which is really only set very near a major milestone level release. The business people will be ok because they "see" their big hitting items in a planning document while the Dev team can independently determine the levels of things that get built and the roadmap items themselves will only make up a part of the deliveries leaving all the agile style improvements to occur naturally in the manner that Dev would like them to occur. That way Dev will have the feeling that they are entirely working in some form of agile based development yet there will be a level of planning above that speaks to the business minded people. A "have your cake and eat it too" approach that actually works really well as long as you have a few key people in the middle of the process who understand both how Dev Team's think and also how the more business minded people view the world.
@dantobias4520
@dantobias4520 11 місяців тому
Don't go chasing waterfalls; please stick to the rivers and the lakes that you're used to.
@yannsalmon2988
@yannsalmon2988 2 місяці тому
As an UX/UI Designer, I never really understood all this melodrama about which method to use, waterfall, agile or whatever you call them. The problems start if you mindlessly try to stick to the letter to one of them. Some tasks need waterfall, some need agile, some may need something else that is not listed. If you want to be efficient you have to know which one to use for what, when to switch or mix them all together. Waterfall is kind of the best case scenario but it’s unrealistic so you need to be agile. But still, the aim should always be to come closer and closer to the best case scenario through agility. To make an analogy with drawing, agile is sketching with pencil, waterfall is drawing with ink. It’s almost impossible to get a good ink drawing without sketching it with pencils first. On the opposite, you rarely can leave your drawing to a pencil sketch, you have to finalize it with ink at some time. The greatest moment for me with agile is when it stops to be useful. Overdoing it with agile is in my opinion a mistake because you’re always on unstable ground with it. Or you can get stuck in a never ending redoing process that just screams « kill me now » because it’s going nowhere. There are moments where agility in a project becomes weird acrobatics and you just have to ask yourself « what were we trying to do in the first place ? ». On the other hand, sticking to the plan at all cost with waterfall will most of the time lead you into a brick wall with no way to go around it or go back, so that’s not good either. As an UX/UI designer, I often find myself stuck in the middle of those kind of things, trying to compromise between the expectations of marketing and development while trying just to deliver the best user experience possible (who’s point of view is often forgotten in those processes). In my opinion, the solution is not even in between but with a bit of both or whatever works for the project. I don’t care if it’s called waterfall, agile or whatever’s trending these days. Let’s just work the smartest way possible with all the tools we have at our disposal.
@Flamechr
@Flamechr 11 місяців тому
Funny thing is that hardware works best in waterfall and software on agile because software change alot more than hardware. Most companies sells hardware and think waterfall. That is why software often struggle because they have to explain why software is alive and change all the time. Like new cyper security, AI and so on. Hardware often need to completly change its specs. And that is the beauty of software you can change the product without having to change supply change around it.
@kwesisalim
@kwesisalim 11 місяців тому
And here i was thinking i was crazy this entire time. Glad i'm hard headed and was taught critical thinking early in life. The process of creation is ancient and time tested.
@boandersen3818
@boandersen3818 2 місяці тому
How do you work with deadlines within agile? If you have a customer within a budget, and he wants to know if this is possible within the budget, how do you handle this? Is agile about just start and iterate until it is finished?
@danielgilleland8611
@danielgilleland8611 11 місяців тому
Part of the reason Waterfall is still done by "smart people" is because in education, WE haven't moved beyond waterfall. (I speak as one of the educators at the post-secondary level, and getting change to happen is like pulling teeth.) Change happens as the speed of tenure....
@nakaimcaddis5531
@nakaimcaddis5531 11 місяців тому
I still remember the time some of the CS capstone students complained to the faculty that the structure of the capstone class enforced a waterfall development method since the first deliverable was a requirements doc, the next deliverable was a risk analysis, etc.. They were not happy about that but they also didn't have much of a retort.
@AlexeyVasilyev644
@AlexeyVasilyev644 11 місяців тому
Don't need planning before you find root cause of Customer's problem . In 1st book edition Beck said "Use cheap experiments", and thinking processes of Theory of constraint provides it. And you should have good agile design and evolution road map before coding. When you have design and evolution road map then coding it just coding without thinking. Steps: 1. Find the root cause of Customer problem. 2. Describe the Goal which solve the problem and verify it. 3. Create the shortest way howto reach the Goal. (You'll get path with small and simple objectives) 4. Write (by pen on the paper) architecture solution design. 5. Think a few days about design evolution (about next steps) and write it. 6. Write code via TDD according you design. Remember: When Client/Customer ask something its Hypothesis. The root mistake of Agile -approaches - they think that Customer HAVE the Solution.But, Customer always HAVE only Hypothesis about Solution. Because Customer is not an engineer. After solving first root cause, you need verify solution, and repeat steps for next Customer request.
@hexchad765
@hexchad765 11 місяців тому
Unironically suggesting waterfall is something I've seen more in the last 5 years than ever
@pandastory-abookseriesabou8568
@pandastory-abookseriesabou8568 8 місяців тому
​👌🏻​ Agreed 🚀​
@evancombs5159
@evancombs5159 11 місяців тому
Both agile and waterfall are good, just depends on the situation of your project.
@Delmania01
@Delmania01 11 місяців тому
No, waterfall is terrible. In the paper that describes it, the author wrote to not practice this.
@marna_li
@marna_li 2 місяці тому
This is what I believe: Developers can’t escape the obstacles of plan-driven development unless they start to empower themselves and challenge the management. But most developers care just about doing programming. Leaving steering to someone else.
@pandastory-abookseriesabou8568
@pandastory-abookseriesabou8568 9 місяців тому
👋🏻​ Like it! ​🎯
@Alanblumenmkt
@Alanblumenmkt 11 місяців тому
The critics against waterfall Model are also apply to V-Model?
@karlgustav9960
@karlgustav9960 3 місяці тому
Agility is important and a good approach in a domain or market that is either not well researched or very volatile. If you are building the second iteration of a b2b finance suite, there is absolutely no reason to work agile, because a) there is no reason to reinvent the wheel, only to put it on a new tech stack and b) the legal requirements in combination with the financial and time constraints make it completely unnecessary to „explore the solution space“. If it’s a new concept for b2c? Sure agile is great. For a b2b suite that has competitors that have very standard feature set, there is little room for innovation and really it’s obvious what the software has to do. Sad but true 😢
@edgeeffect
@edgeeffect 11 місяців тому
I was basically taught waterfall in Computer Studies at school... and we kept trying to side step the initial stages and get the program running... our teacher used to tell us "I know your way is QUICKER and EASIER but you're 'cheating' you've got to do it the SLOW, COMPLICATED way because.... because... that way is 'correct'".
@ContinuousDelivery
@ContinuousDelivery 11 місяців тому
Sadly this kind of teaching is still happening, usually from people who have never built software for real.
@_Mentat
@_Mentat 11 місяців тому
What the teacher meant is your way wouldn't scale, but you have to learn a scalable methodology even though a school project doesn't need it, because in the real world you will need it.
@edgeeffect
@edgeeffect 11 місяців тому
@@_Mentat that's funny.... I talk about being at school (40 years ago) and you assume I'm still there or, at least, only just left. :)
@_Mentat
@_Mentat 11 місяців тому
@@edgeeffect Nothing in what I wrote implied you are currently or were recently at school.
@errrzarrr
@errrzarrr 4 місяці тому
I am amazed how everybody is blaming waterfall but it's SCRUM which rigidly prescribes 2-week sprints. Wild.
@loloverland
@loloverland 3 місяці тому
Agile is just an iterative collection of waterfall increments, short/small enough to reduce risk, long/big enough to create value. Design, build, test, deploy, et voilà. One can split it, name it differently, the underlying overall process is this one, whatever is the stuff you plan to get
@ashimov1970
@ashimov1970 10 місяців тому
The army of marketers wants both food and you to feed them. That's the root cause of problems with Agile adoption
@AlexFirsikoff
@AlexFirsikoff 11 місяців тому
David, but isn't this natural trend towards waterfall just a symptom of the accounting practices and budgeting the companies do based on yearly iterations? I mean when you have a budget planned for the year, as a senior leader you would of course ask your IT folks to give you some form of a development plan for a year ahead. What do you think?
@ContinuousDelivery
@ContinuousDelivery 11 місяців тому
I certainly think that's a factor, but the accounting practices and budgeting practices are just another facet of the same overly naive approach to, in this case, business. This is the bureaucratic response. I think it may be possible to get away with such inefficient, "distanced from reality" approaches for things that aren't exploratory and creative (like software), but even for those things it makes everything slower and less efficient. For exploratory and creative problem solving disciplines, like SW dev, it is death. I don't know of any great SW that was built this way. Read the "Mythical Man Month" (Fred Brooks saying the same things in the 1970s, or "Rapid Development" (Steve McConnell saying the same things in the 1990's). This bureaucratic approach is naive and completely misunderstands what SW dev really is.
@CallousCoder
@CallousCoder 3 місяці тому
That is management for you. If one doesn't work try the other only to go back to the methodolgy that didn't work in the first place. But they don't assess why projects failed in the first place. And I know why, lack of pragmatism and allowing enough time experiment to find the best solution. Neither methods are a saint or a burden, you need to go about it pragmatically. I worked in film and that's truly a combination of both waterfall and agile. On set and in post production everything is agile when things don't work as planned in the waterfall stage we work around them and make sure we get the shot, or remove the shot if it's not that necessary for the story.
@ZFlyingVLover
@ZFlyingVLover 11 місяців тому
Every product whether software or something tangible like a building needs a waterfall stage to lay the foundation or scaffolding which is the 1st %10 of the product. After that you can increase capabilities with agile. Agile w/o waterfall is the same as your manager saying "Start coding, I'll tell you what I want later"
@ContinuousDelivery
@ContinuousDelivery 11 місяців тому
Nope! Agile is "I think this is the right answer, but it may be wrong, how can we find out?" - which is also how science works! Waterfall is "If I think really hard I can get the answer right first time" which is how nothing ever works.
@adtorresitpro
@adtorresitpro 11 місяців тому
@@ContinuousDelivery nope. I said the foundation is organized with waterfall. The other %95 is agile. Unless you subscribe to start coding and then we'll tell you what we want. Retrofitting or planning the foundation after the fact is how kids plan
@arekxv
@arekxv 8 місяців тому
Agile without plan is terrible and almost certanly leads to unmaintainable designs. Some degree of waterfall is absolutely needed in agile. You must have a general idea, general plan and general approach defined and have some idea to make things maintainable. Anything else is just terrible. Agile by itself JUST doesnt work.
@michaelthompson7217
@michaelthompson7217 11 місяців тому
another bikeshed discussion from my favorite bikeshed channel
@RU-qv3jl
@RU-qv3jl 11 місяців тому
So true that waterfall never went away or is coming back. At the place I work they’ve gone back to introducing things like hard and fast DoR where everything must be ready before you start. Hello stage gate my old friend… We also have 3 DoDs. Dev done, testing done and release done. They must be fulfilled in that order and completed before the next stage. So dang irritating that everyone tells me we are agile too… Oh yeah, because we use scrum terminology we’re so agile…
@tomasramirezgomez5564
@tomasramirezgomez5564 3 місяці тому
The waterfall method never existed in the way it was mocked by the Agile Gurus. The waterfall method was always iterative, in a process where it goes from the most general concept levels to the level of detail. This has always been working in architecture, civil Igeniería and other industries that develop projects. In this way the waterfall method is not that it returns, it is never gone.
@ContinuousDelivery
@ContinuousDelivery 3 місяці тому
Sorry, but that is simply untrue, I worked on several projects that were run without there being any iteration, in fact in my experience that *is* the norm for waterfall projects. Structurally it is quite difficult to avoid. If you spent 3 months in analysis and 4 months in design, and then a developer says "this is wrong" what is the mechanism to correct the analysis or design? If you spent 6 months building the system and then during testing, find that the architecture is so bad that it makes the system too slow to use, again, what is the mechanism defined in most Waterfall projects to correct this, without redoing the whole waterfall. All of these are real world examples, from projects that I have seen myself!
@tomasramirezgomez5564
@tomasramirezgomez5564 3 місяці тому
@@ContinuousDelivery Well, that only means that your experience has been bullshit
@npkonstan1681
@npkonstan1681 10 днів тому
Well said,they sell lies and yellow stickers to the wall.
@KyleTurpin42
@KyleTurpin42 11 місяців тому
The irony is killing me that my employer has been working through a Waterfall management of Agile implementation. It's been like 3 years we've been talking about Agile, aiming for Agile, hiring for Agile, training for Agile... Still in progress.
@ContinuousDelivery
@ContinuousDelivery 11 місяців тому
Yes, sorry to say that is often how waterfall looks 🙃
@wannabedal-adx458
@wannabedal-adx458 4 місяці тому
I think Agile works only in small, relatively short duration software projects. Any large piece of software or something that has to be integrated with other hardware and other engineering disciplines (like UX development) you run into problems. In a large development program (especially if it is for a public sector or defense application) you need some type of program/project level planning and reporting. Also because I have seen that software developers that i work with (on a large aerospace project) do not understand where there coding fits into the bigger picture. They are farther removed from the stakeholders. Plus the intermediate step is the UX design process. I am not saying waterfall is better than Agile, just that it is a necessary evil in large programs. Agile can work within a waterfall development process though. Thanks.
@michaelpastore3585
@michaelpastore3585 11 місяців тому
Waterfall is the best approach when nothing will ever change and everything is entirely known right from the beginning. Which is the case in exactly 0% of software projects.
@ninocraft1
@ninocraft1 11 місяців тому
it doesn't matter what system you use
@_Mentat
@_Mentat 11 місяців тому
Not true. We sign a contract with the customer before development starts. It's extremely rare for the customer to want changes, because with our help they correctly specify their requirements upfront.
@mecanuktutorials6476
@mecanuktutorials6476 11 місяців тому
Things actually work better this way in embedded. Agree, for pure software however.
@piotrd.4850
@piotrd.4850 4 місяці тому
Agile evangelists on the other hand promote concept, that 0% CAN be known or designed, so let's just figure everything out on the way.
@OSGuard9394
@OSGuard9394 11 місяців тому
The struggle is real...
@arasefe
@arasefe 11 місяців тому
This whole estimating and negotiating thing work against developers. First developers tend to underestimate as it is very difficult to foresee all the edge cases in a 1 hour meeting called refinement and secondly developers are awful at negotiation and when pressed against they easily lower their estimations as they want to go back to programming instead of discussing a guy who can be either a PM/PO/BA etc and who has a sole purpose of lowering the dev time. I think this agile development thing is completely working against dev as it tries to put all risk thus pressure on devs.
@errrzarrr
@errrzarrr 4 місяці тому
Exactly
@Whyoakdbi
@Whyoakdbi 11 місяців тому
Agile is Waterfall but with shorter iteration cycles. Basically many waterfalls jammed into your plan, so you're able to more quickly react to change or positive/negative feedback from your stakeholders.
@piotrd.4850
@piotrd.4850 4 місяці тому
....as result, it creates permament 'crisis mode' and discourages long term thinking and investment.
@Caldaron
@Caldaron Місяць тому
<a href="#" class="seekto" data-time="54">0:54</a> a bit of a rambling going on haven't we?^^
@om-qz7kp
@om-qz7kp 6 місяців тому
It is even more interesting when u try to apply agile to hardware development.
@eyesopen6110
@eyesopen6110 11 місяців тому
If I had a penny for every time someone said agile was the necessary...70% of your time ends up in backlog refinement and standups.. It only benefits lazy management.
@mecanuktutorials6476
@mecanuktutorials6476 11 місяців тому
“Lazy” management? More like micromanagement on steroids with unclear expectations and a lot of breathing down your neck.
@_Mentat
@_Mentat 11 місяців тому
Exactly, it means management can abdicate and not learn the software. They say you self-organize and I'll just count the story points.
@errrzarrr
@errrzarrr 4 місяці тому
Exactly. I am amazed how everybody is blaming waterfall but it's SCRUM which rigidly prescribes 2-week sprints
@eyesopen6110
@eyesopen6110 4 місяці тому
@@errrzarrr Exactly. For 'actual' development, two weeks is easily not enough, especially considering all the time wasted in "daily scrum" and associated BS..
@kevinmcnamee6006
@kevinmcnamee6006 5 місяців тому
As a product manager I don't really care which system R&D is using as long as they can tell me when the system can be delivered to a customer. From my past experience, R&D teams using an Agile methodology are often unable to accurately predict when the software can be delivered to the customer. That said, those using the waterfall methodology always have accurate predictions, but they don't always come to pass. Maybe there's a better way.
@biomorphic
@biomorphic 5 місяців тому
There is not such a thing as accurate predictions. That is why they are called estimations, and not deadlines.
@kevinmcnamee6006
@kevinmcnamee6006 5 місяців тому
Unfortunately the prediction (estimate) always seems to morph into a deadline.
@piotrd.4850
@piotrd.4850 4 місяці тому
@@kevinmcnamee6006 nope. Usually it's fixed deadline, fluid sopce and "make it fit" like in Pentagon Wars.
@dont4922
@dont4922 3 місяці тому
Product needs to be a part of R&D. You know the date customer wants ‘something ‘ , so set a target date, and work closely with the team to build to the most valuable things first
@FraggleH
@FraggleH 11 місяців тому
Meanwhile, the past 18 months of my life have been spent in a DO-178 project where we are constantly being sabotaged by 4 year-old requirements that made no sense even when they were written, but woe betide anyone who wants to get them straightened out. The entire philosophy appears to be making change as painful as humanly possible, even at the cost of having non-working software...
@dripcaraybbx
@dripcaraybbx 4 місяці тому
To be fair, developers doing interface design never worked either
@davidk7212
@davidk7212 11 місяців тому
That thumbnail pic is giving me Hellraiser vibes.
@CoxJul
@CoxJul 4 місяці тому
There aren't two software engineering methodologies - there's a whole continuum/spectrum between 'full' agile (Kent's XP?) and waterfall (SSADM anyone?). Your discussion about management and decision making structures (and cultures) are struggling to reconcile as a suitable, workable approach for a multitude of companies I deal with who claim to be working using 'The Agile Method'.
@thatvlad2821
@thatvlad2821 11 місяців тому
To me it looks like lack of trust between management and devs. The market for lemons. And developers contribute to this problem a lot. In many cases, no matter the style of management, devs fail to deliver good quality software. The funny thing is that a lot of practices that make agile agile are development practices and yet in many cases if someone within the team proposes doing TDD, architecture, CI etc, the first line of defence is her/his fellow developers: "no one needs it anyways", "we're not curing cancer here", "it's just CRUD app don't gold-plate it".... For whatever reason we believe that build automation==CI, that MVC,MVVM,(any geometry figure or an acronym)==architecture, that tests can be written a week after deployment and it's fine (sure, it's better than nothing), that pull requests is the only proper way of collaboration within the team... and all those believes create "common universal wisdom". And we're waiting for management to bring agile to us.
@adambickford8720
@adambickford8720 11 місяців тому
Have a relatively flat org, flexible deadlines/scope and empowered devs? Agile is a wonderful fit. I can also advise you on how to feed and care for your unicorn.
@JaumeSabater
@JaumeSabater 9 місяців тому
Chnage needs to come from the top. If the directors dont buy it, there's little to be done.
@chauchau0825
@chauchau0825 21 день тому
As someone with system integrator background, I consider waterfall done right is far better than the fake agile people are doing
@AlexBunardzic
@AlexBunardzic 11 місяців тому
Not surprisingly, waterfall thinking is making a big comeback. Why? Well, ChatGPT is incapable of embracing change, but it's really good at executing on a Big Upfront Plan. And because the plan is to utilize it for software development, we must go back to waterfall.
@shurnitajones8633
@shurnitajones8633 11 місяців тому
Lol
@briancornish2076
@briancornish2076 11 місяців тому
Waterfall is a small suburb of Sydney on the edge of bushland, and as such, lacks the scalability of Agile, which is essential for climbing rocks and goat tracks.
@theteacher010
@theteacher010 11 місяців тому
<a href="#" class="seekto" data-time="166">2:46</a> I wasn't prepared to hear Kent Beck unironically use the word "unironically".
@rustythoughts
@rustythoughts 10 місяців тому
I think fixed cost outsourcing and insourcing models make people think that they can’t start until they know how the work will end. After all how else could fix the costs? And lots of organisations really want fixed cost outsourcing to work. Once you buy into that fixed cost assumption a fixed scope follows hot on its heels and waterfall follows intuitively. Such assumptions and intuitions have to discount what will be learned through implementation, particularly when handling the complexities of implementations are what need to be understood. Intuition can be a really bad guide to handling complex problems that require learning and discovering to solve.
@ContinuousDelivery
@ContinuousDelivery 10 місяців тому
Absolutely! The thing I wonder about is how we managed to allow ourselves, as an industry, to fall into this bucket. We don't have "Fixed cost lawyers" or "Fixed cost medical advice" or "Fixed cost shopping" or "Fixed cost business decisions", or "fixed cost marketing campaigns". I suppose we have crazy people attempting all of these things, but the reality is that lots of stuff doesn't work on the basis of being predictable. Why do so many orgs attempt to work on the basis that software is predictable, when it so clearly isn't? People have been trying, and failing, to treat it as a predictable thing since at least the 1970's, maybe it's worth trying something different by now? 🤣
@slotos
@slotos 11 місяців тому
Resurgence (well, it never went anywhere) of waterfall seems to me to be a mirror of scientific vs religious thinking. Religious thinking assumes that world is solved or at least solvable soon. Scientific thinking embraces uncertainty and goes into the unknown.
@imqqmi
@imqqmi 11 місяців тому
In all the discussions about agile and waterfall, I think your comment hits the mark closest. It's belief vs empirical evidence, assumption vs zero assumption and trial and error, something like that. The synthesis between the two is common sense, that's my experience that gets the job done. Some assumptions need to be made, some kind of frame of reference or else the project spins so far out of control it tries to solve world problems. Too much meaningless trial and error gets you nowhere either.
@aaron5877
@aaron5877 3 місяці тому
I do not, and never will understand sprints and the rules around “oh no don’t start a 5 point story on the last day of the sprint you’re not allowed to carry it over! You should have planned better”.
@geelee1977
@geelee1977 2 місяці тому
The requirements, are actually ALWAYS static. There's always an "end state", at the beginning of every project. The person stating those requirements, may not know that though. So, it takes a person, or persons, with real skills, to figure them out. Companies hate paying for skill, real skill, and ALWAYS try to replace skill, with process. Agile makes the promise, that paying for the skill of determining requirements, is no longer needed, or, les involved/important. This violates an engineering principal in place for over 2000 years, and is a fallacy.
@peach_of_justus
@peach_of_justus 11 місяців тому
Since when does Kent Beck looks like the guy from breaking bad?
@liquidcode1704
@liquidcode1704 11 місяців тому
At least I've got the team to start rallying around the phrase "agile as a verb, not agile as a noun"! Baby steps!
@mr.guydvir
@mr.guydvir 11 місяців тому
Ok, I feel that I have to do it once and for all (honestly, I'm not being facetious) - dev gurus and agile advocates, what do you guys actually mean by 'True Agile' ?!? It all always come to the same thing - we all know of that 'fake' agile, doing long, slow processes sequentially with fancy terms and rituals and calling it 'agile'.. but what do you actually mean by the 'true way of agile'? Usually the people who preach for pure, true agile are software engineers (heck, the menifesto was written by software engineers) that refer mainly to software delivery and shipping, vs problem exploration, product discovery or market exploration, and that also feels narrow and lacking to me for understanding how it plays out in real life. It feels embarrassing to admit after being in the tech industry for more than a decade, but hard as I try, I still don't get a sense of what people mean when they envision a 'pure true agile' process. No more - I want to ask some questions: Do you see agile as a delivery strategy only, or a full product life cycle process? Do you see agile as a cross company process, or r&d only? If it's the latter, and it's about giving r&d full autonomy for coming up, designing shipping and user testing the product, how does that work (both on terms of skills, workload and dev velocity)? Do you take into account involving product designers in the process? If you don't, isn't that problematic? If you do, isn't that 'waterfall'y' in some sense already? If the former is true - what does an end-to-end 'true agile' cross process looks like (in an organization with product people, designers, marketeers, legal, QA, data analyst, etc.)? What keeps it agile and non-waterfall? --- I feel like there are these 2 camps - fake agile (waterfal with rituals and habits), and pure software-engineering-fast-delivery-agile advocates. Both don't make sense to me of you are actually building a product company that should move fast and smart - doing the right thing and doing it right.
@jlou888
@jlou888 11 місяців тому
Thank you for this. It's often debated as if software engineer is done in a vacuum, through a process piloted by an army of Kent Becks experience level developers
@marcinrutkowski9075
@marcinrutkowski9075 11 місяців тому
When I see AGILE and JIRA mentioned in the same job posting, I immediately know the job will be extremely frustrating and should be avoided. JIRA is a tell that the methodology is waterfall, development time and phases are set up front, and developers are accountable to meet the waterfall stages (but you also waste time for a morning standup and weekly progress reviews). By the time the project reaches production, its poorly architected, holding together by a bunch of hacks and likely became a rigid singleton to make it pass the deliverable requirements at the deadline.
@piotrd.4850
@piotrd.4850 4 місяці тому
In most places, Jira is not even configured properly.
@brownhorsesoftware3605
@brownhorsesoftware3605 11 місяців тому
The suits will never understand that software development is a recursive process. Why would managers support their own elimination?
@ComradeOgilvy1984
@ComradeOgilvy1984 11 місяців тому
Nothing genuinely new is likely to succeed without iterations. There were smarter, better educated, better funded engineers trying to build an airplane, when the Wright brothers won the race. The Wright brothers were simply more methodical about incrementally building towards their goal and learning along the way. They saw that building simple gliders that flew a little were a practical necessity, and there was a lot to learn to even get that to work.
@FudgeYeahLinusLAN
@FudgeYeahLinusLAN 11 місяців тому
Hey, there's plenty of non-suits that doesn't understand this either. I've got multiple 45 yo senior architects at my current client who doesn't understand any of this. Every single suggestion they make is a nightmare to build and maintain long term. And they've got final say because they're architects.
@brownhorsesoftware3605
@brownhorsesoftware3605 11 місяців тому
​@@FudgeYeahLinusLAN Hey, I feel you. I experienced the heaven of working for an actual agile software company which turned into complete hell when we were acquired by a large waterfall company.
@ComradeOgilvy1984
@ComradeOgilvy1984 11 місяців тому
@@FudgeYeahLinusLAN A lot of architects reached that position for being smart and hardworking. But smart and hardworking does not always mean wise. In fact, it can mean they are very afraid of revealing that there are things they do not understand, which is the opposite of wisdom in an ambiguous situation. Many ambiguities cannot be resolved by simply waterfalling harder, and the all that bad design work becomes a sunk cost albatross.
@deanschulze3129
@deanschulze3129 11 місяців тому
@@ComradeOgilvy1984 - I don't think the Wright Brothers is a good analogy for software development. They had to create the field of aerodynamics while they were creating powered flight. They created the first wind tunnel. They did a lot of work on internal combustion engines getting a high power to weight ratio. They had their own engine builder. That would be like developers having to create their own language and compiler while they were creating their application.
@pastordnepr
@pastordnepr 11 місяців тому
There is no such a methodology as "waterfall". Which one you're talking about? RUP or TSP or what? Iterative approach had been introduced into software dev long long before Agile.
@rrmackay
@rrmackay 5 місяців тому
If you want to miss your deadline is the most painful way possible go back to waterfall.
@SalihGoncu
@SalihGoncu 2 місяці тому
Agile is a way of getting totatlly inexperienced people and throwing them a project that they have no idea what they have to be doing and expecting them to learn on the job. Just not to pay the people with domain experience and knowledge. You may get away in projects that are transient: i.e. an app that is disposable. But if you are writing an infrastructure application, forget about agile. Does not work. You do not want to control your electrical system "by trying and learning". The software that needs to run there needs to be written by people who doesn't only know software development but also the domain knowledge of electric production, distribution and balancing. Do you want to drive a car built by agile principles? Do you want to drive a house built by agile principles? Would you be comfortable to fly on a plane built on agile principles? (i.e. Boeing 737 MAX) Would you like to live near a power plant that has software control systems written on agile principles? (at the early iterations) Disposable software and infrastructure software are totally different things and you cannot apply the same production rules to both of them.
@eyesopen6110
@eyesopen6110 4 місяці тому
"Agile" turns every 'software engineer' into a number. No direct responsibility and no recognition for success. Its all about the slow moving 'mass' and back-stabbing team members who waste endless time in peer reviews, so they can make it look like you take longer to finish your work, but meanwhile you're just involved in peer review spam by assholes (usually twenty-somethings who think they 'know it all', yet its their first or second job..)
@slipoch6635
@slipoch6635 11 місяців тому
Sorry but a bit of your video is a bit misleading, waterfall examples where there was large-scale successful impact: Windows MYOB UNIX Deluxepaint And so many more. I hate waterfall perosnally, and tbh 90% of businesses that claim they are agile are actually waterfall. Agile is great, but waterfall can and does work, it's more of a pain in the arse when things change after the beginning of the project, it;s slower to market, and keeping it updated after launch is a pain (usually), but saying nothing has ever been successful on waterfall is a fallacy.
@errrzarrr
@errrzarrr 4 місяці тому
Exactly
@HeribertoCantu
@HeribertoCantu 11 місяців тому
Wait is agile waterfall!? Always has been....
@SylwesterKogowski
@SylwesterKogowski 11 місяців тому
Waterfall never went anywhere. If it would, we wouldn't need architects and planners. What most it companies do isn't pure agile, but a mix of agile and waterfall.
@ContinuousDelivery
@ContinuousDelivery 11 місяців тому
I don't really agree. I don't think it is a "mix of agile and waterfall" I think it is simply "waterfall in disguise". Agile means we can change, easily, quickly, waterfall means we can't, I don't think it is possible to mix them.
@wernianthoni8525
@wernianthoni8525 6 місяців тому
@@ContinuousDelivery what do you mean with "... change easyly, quickly" wenn it comes to system architecture ? Are you talking about a lean myth ?
@Larsbor
@Larsbor 16 днів тому
Weird title .. it seems `old´ people dont understand agile, or do Jack Welsh inspired fake Agile.
@biomorphic
@biomorphic 5 місяців тому
The 3 worst things happened in the last 20 years are: JavaScript, Scrum, and TDD.
@piotrd.4850
@piotrd.4850 4 місяці тому
Have you seen TDD in the wild? :D Otherwise, I agree.
@_Mentat
@_Mentat 11 місяців тому
I've been doing Agile/Scrum for the last three years now. If anyone asks how it's going I say: like clockwork, i.e. if any part runs slow, everything runs slow; if any part breaks, everything breaks. It's been a disaster. The manifesto is fine but the methodology doesn't work. The power issues are valid. Scrum gives the power to business people (Product Owners) who don't know enough to decide what should be done. Engineers need to have the power if you actually want good software delivered in a timely manner.
@archi-mendel
@archi-mendel 11 місяців тому
Even reading your comment I see that the problem is not with a concept, but with a very wrong way the concept was understood and adopted. The fact that you pretty much equal Scrum and Agile (leave alone title-cased "agile") shows that there is actually little understanding of what agile is and what Scrum is. Still, even I am not a fan of Scrum anymore, the fact that Scrum gives power to PO and takes it away from the team sounds like a big misconception you have. It looks like your team has lost the whole idea of self-organizing team. If PO tells team what to do not listening to them, then it looks like your team's Scrum is just another example of dailies-review-retro-planning-sprints, not focus-courage-commitment-openness-respect and inspection-adaptation-transparency. Scrum should really be reduced to three pillars and five values. Events and roles should be dumped as these commonly shift focus from what actually matters.
@_Mentat
@_Mentat 11 місяців тому
@@archi-mendel Thanks for your response. It may surprise you to learn that I am a fully qualified Scrum Master. I know the process and know it doesn't work. Even on the SM course I asked the killer questions and got no answer. I asked, what does QA do while the devs are coding? What do the devs do while QA is testing? No real answers, just be idle it seems. We have a doc writer who gets a couple of hours of work per 2 wk sprint. Middle management asks for more people and senior management says we can see your engineers are not busy; so no more resources given. As for "self-organization" - the Scrum Guide is being followed to the letter, right down to how long each meeting should last; senior managers would allow deviation, but there are three layers of management between them and us. Our code base is vast and ancient. Some of it dates back to the 1980s. It runs at thousands of sensitive institutions. It is deeply intrusive; almost like delivering a replacement operating system. Really you need 20 years experience on it _as an engineer_ to even say something sensible about it. The size of our market footprint gives us a guaranteed income and lets nonsense take hold and the recently arrived Agile fans wave their kanbans and backlogs and look like they are delivering. But nothing new has been created since they arrived. I have never dared point out to senior management it's all smoke and mirrors. The experienced engineers are leaving in disgust but no one mentions the enormous staff turnover.
@archi-mendel
@archi-mendel 11 місяців тому
@@_Mentat define the fully-qualified SM please? It takes couple months to complete Python course and get the certificate, does this make you a fully qualified software engineer? I don't think so. So, why would some courses and a certificate make you a fully-qualified SM? A few years ago, I've read through Scrum Guide couple times and spent couple months practicing Scrum. This was enough for me to pass PSMII certification with not a single class taken. Did this make me fully-qualified agilist - no, definitely not. If management tells the team if they can or cannot hire more people to their team, then the team is not self-organizing. If the business doesn't allow the team to decide on the length of the meetings, then the team is not self-organizing. Your team follows events, but it doesn't looks to me that your team and your organization live the Scrum values. So, nope, you are not following Scrum Guide to the letter. The sole fact that you're talking about meetings length but say nothing about the ways you try to enable transparency, inspection and adaptation, and say nothing about focus, courage, commitment, respect and openness, tells me that you're not following Scrum. And these 2 parts + self-organization are the only things that can be considered agile thinking in Scrum. Your trainers are most probably bad at what they do. As of QA and other team members that may be struggling not having work provided to them for part of the sprint - they should be self-organizing to find the useful work. And there is always quite a lot of the work team needs to do to maintain their technical solution that is not a part of the sprint goal. If Scrum is not fitting your needs, why do you use it? For me it looks like you've got Scrum certification but you don't actually understand what it mean to be agile (yes, sentence-case). Scrum != agile (again, sentence-case). Scrum can be a choice of the team at some point of their agile journey if it fits their needs but the team should deviate from Scrum as soon as they find something in it that doesn't work for them. There is a lot in Scrum that actually prevents teams from being agile, but what you have described is not part of this. It's the fact that your organization is not agile and doesn't even understand why would you want to be agile that prevents you from getting any value from Scrum. Overall, your "fully-qualified" agilist journey will start at the point when you will realize that "Agile" != "agile".
@davetoms1
@davetoms1 11 місяців тому
@@_Mentat I'm also a certified Scrum Master and certified Product Owner. You are openly stating falsehoods. Perhaps the process you've built at your organization doesn't work, but it is patently false to say Scrum doesn't work. I helped a team go from buggy releases that were always late to having accurate long term forecasts, releasable bug-free code multiple sprints in a row, reduced team member stress, and the happiest client we ever had... all by building a process that most closely worked within the Scrum framework as the company had ever tried. It does work. It's not perfect. And its biggest flaws are people problems. But it sounds like you have a lot of unlearning to do because you're simply stating falsehoods that demonstrate you don't understand what Scrum even is.
@archi-mendel
@archi-mendel 11 місяців тому
@@davetoms1 long-term forecasting is not agile ;)
@rommellagera8543
@rommellagera8543 11 місяців тому
When management wants developers to follow consultants that never written significant amount of code using modern tools, will most likely not give favorable results Why will you ask me to follow someone's mandate who don't write code right now while I am the one who write code that gets delivered Show me your code and allow me to talk to your users then I will believe and follow you, otherwise I see you as a snake oil salesman
@geordie4339
@geordie4339 11 місяців тому
25 years ago everything was waterfall? No true. DSDM was all the rage in the UK. No successful wireframer > developer projects? Not true, provided it is accepted the wireframes are only a starting point. This discussion is sadly lacking analysis of the application and project characteristics that push you in one direction or the other.
@nekoill
@nekoill 11 місяців тому
Oh no... 😹
@deanschulze3129
@deanschulze3129 11 місяців тому
So Kent Beck's version of waterfall is Market Research -> UX Design -> Software Development, and that is terribly wrong and sure to fail. What's the approach that is likely to work, then? Do you not do market research up front? Or is it the UX design up front that is the problem? I like the idea of updating market research while development is in progress, but this discussion was just lame. They don't say what the better way is.
@niuniuch
@niuniuch 11 місяців тому
Because this is just a cut scene from an engineering room episode
@ContinuousDelivery
@ContinuousDelivery 11 місяців тому
Well in a really agile org iterate through all of these things repeatedly. A bit of research, a bit of UI design, some SW dev, some releasing, and so on. Actually, I think treating UI design as separate from dev is a pretty strong anti-pattern, but you get the idea.
@jlou888
@jlou888 11 місяців тому
So it's all about interactive, incremental short waterfall cycles ?
@deanschulze3129
@deanschulze3129 11 місяців тому
@@jlou888 - Waterfall has always had feedback and iterations, but they are considerably longer than typical agile iterations would be. Waterfall was really a straw man setup by Winston Royce to illustrate a point. I've never worked on a classic waterfall project (though I've been told they actually exist). I have worked on a lot of projects that were code-and-fix or that had some big design up front. I think the key difference between BDUF and being agile is that with agile your up front planning and design is minimal so it is easy to leave it behind. If people put a lot of effort up front it's more difficult to leave it behind and change what you will deliver.
@archetype0
@archetype0 11 місяців тому
Because software is where all industries are adapting, the old thinking has breached the gates and are polluting proper software development practices.
@stevecarter8810
@stevecarter8810 11 місяців тому
We have to point to the successful and failed projects. Everything else is religion
@ContinuousDelivery
@ContinuousDelivery 11 місяців тому
Agreed: Successful: Google, Amazon, Tesla, Apple, SpaceX, Microsoft (read Rapid Development by Steve McConnell)... Failed: "TAURUS Electronic trading platform" £75m over budget before cancellation "FAA Advanced Automation System" $3-6bn over budget before cancellation "NHS Connecting for Health Project" £12bn over budget before cancellation. Lots more here: en.wikipedia.org/wiki/List_of_failed_and_overbudget_custom_software_projects
@salvatoreshiggerino6810
@salvatoreshiggerino6810 11 місяців тому
It's simply not true what Kent Beck says, that you can't write successful software using waterfall, as evidenced by all the successful fake agile software companies. And that's precisely the problem with agile adoption. When all the players in your market does waterfall (whether they call it agile or not) and does it no worse than the others, it's an extremely hard sell for the C-suite to completely upend how they do things for what is frankly speaking a completely unproven methodology. From their perspective it's much safer to just call a management consulting firm and make them buzzword compliant, nobody but a small fraction of the developers will be able to tell the difference, and who cares what a bunch of individual contributor schmucks think anyway?
@mecanuktutorials6476
@mecanuktutorials6476 11 місяців тому
Waterfall is really just sequential stages: plan first, then develop, then test, then maintain. Agile is develop + plan + test together and then throw in maintain with the other three when the project is released into the wild. Waterfall is appropriate for projects that are intended not to change (much): medical devices, automotive, etc. Agile makes more sense for general purpose stuff like Desktop, Web, Mobile, or even library development where you don’t have a clear idea of how something is going to be used and things are subject to change. With those definitions out of the way, Kent Beck’s statement absolutely makes sense for the latter category.
@salvatoreshiggerino6810
@salvatoreshiggerino6810 11 місяців тому
@@mecanuktutorials6476 not having a clear idea and things being subject to change are fundamental properties of doing business. If you think you have it all figured out and nothing will change then a competitor will inevitably come and eat your lunch. Not even state monopolies are free from this, the public policy that keep them in power are also subject to change. I’m in automotive myself, if car markets stopped changing I’d be the first to know. Waterfall is a good choice for construction and manufacturing where the actual build step happens in the real world and a single production run costs millions, if not billions. Cars, planes, skyscrapers, space telescopes, etc. Then you are simply forced to work in open loop control mode because you don’t get second chances. Using waterfall in software is essentially to pretend that running the compiler even once costs millions of dollars. Using waterfall for software evidently works for the same reason that waterfall works for skyscrapers and space ships. It’s just sub-optimal for software. You need a better argument for companies to actually use agile than “sub-optimal”.
@BryonLape
@BryonLape 11 місяців тому
The mythical waterfall was bad, Scrum is worse.
@kahnfatman
@kahnfatman 2 місяці тому
If a YTber has something to sell, take ALL there opinions with a Dead-Sea of salt.
I Bet You’re Overengineering Your Software
19:58
Continuous Delivery
Переглядів 23 тис.
Помилка,  яку зробило військове керівництво 🙄
01:00
Радіо Байрактар
Переглядів 391 тис.
How Agile failed software developers and why SCRUM is a bad idea
11:29
Not Only Code
Переглядів 189 тис.
BEST BOOKS for Software Engineers by FAANG Senior
10:34
Kereal Sokolov
Переглядів 581
The death of Agile - Allen Holub
36:18
DevWeek Events
Переглядів 145 тис.
Agile vs Waterfall: Which is Better? | Deliver Projects Using Agile or Waterfall with Examples
11:19
Ogaga Johnson (Project Management Coach)
Переглядів 7 тис.
Is AGILE Better Than KANBAN?
17:07
Continuous Delivery
Переглядів 57 тис.
Software Architecture Principles From 5 Leading Experts
15:44
Continuous Delivery
Переглядів 32 тис.
The First Software Jobs AI Will Replace Are...
11:48
Continuous Delivery
Переглядів 3,9 тис.
Samsung UE40D5520RU перезагружается, замена nand памяти
0:46
Слава 100пудово!
Переглядів 2,2 млн
ИГРОВОЙ ПК от DEXP за 37 тысяч рублей из DNS
27:53
Ремонтяш
Переглядів 385 тис.
Start from 0 at any point on the T1 Digital Tape Measure
0:14
REEKON Tools
Переглядів 27 млн