There is an adage within the IT world, specifically within the circles that concern themselves with the quality and testing aspects of IT, that you should “eat your own dog food.” Dogfooding, as Joel Spolsky initially professed over a dozen years ago, was a call to developers and development teams to test their own products, to use their own products, and ultimately, to think like the target users of the products being developed. Not surprisingly, there is a lot of value in this concept; Joel is a well-respected entrepreneur whose accomplishments include founding Fog Creek Software (Trello, FogBugz, Kiln) and Stack Overflow, former MS Excel Program Manager, and author of a number of innovative tech books and the hugely popular Joel on Software blog.
If your development efforts are building a mobile application to aid workplace performance, for example, your development team may actually be among the best equipped to perform certain kinds of testing and value assessment. And, in an industry where there can be world of differences between the end-user and the developer (think about an ER trauma nurse using a handheld medical diagnosis device or an engineer using a web application to design and build electrical circuitry), putting your development staff in the position to experience your product from a realistic user perspective can add immeasurable value to the design and implementation of your technology.
“It ain’t what you don’t know that gets you int trouble. It’s what you know for sure that just ain’t so,” — Mark Twain
Obviously dogfooding is not enough to ensure high-quality deliverables out of your development engine on a consistent, sustainable, and extensible basis. Many successful companies employ in-house testing teams which include test specialists and generalists, tools gurus, domain experts, consistency police, process improvers, and maybe a handful of other roles and types of QA specialties. When these teams are recruited, hired, managed, and trained well, when they are appropriately leveraged by aptitude, ability, and interest, when they are sustained or rotated to meet release and maintenance capacity demands, and when they are motivated with an eye on continuous improvement – of both processes and product quality – you can assure your stakeholders and your customers of high-quality results. But is this the best way?
What is your organization known for? Where does it excel? In business-speak, what are your core competencies? What do you want them to be? Did software testing make the list? Probably not, but if it did then we’ve got something pretty big in common. More likely, your core competencies include the things that your customers are passionate about, the things that they rely on you for, the value and purpose that your business provides. So why should you invest valuable time and energy to all of the things that are required to build, grow, and maintain an outstanding software testing and quality assurance competency when you have other interests and demands that are better aligned with your goals?
Mark Twain has been accused of saying, “It ain’t what you don’t know that gets you int trouble. It’s what you know for sure that just ain’t so,”and he might as well have been talking about software testing. It may seem easy to provide a testing component to an IT project or application development team. Developers can help test when they’re done coding; business analysts can run the software to make sure their requirements were met; code and requirements can be sent together offshore to be compared and lists of defects can be exchanged; internal testing teams can work closely with the business and technology, but sit underutilized when any number of obstacles or blockages occur. With unlimited time, money, and people, any of these options can provide reasonable assurance of quality – but unlimited is unacceptable.
Entering into a managed testing partnership with SDLC Partners provides a solution that includes the advantages of in-house testing with the flexibility and cost-savings of offshoring. End-to-end testing is what we do. It is one of our core competencies. We employ a team of nearly 100 software testing and quality assurance professionals who are experienced in every aspect of lifecycle testing, including functional testing, regression testing, test automation using all of the major commercial and open-source testing toolkits, performance, usability, accessibility, and other non-functional testing, mobile and web testing, mainframe and database testing, test data setup and management, user acceptance test planning and execution, test process improvement, and test team development and management. We provide an entirely US-based team integrated with your development team, freeing up your business and technical experts to do what they do best: spend more time in the areas where you need them to add value.
Finding the right balance is imperative. Dogfooding allows your technical and business experts to experience their product through the eyes of its users. This brings obvious benefit, but has limited marginal return and doesn’t come close to providing sufficient testing expertise and coverage. Partnering with a professional testing team to perform the tedious technical, analytical, and detail-oriented tasks of end-to-end test management lets your experts focus on building quality and value back into your products while SDLC Partners takes care of the rest.