But here’s the thing most developers have trouble with: we have a hard time knowing exactly when the project will be finished.
Sure, we can make estimations, but even a skilled mathematician would shrug their shoulders in uncertainty. If we disregard members having to leave or going on hiatus because of personal issues, the other reason development takes a while is because of the complexity of the story.
Everything revolves around the plot. The writers not only plan the story, but it’s also their job to determine how many character sprites are needed, the mood of the music during a scene, what settings require background art, and the animations shown in the engine. When the plot becomes more complex, there’s a higher chance of plot holes, which in turn requires rewriting, which in turn affects the art, music, programming, and the UNIVERSE ITSELF. It’s like unraveling a long string of thread from a woven fabric. (This is why you should always plan the entire story before anything else.)
And this becomes a pain for everyone to patch up.
This, I feel, is the most difficult aspect of development. It can take a while to sort out—years, maybe—and you’d need to keep everyone from ripping their hairs out the entire time. It’s not easy, but I guess the nice thing about it is that you’re not alone in your insanity.