In an hour-long interview with Digital Creed, Sudhir Tiwari, Managing Director, ThoughtWorks India talks about their rich legacy in product testing, continuous delivery, pipeline, DevOps and other standards that ThoughtWorks pioneered in the software industry. Some of the products developed by ThoughtWorks are now open sourced. The company’s philosophy is to create pioneering products and standards and then make these available for everyone to use. Sudhir is also an agility champion and tells us what businesses need to do to become more agile.
Sudhir Tiwari has been with ThoughtWorks for the past 13 years. He was earlier with I-Flex Solutions, a product startup that was later acquired by Oracle. He began his career as a developer and then helped start the products division called ThoughtWorks Studios. He and his team built three or four products that were sold in more than 50 countries. Two of these products have been open sourced today. This gave him a thorough understanding of product operations. In 2011, he moved to the services side to take up a leadership role at ThoughtWorks India.
DC: Can you tell us about the products you built and what was unique about them?
Sudhir Tiwari: We launched a project management product in 2007 called Mingle. It was really unique as it was the first commercial product on the Ruby on Rails platform.
In 2002 – 2003 we built a product called Cruise Control. It was later morphed into a product called Cruise, and now it is called GoCD. CD stands for Continuous Delivery. This was really the DevOps revolution and the product manager for this product has written books on DevOps and is well known for his work. GoCD is a pioneering product that first introduced a concept called pipeline, which has now become standard in the industry. Today GoCD is an open source product.
Continuous Delivery (CD) ensured that all the environments work together. It enabled a business owner to push things into production with the push of a button. It is meant for rapid app development. Today every Internet company does CD.
The third product was called Twist and it was for functional testing. It’s now called Gauge and it is also open source. It allows you to test on the back of a functional specification given to you. The biggest challenge with testing now is there is no way to validate the spec that the developer has used to write code, with the functional spec that was given. This same spec is used by the quality assurance teams to write the test.
There was a product called Sahi and a tool called Frankenstein – both for testing. There was also a product for .Net applications called White. It was one of the top applications recommended for testing by Microsoft.
The core product that ThoughtWorks was known for was Selenium, the first functional testing tool. It competed with HP’s Mercury tool. Interestingly, Selenium is an antidote to Mercury, and hence we chose this name!
So ThoughtWorks has a strong legacy in testing.
Our objective was always to pick up projects where technology plays a key role. Over a period we started calling it [email protected], internally. Tech is now at the heart of business.
DC: You are also an agility champion. Can you tell us what a business needs to do to be agile?
Sudhir Tiwari: The only way that a team can be truly agile is to respond quickly to a customer’s changing requirements. And it all comes down to testing.
If you look at the genesis of the waterfall software development life cycle, that borrowed heavily from the hardware world. It is crucial to get the specs right in the hardware world. The same logic became applicable to software. The idea is to keep the cost low, and to keep the code bug free when doing software development; the only way to do that is to have a strong testing harness.
So everything we do, every line of code that we write is backed up by a unit level test. Every feature we put out there is backed by a functional test. So I can do a change and if I break something, the test will call it out.
So I would measure the performance of the teams that do agile by the number of times they are checking code. What is their function test code coverage? Is it above 90 percent?
That’s our way of doing delivery and that’s the true concept of being agile. It’s all about feedback.
DC: You’ve worked with clients from all over the world. What kind of advantage does that give you?
Sudhir Tiwari: India is unique because it has helped us work with clients from all over the world. It has helped us build a strong delivery culture. Secondly, it has given us a thorough understanding (of the trends) across domains. For instance, we can tell you the latest trends in the Retail sector, since we have retail clients in Germany, UK, Brazil. Chile, Australia etc.
DC: Which are the sectors that are on your radar?
Sudhir Tiwari: The obvious ones are finance, retail, banking & insurance, travel. We are seeing a lot of traction on health now.
Our objective was always to pick up projects where technology plays a key role. Over a period we started calling it [email protected], internally. Tech is now at the heart of business. The business is trying to figure out how do you leverage technology for competitive advantage.
One project we are involved in is the 30-meter telescope (TMT). It is being built in Hawaii, and a group of countries are investing in this project. We work with IUCAA (Inter-University Centre for Astronomy and Astrophysics) and The Indian Institute of Astrophysics. So we are building the control software for the telescope and at the same time, huge amounts of data will get streamed in.
DC: Is ThoughtWorks contributing its expertise towards futuristic projects that leverage science and technology?
Sudhir Tiwari: We have an internal group called E4R (Engineering for Research). Research institutes are thinking about tomorrow’s problems. And we think about ways to work with them. Our strength is to take the latest technologies and take them prime time (mainstream). For instance, we took (Ruby on) Rails prime time in 2007. Now there are things happening with data. We think about the organisations we can work with, to solve different kinds of problems using huge volumes of data. We think about the potential open source tools and the design patterns — which then, we could take to our customers.
The E4R group works on such projects.
One project we are involved in is the 30-meter telescope (TMT). It is being built in Hawaii, and a group of countries are investing in this project. The Government of India is overseeing the software development. We bid for and won that. And we work with IUCAA (Inter-University Centre for Astronomy and Astrophysics) and The Indian Institute of Astrophysics.
So we are building the control software for the telescope and at the same time, huge amounts of data will get streamed in.
The challenge is to quickly label that data, store it, and make it searchable.
I estimate that this telescope will be deployed after 10 years. And by then all the software technology will change. But we have to keep building it. It is about changing components (continuously) to get the architecture right. This is evolutionary architecture.