Startups have founders. They are usually smart, charismatic, convincing, and most importantly, rich. They have an idea, usually broad, a vision, usually wildly optimistic, and they have the wherewithal to build a company and take huge risks. They are however, not perfect people. Most of the founders I’ve had the pleasure to serve are one issue people: they know a narrow area and they know it well. It’s served them well in the past, therefore that narrow experience applies to all areas and disciplines. This can spell disaster, especially if the founder is also funding the company.
In this case, the founder is going to be seeing his money rapidly dwindle, while to his eyes a bunch of people doing things he may not fully understand appear to make no progress. Now it’s entirely possible that they AREN’T making progress. However, proper software engineering, obvious progress is often very slow at the beginning (design, architecture), then rapid at the end when implementation gets going. If your founder knows nothing about software engineering, he might fall back on his experiences with other disciplines, say mechanical engineering, and expect the same type and rate of visible results.
Now we have the makings of a disaster: a worried founder and an engineering team that is trying to do it’s job in the best way it knows how. This team is also trying desperately to please the guy with the greenbacks. So they will be accommodating: change plans, change designs, short circuit good engineering practices, make some kind of result any way possible. All of these things make the founder and possible the company happy in the short term, but may destroy it in the long term. Avoiding good engineering at the outset, and the investment in time and thought that requires, will ultimately lead to poor quality, inflexible designs, and most likely vast rework in the long term. If those retraced steps coincide with other stormy weather for a company, it make mean the end.