While observing various projects, memes, and stories about software development in different companies — and knowing that some of those stories were probably exaggerated or outright untrue — I decided to reconstruct a certain case study that could be described as “cargo cult software development.”

To clarify: I’m talking about situations where programming and testing approaches are followed without understanding their actual purpose, like a tribe building a runway out of sticks in the hope that a plane will land. Any resemblance to real companies is purely coincidental.

PROJECT PROCESS RECONSTRUCTION AT “SOMEHOWSOFT”

How AI, chaos, a ghost PM, and phantom clients team up to code a disaster


MONTH 1 – THE HOPE PHASE

(aka when everyone still thinks “this will be a fun project”)

Day 1–5: Guess-the-job Recruitment
Recruiters reach out via LinkedIn, but it’s unclear what the actual role is. The interview lasts 10 minutes and consists of one question: “Where do you see yourself in 5 minutes?” Feedback? Ask and you shall not receive. On Slack, you’re greeted with an automated message: “Don’t bother the PM – unless production is down.”

Day 6–10: YOLOboarding
You get access to Jira, where half the tasks are marked “maybe done.” The repo? Nested forks from 2017. The PM says: “Don’t worry about the process – just make sure we have something to show at the demo.”


OVERHEATING PHASE – WHERE THE HARDWARE IS FROM 2012 BUT THE SPIRIT IS FROM 2025

(aka how to work when your laptop takes 10 minutes to boot and Docker turns your desk into a space heater)

Day 11–15: Salvaged hardware, demobilized morale
The new dev gets a laptop still branded with a Windows XP sticker and a logo from a company that ceased to exist in 2016. “It’s temporary,” says HR – then disappears for a month.

Day 16–20: Grilling with Docker
Dev launches the local environment. Laptop heats up more than the relationship between the client and the PM. Fans howl like Area 51 sirens. Keyboard slightly melts. QA places a mug on the laptop – gets warm tea in 5 minutes. Dev writes on Slack: “If docker-compose build warms my hands in winter – is that a feature or a bug?”

Day 21–25: Hardware that tests itself
QA says: “I can’t debug tests – IDE won’t launch.” PM replies: “Did you try turning off Docker?” QA: “Then the tests disappear, meaning I can’t test.” PM: “That’s good, right?”

Day 26–28: New laptop? Not this quarter
Dev files an IT ticket for new gear. Response: “Check if another team has a spare.” Eventually swaps laptops with someone for two cans of Monster and $5 on PayPal.

Day 29–30: Performance Review (of the laptop)
New dev launches Chrome and IntelliJ at the same time. Laptop starts humming, smartwatch asks if user is working out due to heart rate spike. Docker won’t boot. Dev won’t boot. Project is frozen.


MONTH 2 – CONTROLLED CHAOS PHASE

(aka we’re pretending we know what we’re doing)

Day 31–35: Sprint 1: The Failed One
PM schedules a sprint planning. It lasts 4 hours. Midway, PM vanishes – “I’ve got other calls.” Tasks are estimated by PM eyeballing them: “Everything’s doable in a day.” Devs Slack: “Anyone actually understand this feature?”

Day 36–45: Demo (aka Magic Show) and Plot Twist
Demo happens. Client is silent. An hour later – email: “Why doesn’t it work like in the mockup?” The mockup doesn’t match the spec, and the spec doesn’t exist. PM: “We’ll discuss this tomorrow.” QA: “That’s the third feature built blind.”

Day 46–60: Sprint 2: Great Plans, Zero Execution
PM gives up on planning: “Just grab whatever from the backlog.” Testers start creating bugs to keep some QA control. Devs deploy features that fail tests, but “have to ship – deadline.” Client responds faster than PM. Worrying.


MONTH 3 – DISORIENTATION & THE AI GAMBIT

(aka “if we can’t do it, maybe AI can?”)

Day 61–65: AI to the Rescue
Management has a “brilliant idea”: “Let’s bring in AI to generate code – it’ll be faster!” No one knows how that should work, but everyone pretends it’s genius. PM: “You can use ChatGPT, but don’t ask me how.” QA: “Will AI test too?” PM: “Sure… probably… give it a shot.”

Day 66–75: Code by AI, Bugs by Hell
AI generates code that looks futuristic – but doesn’t work. Dev: “What does this function do?” Other dev: “No idea – something with the API maybe?” QA: “Is this a bug or a feature? Looks like it’s using a tech we don’t even have in the stack.” PM: “It sped up delivery, so we’re good.” Client: “Well, it doesn’t work.”

Day 76–90: The Circus Goes On, Morale Goes Down
PM doesn’t answer emails for a week. QA tries to remind everyone about sprint planning – PM: “Why? It’s just a formality.” Client brings up feedback from a month ago – still ignored. Devs review each other’s PRs because no one else will. New hires onboard through Slack and Stack Overflow. Morale hits rock bottom. No bonus. No future. Just overtime.


MONTH 4 – BURNOUT PHASE

(aka everything’s on fire, but hey, at least it’s warm)

Day 91–100: Deadlineton
Deadline passed a month ago. Now the project kind of looks like an MVP (though the “V” is questionable). Budget? Torched. PM: “Well, something finally shipped!” Client wants to continue – but won’t pay for bugs. Devs write documentation because PM has no idea what’s happening. QA runs stand-ups alone. Team realizes remote work is less exhausting than office life. Still hoping for a miracle.

Day 101–110: System Breakdown
PM now handles six projects – this one “somehow works,” but no one knows how. Devs test their own code out of sheer survival. AI generates tasks no one reads. HR ghosted the company Slack. Feedback still MIA. Client wonders if the project has more bugs than lines of code.

Day 111–120: Season Finale (with a Cliffhanger)
PM: “Now we’re really doing the roadmap!”
Dev: “We’ve been saying that for two months…”
QA: “Let’s try one normal sprint – maybe we won’t crash completely.”
Client: “I want a new version – without the bugs I reported last month.”
Company: “With AI, we’ll deliver faster.”
Dev & QA Team: “Noooooooooooooooooo.”

Is this the end?
Nope.
A new Jira ticket just dropped.
Status: High priority
Description: “Something’s not working, but it should.”
Deadline: Yesterday.


POSTMORTEM – aka “What Did We Learn?”

(spoiler: nothing will change)

Processes? Allegedly.
Communication? Like a broken telephone, but on psychedelics.
AI? Wrote code faster than humans – just too bad it didn’t work.
Company culture? Perfect – for burnout research.
Documentation? Was that even a thing?
Versioning? v0.0.chaos
Budget? Went up in flames along with unanswered emails.
Roadmap? Urban myth.
Feedback? In beta. Maybe tomorrow. Or after the weekend.

So what does it all mean?

Probably nothing. People leave. Problems stay.
And somewhere out there, a new kickoff meeting is starting.
A new client.
A new PM saying:
“This time it’ll be different.”

Do you want more? Check out this