When James Patterson, one of the best-selling authors in the world, had the idea for “Honeymoon,” his 2005 novel, he started writing an outline. He iterated 5 or 6 different times until he got the right flow of the story, the right characters, the right bad guys, and the right conclusion. He showed the final version of his outline to publishers, and after some modifications he started writing the novel itself.
James used his outline as a reference, whenever he got lost in the writing of his novel, to find the right path and to help him move the story forward.
When Quentin Tarantino, one of the most popular movie directors in Hollywood, wanted to create “Pulp Fiction,” he wrote a screenplay. He went through several iterations, each time changing the story a little bit, until he found the right characters, the right gags, the right bad guys, and the right conclusion. He showed the final version of his outline to studios, and after some back and forth he wrote the shooting screenplay and then directed, edited and released the film itself.
Quentin and his actors used the screenplay as a reference both during shooting and edition, to make sure that the dialogs were right, that the scenes were compelling, and that the final edition conveyed the right message.
When software developers start a project, they usually… open their favorite IDE, click on the
File / New project… menu entry, and start coding right away. In the old days, some iOS developer teams took the time to create the famous “Application Definition Statement,” as it was recommended in the Apple Mobile Design Guidelines around 2009. Some other teams might have a project leader with a clear vision of the product being created.
But unfortunately, most development teams wander in the dark, in search of the mythical “MVP” (Minimum Viable Product.) The one that some marketing wizard (unfortunately not yet a member of this promising young startup) would (could?) eventually sell to somebody else in order to bootstrap the whole thing.
See the pattern?