Coffee Stain's Goat Simulator started as a joke, yet quickly became the studio's most successful game. It's easy to forget that despite how ludicrous the title is, it was still a project the developers had to see from start to end, with all the lessons that process teaches.
Goat Simulator designer Armin Ibrisagic put together a nice post-mortem of the game's creation on Gamasutra, noting what the studio got right and wrong. Unsurprisingly, interacting with fans on social media and not taking things too seriously proved beneficial for the team, while the lack of planning or "long-term think" was a double-edged sword:
Since we never intended for the game to be released initially, we didn't start out with a proper project plan and we didn't have predetermined roles of who was going to do what. This resulted in everyone feeling like they really had the freedom to create whatever they wanted, did wonders for morale at the studio, and simply resulted in way funnier content than if we had a top-down approach from start....Yeah, there were definitely setbacks to having no planning or long-term thinking. One of them was that we had to refactor a lot of programming once we decided that the game was to be launched on Steam. Earlier on, we kind of implemented things in fast-but-bad ways, so now when we implement new things today, we still have to keep in mind all the ugly coding we did earlier in the first couple of weeks of development.
Ibrisagic also mentions that forgoing Mac and Linux builds resulted in a loss of a "big chunk of sales" and the developer had to "scramble" to get them done. Modern engines, including the Unreal Engine used by Goat Simulator, make porting games easier, but it still requires a fair bit of testing and support, which a small studio might not have the time or budget for.
You can read the full post-mortem at the Gamasutra link below.
Goat Simulator Post Mortem [Gamasutra]