Language menu for mobile

News

DZone: A Personal Look Back at 25 Years in Software Testing in Silicon Valley

I’ve worked around the world in cities throughout North America, Asia, and Europe, and I’ve been inspired by them all in different ways. But, it’s here in Silicon Valley where I feel that anything is possible. Whether it’s driving down 101 towards San Jose and seeing driverless cars changing lanes, or seeing VR stores crop up in San Mateo, these serve to remind me of the opportunity the Valley has afforded me and my peers here and around the world to be tech leaders.

It was over 30 years ago when I started as a software engineer here in Silicon Valley. My first boss was Cem Kaner, author of the game-changing book: Testing Computer Software, who later became my mentor. Testing Computer Software was a best seller that Kaner co-wrote with Jack Faulk and Hung Nguyen. What made the book so groundbreaking was that the book took experience from all around Silicon Valley, from WorldPerfect, to Electronic Arts, to help promote that organizations should build a foundation of software quality built on customer satisfaction.

It was through Cem that I met Hung Nguyen, my co-founder at LogiGear. Back in 1994, when we first started SoftGear, we acted as strategic advisors for a lot of big fortune 100s, like CNET, to Oracle’s Network Computer, to Compaq, to help create and implement quality organizations. What was supposed to be a part time gig for us, quickly flourished into a full-time business that at its height employed around 100 engineers here in Silicon Valley before the dot.com bubble. Today, LogiGear is a global company, spanning the US, Japan and Vietnam that employs over 500+ and is only continuing to grow.

How we do things in Silicon Valley is different—and super technically sophisticated and cutting edge. According to the Brookings Institution, “the San Jose Metropolitan Area has the third-highest GDP per capita in the world—after Zurich, Switzerland and Oslo, Norway.”  I’ve travelled far and wide; helping companies from early stage startups to Fortune 100s implement successful Quality Practices and Test Automation programs from the old-school traditional development era, to Agile and now Continuous Delivery. By the numbers, our company has brought Silicon Valley software testing expertise to 26 countries globally from Silicon Docks to Silicon Prairie and many places in between. As I celebrate our 25th year of business, I wanted to take a personal look back at some of the hard-won lessons I have learned:  

  1. Build quality from the start.
  2. Testers develop software. They are part of the Software Development Team.
  3. Amplify Learning, and be ready for the next big thing.
  4. Empower your team, but also get expert help.  

These may seem like common practices in business today, but it has not always been this way.

Looking back, another big factor of our success is our focus on technological innovation and thought leadership in Software Innovation. At the time, there was an explosion of consumer products happening. We jumped right in too, learning what customers want and need in products. It was clear early on that consumers had very little tolerance for bugs and issues. In fact, they wanted issues fixed in days. On the other hand, B2B users, at that time, were accustomed to waiting much longer—several months, even half a year—before the new software was released. How software testing or simply validation was done had to change. The rift between marketing, managers, programmers, and testers was silo ‘d and huge.

  1. Build quality from the start

I learned early—you cannot test-in quality at the end, you have to build it from the start. We have always believed that product development starts with the Lean Principle of quality at every step. Since the early days of Software testing, this gap has closed a lot. Now, all customers are expecting high quality releases of software the first time (and with much faster updates). This is largely due to the emphasis on testing now being more on customers and their experience from the inception and requirements to user stories, to public beta testing from a technology perspective.

In my current consulting and training work, I mainly help clients make the transition to testing in Continuous Delivery from Agile. This is largely coming out of the need for Software Development to have faster time-to-market releases. Continuous Testing, when done right, allows for finding defects earlier in the SDLC, saving time, commonly known as “Shift-left.” Shift-left gets organizations further along this ideal of building quality in from the start.

Another large idea of Continuous Testing is the shared notion of Quality, which is a radical departure from Agile. In Continuous Delivery, everyone has a piece in Quality—not only test teams, which allows for organizations to better build in quality from the start.

  1. Testers develop software. We are part of the Software Development Team.

Testers are part of Development: They help develop the software and product. To put it simply, Testers may not be programmers, but they are central to developing and making a successful product. Neither is testing adversarial to product release. This is an old outdated team dynamic from the past in that I still sometimes see outside the valley. The job of the test team is to help release a high-quality product, as well as to decide whether to release with information about the quality. Quality is about making fully informed decisions about the product—not guesses about risk. Test teams provide much of this information, as more testing is more information. Also, Testers spend more time in the product than anyone else. Before UI/UX teams, testers critiqued and advocated for users and ease of use.

We all know by now that team silos are bad. Collaboration, communication, and working together from the start on one team are the best way to go.

