Leveraging an Agile Model for Software Development Lifecycle
By Joanne Welk, AVP-Global Engineering, Infinite Convergence Solutions
Five years ago, we were focused on a waterfall model of software development, where things worked serially—you defined requirements implemented those requirements and then after completion of the software it was handed over to a test team. The test team would then validate in a big bang approach, by conducting functional and performance tests to see what the end result will look like in a customer environment.
Now, we use an agile model which incorporates the test-driven development into the software’s lifecycle. In today’s extremely fast paced market, leveraging agile practices and automation, allows us to deliver faster, better and cheaper products with the best quality to remain competitive. The final testing is then more of a re-execution to insure it all works cleanly and integrates with other network elements to achieve the best quality.
The agile model has allowed for better planning and integration in parallel with development. Aside from the productivity benefits, the agile model can keep costs at bay. If you try to fix discrepancies once assembled, you have to pull it apart, fix the problem, and then put it back together which can be both costly and time-consuming.
The challenge is not only identifying the right people but having the right leadership to guide the team to deliver the right product
2. What do you think are the biggest challenges that technologists face in working in a more agile and outcomes based model?
The agile model requires collective ownership, having all the roles represented within an agile team is critical to the success of the outcome based model. This means you need someone acting as the customer representative, someone acting in the development role implementing the changes and then someone acting in the validation or test mode.
The challenge is not only identifying the right people but having the right leadership to guide the team to deliver the right product. Another challenge is leading a global agile team and with using effective communication tools for a virtualized work environment. To do this we make extensive use of online meetings, conference calls and mobile messaging platforms using our own cutting edge secure enterprise messaging platform called NetSfere.
3. Moving from traditional IT to a service offering model requires a major mindset shift in IT. How did you make that happen in software testing?
The move from traditional IT and on premise solutions to the public or private cloud has become a common feature for product offerings. If hosting in a public cloud, you would try to use these virtualized environments before you put it into the public cloud. Public clouds usually charge you for your uses in that public cloud. Therefore, it’s even more important to be using virtualized environments to continuously put new software on there that’s developed to simulate the production environment.
4. What set of skills do you think is required for the technology leaders to be successful in the new approach to software testing?
Being open to change and have the ability to drive change in this dynamic environment is a key to be a successful leader. Understanding the needs of the team to accomplish DevOps and Continuous Integration and Continuous Deployment is essential for a reader to recognize. Using the latest tools for test automation is one aspect critical to the success of this model.