QASymphony / Blog / Breaking Down Barriers to Agile Transition: Q&A with Darshan Puttannaiah
Breaking Down Barriers to Agile Transition: Q&A with Darshan Puttannaiah
QASymphony: What’s the most difficult aspect about going Agile for your clients?
DP: It’s mainly about the people and the culture. It is a mindset shift to get people to start looking at work in smaller chunks. Business people seem to have a particularly tough time with this. They often can’t quite wrap their heads around the value of speed and moving away from the concept of doing end to end testing before going into production. I see this as a comfort level issue with new testing and development practices, and the ability to trust the people behind it.
QASymphony: How does your firm handle these cultural barriers?
DP: We work a lot on education with our clients, whether through seminars, or putting them in touch with other companies that have gone through the process. It’s also helpful to have business users be a part of the test team which provides a higher comfort level for adopting new practices, by seeing everything in action. We often bring in thought leaders from the Agile industry who discuss their experiences and best practices. At a large organization, it can take six to 12 months to make the transition to Agile. We typically start by identifying a small team and a small project to gain success quickly and then we are able to learn from the mistakes and successes moving forward.
QASymphony: Terminology sometimes gets confusing. How do you describe the differences between continuous delivery and continuous integration?
DP: First, you need Agile practices, which leads to test-driven development (TDD), which then enables continues integration, continuous deployment, and ultimately continuous delivery. After that, DevOps comes to play. Continuous deployment is about giving the business the capability to deploy production-ready code at any given time. You can automatically deploy the code through pushing a button while still enabling some features to deploy on demand when needed. Traditionally, this was a process that took a few days, with lots of manual approvals and hundreds of steps required for deployment. The complexity meant that deployment was happening once a month or once a quarter. Now it is all automated and it can take minutes or hours. Continuous integration tools, such as Jenkins, are integrated with a change management tool and every step is automated. With the push of a button you can approve and deploy without reviewing all the code.
QASymphony: What is TDD?
DP: TDD is a way of writing smaller chunks of code where the developers write test cases first, within the code itself, and then you write the code for the actual feature. Developers write minimal code to pass the tests. In traditional development you write the code first, then you test and then you go to production.
QASymphony: How do you see that software testing and QA has changed with Agile?
DP: Testers are required to learn a lot of programming now, and they must learn how to use the automated tools. Testers must integrate better with the development process from beginning to end, not just in the middle. They typically have the skills on hand to do this, but may not be ready mentally. Developers as well need to understand the process and to work more closely with testers. Moving to this kind of workflow can be disruptive and at times, it’s a matter of adopting the new processes or leaving. I have seen that maybe 20% of people on development teams can’t make the shift.
QASymphony: What do you look for when hiring developers for your firm? What are the top skills and characteristics that are important to succeed today?
DP: Skills are not as important as traits, which means I look for people who are willing to take risks, and who have a hacker mentality in that they like to experiment and do things differently. It’s really important to challenge the status quo. The reason why is that there are new technologies coming out all the time; we need to help companies benefit from innovation, so that their business can function more effectively. A few years ago it wasn’t easy to find engineers who were both technical and adaptable. Now, it is a little bit easier with the impact of mobile/social technologies on the younger workforce, which encourages quick collaboration and idea sharing. As well, colleges are doing a better job of preparing students. Schools are starting to create innovation labs which allow students to experiment with new technologies. It’s a new approach to learning. Recently, I spoke with the new Dean of Engineering at the University of Denver, J.B. Holston, who comes from an entrepreneurial background, not engineering. He was brought in specifically to change the way that students learn.