Software is one of the most powerful abstract tools humanity has come to wield. However, just because software is not tangible, does not mean it is cheap. We recently ran a poll on Twitter asking users how much they thought it would cost to hire a development team to build the Twitter app.
With $1 being the laughable lowest amount to a staggering $1,000,000+, 32% of users who selected the latter were right on the money. Admittedly, $1,000,000 is a lot steeper than what many developers would quote if you asked them to build the Twitter mobile app. The difference however, is that developers have a source to copy from.
If you happen to ask developers for help with a new idea for a software product, they will deliver a quote for exactly what you asked for. However, what is even more important is what you are not asking up front- and they know this. When building something from scratch, you likely won’t be told about the other clients who changed their direction multiple times during development. The average successful start-up will pivot their direction at least once, according to tech expert Daniel Cummings. In a world when 9/10 start-ups fail, at least 7% of them refused to pivot and 10% had their pivot fail altogether. It’s not only common, but essential that you not only find the correct market but pivot appropriately when needed.
People outside of the realm of software development will find themselves requesting their developers use Waterfall methodology usually without even realizing it. Waterfall is a straight sequence in which the software development process is seen to flow downward like a waterfall. In a perfect world, software development projects would follow the same path as an algebraic equation. Doing A then B will always result in C and so forth. The problem with the waterfall method is that many people will not achieve their desired results. This is a result of only following a linear flow. The market, user demand, and social culture always change. Fixed formulas won’t work in the inconsistent laboratory of software development. The Agile approach is much more malleable. The Agile movement relies on quick deployment of the software product, so that you can get that valuable user feedback and adjust accordingly from there.
As for the Twitter app, it was a complete shot in the dark that could have gone either way. Twitter’s co-founder, Jack Dorsey, originally wanted friends to be able to keep tabs with each other without the necessity of direct communication. While maintaining his day job, Dorsey worked on what would become one of the most popular social networking apps during nights and weekends. The product has obviously pivoted and evolved greatly since then.
Inventing is much harder than simply copying what’s already available. This is why Steve Jobs, a revolutionary, was understandably upset to “thermonuclear degrees” when Google borrowed their unpatentable ideas. Ideas such as swiping from screen to screen with just one finger are an example of this. What seems like basic UI, or user interface, was once groundbreaking. It is crucial to prototype and test ideas. This is to see how users respond when taking a chance on creating original UI. Developers who copy from positively-received risks of others, tend to not have this issue.
Twitter has spent over $1,000,000 building their app. This is not on the current version we see today, but all of the prior iterations, bug fixes, and never-ending updates. That is how, despite spending a staggering amount, Twitter remains relevant. Like the saying goes, you have to spend money to make money. Maintaining your own software is not the next step, but a continuation of the path. There is no grand finish line when it comes to software development. Instead, there are milestones where the project can reach certain objectives such as launch or profitability. These are important goals to strive for, but it is also important to keep an continued efficiency and maintain the software year over year.