In the early 2000s, corporations adopted remote, outsourced and offshored teams as a way to reduce costs. Today, this phenomenon has evolved into a common business practice, especially in the software industry. Just in this industry, the global IT outsourcing market is expected to grow from $342 billion to $410 billion by 2027.
Even with a growing market, there is still a misconception that the quality of work and skills of those located offshore are not as good as the engineers from Silicon Valley. How could this be true, when in fact education and content on software development are more easily available than ever before.
Nowadays, if one wants to become a highly skilled software developer, attending a top school or university is no longer needed. Actually, there are many options on the market to learn software development, especially online, such as freeCodeCamp, Lambda School, Coursera, and more. The software development community has grown and expanded throughout the world, in a way that we can now find the same level of skills everywhere, from South America to Eastern Europe.
There are highly skilled software developers everywhere, but still Silicon Valley companies out-innovate the rest. This is because of the processes these companies have, and not really because their developers are more skilled.
The History Behind Successful Silicon Valley Companies
It all started back in the 1980s, when companies used the waterfall approach to build software. After this, many frameworks were developed based on the waterfall methodology, and it essentially became mainstream. And in the early 2000s, Silicon Valley companies realized that the ambiguous nature of software development did not fit with the waterfall approach, and so Agile was born. This methodology made great advances in software delivery, but still there was an increasing need to integrate the software delivery process with the operations of the company as a whole. And so, in the 2010s, the DevOps movement began.
The procedures and practices from Agile and DevOps methodologies have actually been adapted from manufacturing to software development, because companies realized that building software was much more similar to a production plant than a construction project. Especifically, the best practices of automated production lines were adapted into continuous integration and delivery techniques in software development, while lean manufacturing practices were adapted into best practices for software delivery.
Silicon Valley companies are more successful at innovation because they continue to iterate and develop new frameworks based on these methodologies and best practices. They keep developing new playbooks containing software delivery practices that are aligned with their company culture and business operations.
A successful playbook mostly focuses on the following:
1. Right Technical KPIs
The focus should be on four key software delivery metrics: lead time, deployment frequency, mean time to restore (MTTR) and change failure percentage. These metrics are useful to measure the performance of teams, differentiating between low, medium and high performing teams.
2. Business Outcomes and User-centricity
Tech companies should structure their team topologies around product management, not project development. Success should be then measured based on the value organizations are delivering to their customers, and not the projects milestones reached. This highlights the importance of creating business value for your organization and users. Product management incorporates Agile, DevOps and lean methodologies, and is very flexible and responsive to user feedback, in a way that it can adjust midcourse in case the project conditions change.
3. Culture: continuous feedback, organizational learning and psychological safety.
A culture that thrives on experimentation, risk-taking and learning from failure is essential for top-performing engineering teams to exist. This type of culture is the driver behind innovation and continuous improvement. And, in order to begin creating this culture, organizations should focus on optimizing for psychological safety.
Psychological safety is vital for high performing teams and it should have the same importance as physical safety does in manufacturing jobs. When team members feel safe to talk about problems, the organization has the possibility to fix and even prevent these in the future. This is the reason why organizations should focus on creating a safe environment where honesty is prevalent and there is no fear in expressing oneself.
Silicon Valley Companies are successful because of their processes
Although software development talent is everywhere, Silicon Valley developers still appear to be more skilled than their peers, because of their companies’ processes. Silicon Valley companies have learnt throughout the years the importance of integrating software delivery frameworks, methods, organizational culture and business operations. This has played a crucial role in solving complex problems and building intangible assets, making them very successful at innovating.