Especially today with the adoption of DevOps, everyone on the team needs to be focused on speed and deployment. I’ve found that a lot of teams moving to CD and DevOps need a lot of help with cleaning up their automated regression suites. Over time, the Automation has become bloated and slow Continuous Delivery won’t tolerate this, so I focus teams to “cut the bloat” to have their automated regression suites be “Lean and Mean.” The Automation is software development—not for customers—but needs architecture, design, coding standards…Test teams are part of software development for customers and also helping get the product into customer’s hands as fast as possible.

  1. Amplify learning, and be ready for the next thing

Learning, collaboration, and communication have always been a cornerstone of development in Silicon Valley. However, this is not a new idea. The key is to amplify learning and increase collaboration. At a time, when university programs did not teach anything about testing or quality, I went through an engineering program when, if the code compiled, it worked. Even before Lean Software Development became fashionable and accepted—Silicon Valley knew you needed testing at every step and you could not add, or assure quality at the end. A quality product starts with quality requirements—not a bunch of testing at the end! Hung and I were both given the opportunity to create and teach the Software Engineering Certificate Programs for both University of California Santa Cruz and University of California, Berkeley, and we both made this tem of quality at every stop a central tenet to the software quality curriculum there.

Another theme of learning has to do with diversity of projects. LogiGear’s choosing to work on a diverse set of projects (including hardware, software, web, and mobile) has helped the company create a strong testing skill culture, while broadening the team’s problem-solving skills. It has also helped our teams quickly recognize and act on key shifts in the industry, like Agile, DevOps, Continuous Testing, and Delivery. We only have this, because the culture here in Silicon Valley to be constantly pushing the envelope. As part of this culture, testing, and specifically Automation, is deemed critical to an organization’s success not only here, but globally.

Long before video gaming became a billion dollar industry, we helped Fisher Price and Leapfrog to build the first computer geared towards kids. We recently helped a company test an IoT device, which was a robotic car and a racing video game that could be controlled via mobile application. We were the first end user outside of the company to test it and were able to provide invaluable feedback to the client. This is why I advocate the testers must always think like the user. I’d also recommend that teams learn the product, platform, and customers. Share and train on quality, quality testing practices, and risks. Don’t work in a silo.

We can get help from other teams. From the marketing and product side, we can get information on use, customers, and goals. From programmers, we can get insight, focus, and especially tools. As far as how a business can utilize their skills cross-industry, there are countless examples. To give you just one: A testing business that is experience in testing mobile applications, ECUs and embedded systems and has a portfolio of automotive companies is most certainly going to better understand the needs of testing the Software Car.

  1. Empower your team, but also get expert help.

Bright minds from all around the world have flocked to the Valley to work for the world’s premier tech businesses or to start their own. In addition to being home to seasoned technologists, the region also attracts the brightest young talent from around the world: from graduates starting their first job to new students attending the region’s top educational institutions. There is a famous statistic: Every 5 years the number of software programmers doubles. Although this is no longer true in the US alone, it is worldwide. For decades and even today, what this means is that every few years, much of the development team are new, lacks years of experience, nor has the school of hard-knocks successes and failures to build a product right.

On the flip side, there are organizations that are dealing with more tenured employees that are used to staying status quo. If I had to tell them one thing, don’t be afraid to step outside of your comfort zone. It is poison and failure to do things “because that’s the way we have always done them.” Silicon Valley is built on change, new thinking, and efficiency. Be open to the idea of getting expert help to find the best, most current and advanced thinking rather than limiting yourself to old ideas.

There are a variety of consulting experts that can help with QA transformations. While most Software Testing businesses in the Valley decided to specialize in one area, such as ERP, games, web, mobile ,or finance, to gain an edge with customers, at LogiGear, we felt it was important to diversify our testing practice—and it paid off in more ways than one. By specializing in Automation, instead of an industry vertical, we’ve had a lot of doors open for us that have led to working with businesses that are doing some really cutting edge things. If we would have bet on a particular hardware or OS, like many of our peers did, we wouldn’t be in business today. After the Dot.com Bubble, we were the only shop that was in Silicon Valley. Most readers today also recall that 9/11 also deepened the economic recession, this diversification we had of not specializing was a key tenant to our success. When other companies that specialized for one industry (e.g. Healthcare) folded, we were able to stay afloat. That was a big reason to our sustained longevity as a company, and only adds to our continued growth.

Summary

A 25 year anniversary provides a unique opportunity to examine the impact Silicon Valley and how people, like Hung, Cem Kaner, and many others, have helped to set the standard for software testing—not just here in Silicon Valley, but globally. As testers, we’ve come a long way in learning how to develop the services and tools that our customers need to support the real-time development and delivery of today’s software. It is here where the culture of modern software development as we know got created, and we’re still helping to shape it. Whether you’re looking to make the shift to Continuous Testing, or working on the latest greatest technologies these 4 essential principles still remain the same; remember to build quality from the start, empower your team through learning, be ready for the next big thing, and don’t be afraid to get expert help.

Recommended for you