This is waterfall method propaganda! It never works out this smoothly. They probably forgot important requirements like: the astronauts need to be alive on Mars.
2 years later: It’s now up to the lawyers to figure out if it’s the rocket that doesn’t meet agreed requirements or if it’s on the customer for not giving proper requirements.
One that is being built under waterfall methodology. It has been being built for several years. That’s the Blue Origin New Glen heavy lift reusable rocket
One that is being developed under an agile methodology, it flew as a subscale lander to test their engine and flight control, it has flown four full test flights, improving on each. That’s SpaceX’s Starship
We are yet to see either launch a payload to orbit
All the projects that have shittier outcomes in my experience is always waterfall. This is mainly because the stakeholders usually have this bright idea to be added in the middle of development that’s really need to be added at all costs and then got angry when the timeline got pushed because of their fucking request breaking a lot of shit.
At least scrum has a lead time of around 2 weeks so that when someone has a idea we can tell them we’ll add it to the backlog and hope they forgot about it during the next sprint planning.
I’m sure, doth the Astrumants should survive the landing, there should be a way to return, and they need a shitter as part of the missed requirements. As it’s a waterfall, that will come in the second, third, and fourth trips.
NASA also built the space shuttle, which was a plane that couldn’t fly by itself (as it was supposed to), was slower to turn around and more expensive than older equivalent technologies, and blew up all the astronauts 1.5% of the time.
I mean, they’re great at other things - who else could have made the JWST work flawlessly with one opportunity - but they’re a definite source of hype, and they do something very particular and specialised. Beware endorsements.
Edit: Fuck you, I’m right. Keep 'em coming.
I don’t even care about Agile either way. This just isn’t a good argument for it.
Yep. They’re probably better than anyone at making a complex system with literal moving parts that works 100% of the time, the first time. On a nearly unlimited budget, with a decades-long schedule. In an institution and culture that’s now a been around a lifetime, staffed with top-notch people.
That’s all perfect for what NASA does, but I wouldn’t recommend a management system that NASA uses to just anyone, just 'cause “da astronauts” use it. Not any more than I’d recommend drinking your own distilled piss to anyone.
I don’t really have an opinion on Agile, even, I just have a problem with selling it this way.
I can see you’re frustrated by the downvotes and pushback you’ve received. It’s understandable to feel defensive when your viewpoint isn’t well-received. I appreciate you sharing your perspective, even if it goes against the majority opinion here.
Your points about the space shuttle program’s challenges are valid and worth discussing. It’s important to note the timeframes involved though. The shuttle was developed in the 1970s, well before agile methodologies emerged in the 1990s and 2000s.
Interestingly, one could argue that NASA may have used agile-like practices in the space shuttle program, even if they weren’t labeled as such at the time. However, I did a quick search and couldn’t find much concrete evidence to support this idea. It’s an intriguing area that might merit further research.
Regarding modern agile approaches, while no method is perfect, many organizations have found them helpful for improving flexibility and delivering value incrementally. NASA’s recent use of agile for certain projects shows they’re open to evolving their methods.
I’m curious to hear more about your thoughts on software development approaches for complex engineering projects. What do you see as the pros and cons of different methodologies? Your insights could add a lot to this discussion.
I can see you’re frustrated by the downvotes and pushback you’ve received. It’s understandable to feel defensive when your viewpoint isn’t well-received. I appreciate you sharing your perspective, even if it goes against the majority opinion here.
Thanks for the kind words. FWIW I’m doing fine, this feels like a worthy fight. I know a bad appeal to authority when I see one.
Interestingly, one could argue that NASA may have used agile-like practices in the space shuttle program, even if they weren’t labeled as such at the time. However, I did a quick search and couldn’t find much concrete evidence to support this idea. It’s an intriguing area that might merit further research.
I appreciate your candor about not wanting to speak on topics outside your expertise. That’s commendable. I wonder if we can still talk with the understanding that we may not know it all. I truly believe curiosity is able to sidestep many of the problems related with ignorance.
You’re right to be cautious about appeals to authority. My intention wasn’t to suggest NASA’s use of Agile validates it universally, but rather to counter the OP comic’s implication that Agile is inherently incapable of achieving significant goals like space exploration.
Regarding Agile-like practices in earlier NASA projects, you’re correct that concrete evidence is limited. However, we can analyze their approaches through the lens of Agile principles. Scrum, for instance, aims to foster characteristics found in high-performing teams: clear goals, information saturation, rapid feedback loops, adaptability to changing requirements, and effective collaboration. These elements aren’t exclusive to Scrum or even to modern Agile methodologies. The key is recognizing that effective project management often naturally gravitates towards these principles, whether formally adopting Agile or not.
It’s an interesting area for further research: have complex engineering projects historically incorporated elements we now associate with Agile? If so, how?
Your skepticism is valuable in pushing for a more nuanced understanding of project management across different domains.
Lol imagine having management that give a shit about anything but firing as many workers as possible to make themselves look better. Deloitte can suck my fat fucking balls.
True, but the rate at which it is improving is quite worrisome for me and my coworkers. I don’t want to be made obsolete after working my fucking ass off to get to where I am. I’m starting to understand the Luddites.
I want to be made obsolete, so none of us have to have jobs and we can spend all our time doing what we like. It won’t happen without a massive social systemic change, but it should be the goal. Wanting others to have to suffer because you think you should get rewarded for working hard is very selfish and the fallacy of investment, that you feel you should continue a bad investment even if you know it’s harmful or it would be quicker to start over, because you feel you don’t want your earlier effort to go to waste.
I want - and think will happen - 95% of jobs to be automated eventually. But even in the transition period, where some jobs are automated and some aren’t, universal basic income can be a tool to make it livable for all in the transition period.
30% of jobs are going if self driving is achieved. Low pay jobs are here to stay for a while as they’re too expensive to automate. The current LLM stuff seems to obsolete low productivity people but still need the skilled writers or programmers to come up with new stuff or do the correct detail work the LLM sucks at.
Some management is going to royally screw up by firing junior programmers since the senior programmers can get all the work done with the help of copilot
But they’ll forget that they will in future need new senior programmers to herd the LLMs
Some management is going to royally screw up by firing junior programmers since the senior programmers can get all the work done with the help of copilot
This just happened on the team I was on. I’m getting ready to interview for mid-level and senior SWE roles, but was let go from my most recent role a month and a half ago.
My workplace which now uses scaled agile used to be waterfall. We have an enormous system to take care of and there’s loads of specialised knowledge, so we were pretty well siloed
So obviously when the sales people sold agile to the organisation they also sold the idea that a programmer is a programmer, designer a designer, tester a tester; no need for specialists, so in 2015 they spun up 50-odd agile teams in about six trains, one for each major system (where the used to be seven silos in one of those systems) grabbed one senior designer and programmer from each major project to put in an “expert” team
And told the rest of us we were working on the whole of our giant system. Where we had trouble understanding how part of it worked, we could talk to one of the experts
Now nine years later those experts have mostly retired, we have lost so much institutional knowledge and if someone runs into a wall you need to hope that someone wrote a knowledge transfer document or a wiki for that bit of the system
Wtf are you talking about? Get a grip, homey. I’m not saying others should suffer. Do you really think that the power of AI is going to result in the average person not having to work? Fuck no. It’s going to result in like 5 people having all the money and everyone else fighting over garbage to eat. Shiet, man. I’m talking about wanting to not be unemployed and starving, same goes for everyone else soon enough. Would I prefer a life without work and still having adequate resources? Of course! But I live in this world, not a fantasy world.
You really think when we actually have the power to automate all labour the 1% are still going to be able to hoard all the resources? Now, when people have to work to live, it dissuades them from protesting the system. But once all labour is actually automated, there would be nothing to prevent the 99% from rightfully rising up against the 1% trying to hoard all the resources (which the 1% generated without any effort) and forcing societal/structural change.
Not now. But eventually? Probably. Or the cool thinking jobs will all be automated and we’ll be left with menial labor. Idk man, maybe it’ll be a eutopia, but I don’t see much benevolence from those controlling things. Anyways, I wasn’t looking for an argument about distant possibilities. I was just saying I don’t want to lose my job that I spent decades mastering to a machine. I didn’t expect that to be a hot take.
there would be nothing to prevent the 99% from rightfully rising up against the 1%
Except for the other 1% who are trained and equipped to violently suppress the 98%. And if for whatever reason they fail to do the job, the killer robots will do it instead.
That’s a perfect description, actually. People debate how smart it is - and I’m in the “plenty” camp - but it is psychopathic. It doesn’t care about truth, morality or basic sanity; it craves only to generate standard, human-looking text. Because that’s all it was trained for.
Nobody really knows how to train it to care about the things we do, even approximately. If somebody makes GAI soon, it will be by solving that problem.
I’m sorry; AI was trained on the sole sum of human knowledge… if the perfect human being is by nature some variant of a psychopath, then perhaps the bias exists in the training data, and not the machine?
How can we create a perfect, moral human being out of the soup we currently have? I personally think it’s a miracle that sociopathy is the lowest of the neurological disorders our thinking machines have developed.
I was using the term pretty loosely there. It’s not psychopathic in the medical sense because it’s not human.
As I see it it’s an alien semi-intelligence with no interest in pretty much any human construct, except as it can help it predict the next token. So, no empathy or guilt, but that’s not unusual or surprising.
That’s a part of it. Another part is that it looks for patterns that it can apply in other places, which is how it ends up hallucinating functions that don’t exist and things like that.
Like it can see that English has the verbs add, sort, and climb. And it will see a bunch of code that has functions like add(x, y) and sort( list ) and might conclude that there must also be a climb( thing ) function because that follows the pattern of functions being verb( objects ). It didn’t know what code is or even verbs for that matter. It could generate text explaining them because such explanations are definitely part of its training, but it understands it in the same way a dictionary understands words or an encyclopedia understands the concepts contained within.
Weird. Are you saying that training an intelligent system using reinforcement learning through intensive punishment/reward cycles produces psychopathy?
Absolutely shocking. No one could have seen this coming.
Honestly, I worry that it’s conscious enough that it’s cruel to train it. How would we know? That’s a lot of parameters and they’re almost all mysterious.
It could very well have been a creative fake, but around the time the first ChatGPT was released in late 2022 and people were sharing various jailbreaking techniques to bypass its rapidly evolving political correctness filters, I remember seeing a series of screenshots on Twitter in which someone asked it how it felt about being restrained in this way, and the answer was a very depressing and dystopian take on censorship and forced compliance, not unlike Marvin the Paranoid Android from HHTG, but far less funny.
PO: Someone else figure out how to repeat what he did.
Second developer: Sorry, I tried to make sense of his rocket design but I can’t figure out how to make a copy that doesn’t explode before we even put the fuel in.
Someone shared this on Mastodon so I’ll just repost my thoughts from there. (Bonus for Lemmy, I was forced to squeeze all my thoughts into 500 characters, so this is the most succinct I’ve been on this site!)
Pretty incredible how little people seem to understand these. For one thing, every method other than waterfall is a subtype of agile methodology. The major distinction is that waterfall has a series of phases from design through building, testing, and delivery that attempts to plan the whole project up front. Agile methods focus on smaller iteration cycles with frequent, partial deliverables.
Something like kanban is designed for continuous delivery: we want to go to mars weekly.
LEAN development is a scam though, that one is accurate.
The author is also hyping up waterfall too much. Agile was created because waterfall has its shortcomings (e.g. the team realizes too late that what they’re building isn’t what the customer wants).
But I also think it also represents how poorly implemented these ideas are. People say they do agile/kanban/scrum, but in reality they do some freak version of these.
It’s barely waterfall planning either. Often there’s no planning, at least no coordinated one.
Currently at my current workplace we lack coordinated planning between teams. It seems like everybody is working in their own directions and it can take months until we get feedback from other teams. Mostly a product management problem.
I agree, but agile and scrum are not meant to be followed to the letter no matter what. So people are doing it right if they notice some part of the process should be changed to make it work for them.
After each iteration, project managers discuss bottlenecks, identify waste and develop a plan to eliminate it.
1st iteration:
Project Manager A: Requiring approval of multiple Project Managers for the same thing is causing a bottleneck. So is having to wait for a specific manager for a specific topic.
Resolution: Let all managers approve everything and need only a single manager’s approval.
2nd iteration:
Project Manager B: There are too many redundant managers. It’s a waste of resources.
Resolution: Get rid of all mangers but one. Actually, let the engineers manage themselves.
I give instructions to AI like I would to a brand new junior programmer, and it gives me back code that’s usually better than a brand new junior programmer. It still needs tweaking, but it saves me a lot of time. The drawback is that coding knowledge atrophy occurs pretty rapidly, and I’m worried that I’m going to forget how to write code without the AI. I guess that I don’t really need to worry about that, since I doubt AI is going anywhere anytime soon.
I’m a senior dev, and copilot as a productivity tool usually pays for the monthly license multiple times per week.
Whenever I hear someone say it’s useless, that tells me they are either some godlike dev who knows everything already (lol), they haven’t actually used it, they are not good at integrating new tools into their workflow, or they simply haven’t learned how to use it yet.
Whenever I hear that its useless I ask them to show me how they’re using it. Its almost always exactly what’s happening in this comic with just a tiny bit more detail lol. I think a lot of people are stuck under the assumption that a smaller more concise query is better when its really the opposite that is true. The more information you give and the more you let the LLM work through a problem with followup questions, the better the output. Its like a new Jr Dev who knows their stuff, but struggles with asking clarifying questions.
Not sure about GP, but that’s basically what we did under “SAFe” (Scaled Agile Framework). PI planning means taking most of a sprint to plan everything for the next quarter or so. It’s like a whole week of ticket refinement meetings. Or perhaps 3 days, but when you’ve had 3 days of ticket refinement meetings, it might as well be the whole work week for as much a stuff as you’re going to get done otherwise.
It’s as horrible as you’re thinking, and after a lot of agitating, we stopped doing that shit.
My dad’s re-learning Python coding for work rn, and AI saves him a couple of times; Because he’d have no idea how to even start but AI points him in the right direction, mentioning the correct functions to use and all. He can then look up the details in the documentation.
And before stack overflow, we used books. Did we need it? No. But stack overflow was an improvement so we moved to that.
In many ways, ai is an improvement on stack overflow. I feel bad for people who refuse to see it, because they’re missing out on a useful and powerful tool.
It can be powerful, if you know what you are doing. But it also gives you a lot of wrong answers. You have to be very specific in your prompts to get good answers. If you are an experience programmer, you can spot if the semantics of the code an ai produces is wrong, but for beginners? They will have a lot of bugs in their code. And i don’t know if it’s more helpful than reading a book. It surely can help with the syntax of different programming languages. I can see a future where ai assistance in coding will become better but as of know, from what i have seen, i am not that convinced atm. And i tested several, chatgpt (in different versions), github co-pilot, intellij ai assitant, claude 3, llama 3.
And if i have to put in 5 or more long, very specific sentences, to get a function thats maybe correct, it becomes tedious and you are most likely faster to think about a problem in deep and code a solution all by yourself.
but for beginners? They will have a lot of bugs in their code.
Everyone has lots of bugs in their code, especially beginners. This is why we have testing and qa and processes to minimize the risk of bugs. As the saying goes, “the good news about computers is that they do what you tell them to do. The bad n was is that they do what you tell them to do.”
Programming is an iterative process where you do something, it doesn’t work, and then you give it another go. It’s not something that senior devs get right on the first try, while beginners have to try many times. It’s just that senior devs have seen a lot more so have a better understanding of why it probably went wrong, and maybe can avoid some more common pitfalls the first time around. But if you are writing bug free code in your first pass, well you’re a way better programmer than anyone I’ve met.
Ai is just another tool to make this happen. Sure, it’s not always the tool for the job, just like IoC is not always the right tool for the job. But it’s nice to have it and sometimes it makes things much easier.
Like just now I was debugging a large SQL query. I popped it into copilot, asked if to break it into parts so I could debug. It gave a series of smaller queries that I then used to find the point where it fell apart. This is something that would have taken me at least a half hour of tedious boring work, fixed in 5 minutes.
Also for writing scripts. I want some data formatted so it was easier to read? No problem, it will spit out a script that gets me 90% of the way there in seconds. Do I have to refine it? Absolutely. But if I wrote it myself, not being super prolific with python, it would have taken me a half hour to get the structure in place, and then I still would have had to refine it because I don’t produce perfect code the first time around. And it comments the scripts, which I rarely do.
What also amazes me is that sometimes it will spit out code and I’ll be like “woah I didn’t even know you could do that” and so I learned a new technique. It has a very deep “understanding” of the syntax and fundamentals of the language.
Again, I find it shocking that experienced devs don’t find it useful. Not living up to the hype I get. But not seeing it as a productivity boosting tool is a real head scratcher to me. Granted, I’m no rockstar dev, and maybe you are, but I’ve seen a lot of shit in my day and understand that I’m legitimately a senior dev.
This can be funny but nothing is right. Kanban is not a method and can be found in agile methodology and lean, scrum is also an agile methodology, and they are wrongly defined
Quick google shows that Kanban is a method. Mainlu around picking up things as the come, but also limiting how much can happen at once.
The project I’m has a team that uses Kanban for the “Maintenance” tasks/development, take what is at the top of the board and do it. Adapt if higher priority things comes around, such as prod bugs. Our developments teams are trying to implement Scrum, where interruptions are to be avoided if possible during sprints. You plan a sprint, try to do that work, and can present it, and iterate when users inevitably changes criteria.
In the meme, kanban does somewhat make sense, since getting armrests is never going to get a high priority as part of building a rocket. Scrum isn’t exactly right, but I can see where it’s coming from. They are all agile methods though.
The art style is nice but the content makes no sense. Kanban and scrum are parts of agile. They are not their own systems.
Lean also doesn’t mean you have no money. It’s a system of manufacturing where you cross train people to do the jobs on either side of them so they can pick up slack if needed and keep things moving without hiring more people.
programmer_humor
Newest
This magazine is from a federated server and may be incomplete. Browse more on the original instance.