4 ms·
Even since "Agile" starting taking off ~2010, it has made be very sad that many junior engineers today genuinely believe that somehow no software was ever writt
by khazhoux 4y ago
Even since "Agile" starting taking off ~2010, it has made be very sad that many junior engineers today genuinely believe that somehow no software was ever written correctly without it. They were taught in school that there exists this bogeyman software development methodology called "WATERFALL" where pencil-pushers in a windowless office write requirements which they hand off in a printed binder to the team of engineers in the basement, who is not allowed to ever talk to the user.
The Agile consultants somehow convinced a large segment of the industry that they discovered and/or invented the notion of working with users, of gathering feedback from them, of checking in with your teammates, etc. And they completely disregard the possibility that maybe --just maybe-- there are some developers who can get a metric shit-ton of work done without someone poking them repeatedly for status.
And they popularized the term "Cowboy Coder" as a reckless developer who does whatever the hell he wants and dares you to mess with him. When in fact, their so-called "cowboys" are simply the best developers in the team, who write great code and don't need a scrum-master to help them plan it. But the Agile methodology resists the notion of some developers simply being awesome at their job -- in Agile, you are good at your job by meeting your "points" for every sprint.
- mschuster91 4y ago> They were taught in school that there exists this bogeyman software development methodology called "WATERFALL" where pencil-pushers in a windowless office write requirements which they hand off in a printed binder to the team of engineers in the basement, who is not allowed to ever talk to the user. Having worked in government and big-co companies before: sadly, this is not a bogeyman trope, but reality. Including the printed binder, although it's called "spec sheet" or "tender document" (or whatever the correct english words for "Ausschreibungsunterlagen" and "Lastenheft" are). The amount of "silos" and "leadership" involving themselves in petty fiefdom fights is astonishing - that is partially a reason why small startups are so much more efficient, they haven't had the time to develop layers and layers of middle management wanting to justify their existence, protecting budgets or establishing their authority. Government projects tend to be the worst target for such micromanager wannabe-king types, given that they can rarely be fired from their jobs for incompetence.
- doctor_eval 4y agoI had this problem too. My younger developers pushed really hard to bring Agile in. One of the supposed benefits was that all developers were treated equally (today we might say they were fungible) We have it a really good shot; we even hired a Certified Scrum Master. But after a while it seemed to me that we were just doing lots of tiny waterfalls. It was nothing for a developer to spend a whole sprint spinning their wheels and not making progress. Long story short, 2 years later I took over the team, threw it all out, and set up a system based around Kanban and hands-on management. And suddenly we became productive again. (Not saying Kanban is a solution, just that Agile is not)
- detaro 4y agoPeople really use weird labels nowadays. Kanban is agile!
- bitwize 4y ago"Agile" in job reqs usually means "we do Scrum with Jira, you'd better be able to align with the Scrum process".
- doctor_eval 4y agoYou’re right, what I should have said is that Scrum doesn’t work. And I tend to use big-A Agile when talking about the formal processes and little-a agile when talking about the manifesto. I think the manifesto is great btw. It’s just that the formal “Agile” processes, such as the way Scrum is practiced, don’t implement it.
- satyrnein 4y agoInteresting, what I like about kanban is that (in my opinion) it explicitly recognizes that work proceeds through specific stages, and therefore tickets go through a mini-waterfall. Waterfall is great with a small enough batch size. In contrast, scrum seems to pretend that design, development, code review, QA, etc, all happen at once throughout the sprint.
- 4y ago
- blibble 4y ago> The Agile consultants somehow convinced a large segment of the industry that they discovered and/or invented the notion of working with users, of gathering feedback from them even worse, now the specialist Agile consultants have themselves been replaced by McKinsey/PWC garbage you can imagine how well one of these multi-million dollar "Agile Transformations" go
- YZF 4y agoWhere I work we don't do any "agile" and I always have some fun explaining that to would-be hires. I think the overall reaction is generally positive. Lots of awesome software was written without: - Unit tests - TDD - Agile - CI/CD (to pick a few random practices). ... or in Agile terminology "there is some value in those set of practices". The sad thing about Agile is that it reflects a certain naivety on behalf of its founders. That somehow we can encourage better software (and arguably corporate) practices through a set of principles (that aren't that bad). It's literally the road to hell is paved with good intentions.
- ironman1478 4y agoUnit tests allow complex and nontrivial code to be modified without introducing nasty bugs. A lot of software that I've seen that has no unit tests and runs well got there because people slaved away cleaning up nasty bugs that would have been caught with unit tests. I cannot understand how people think unit tests aren't worth doing and I can only assume these people don't know how to prove their code works, which is quite worrying.
- theshrike79 4y agoUnit tests are overrated. They are for algorithms and really complex functions. Unit testing with 100% coverage is a red flag for me, someone spend insane amounts of time writing tests for useless shit. Integration tests are the ones that determine whether stuff actually works, have more of them. There's no point in having a test to see if pushing a button produces the correct event if there is no integration test to see if pushing the button does what it's supposed to do in the backend.
- ironman1478 4y agoWhat type of software do you write? I cant imagine writing a db implementation without unit tests for example.
- YZF 4y agoJust like Agile unit tests came about as a fashion. I think the history is a bit murky but Kent Beck was one of the proponents and he also happens to be one of the signatories on the Agile Manifesto. Let's say circa 1997. There was plenty of very well written software in existence at that point. Large applications, operating systems, databases, games, embedded applications etc. etc. That's not to say there's anything bad about unit tests just like there's nothing bad about the Agile principles. They don't prove your code works though, that's not really possible. A useful tool- sure.
- theshrike79 4y agoThe actual process doesn't matter that much. It can be waterfall, kanban or agile. As long as there IS a process. Agile is a way of protecting the coders from ad-hoc spec changes, because that's against The Process. The Process is a thing that management and stakeholders understand. If there is no process, they can just turn up at Cowboy 1:s desk and request/demand/suggest their latest invention and expect it to be done.