22225 - SCTE Broadband - Aug2024

FROM THE INDUSTRY

Continuous Updates in Agile Development Recognising the need for a more responsive and adaptive approach, the industry has transitioned to agile development methodologies. Agile development emphasises an iterative and incremental progress, allowing teams to deliver new features quickly and gather user feedback continuously. This approach doesn’t divide the project, instead enabling developers to make rapid adjustments based on real-time feedback, significantly enhancing operational efficiency. Agile development also fosters a culture of continuous improvement and responsiveness. Instead of defining the entire project upfront, teams work on smaller, manageable tasks. By delivering new features and updates frequently, teams can respond to changing market demands and ensure they can deliver a high-quality video experience to viewers. If something isn’t working, it isn’t a fundamental issue for the software – it can easily be removed. Moving From Lab-Based QA to Testing in the Field One of cornerstones of agile development is an increased focus on QA and post- deployment testing in the field. In V-cycle, QA teams conducted extensive

pre-release tests in controlled lab environments, which did not always reflect real-world conditions. This often resulted in software that performed well in the lab but encountered issues when deployed in the field. While some modern teams continue to perform tests after the product is launched, the majority of QA teams today mostly test pre-customer- launch. Shifting towards running more tests in the field allows for longer test cycles in a wider variety of environments. Transitioning to in-field testing allows for real-time feedback and rapid adjustments. By testing QA software on the actual devices that customers use (including Set-Top Boxes, Apple TVs, Android TVs, Smart TVs, smartphones and more), developers can collect data that allows them to identify and address issues more effectively. Field testing empowers teams to discover real-world issues that may not be apparent in a lab setting, such as network variability, regional differences and user behaviour/load patterns. Obviously, there is no business case in replicating a lab with the same number of servers/users/requests and variation than what is seen in the field. It would be completely unfeasible to create a lab environment with the same amount of servers, users, requests and variation as are seen in the field. Testing is still done in the lab in addition to the field, but the balance of both has changed. Traditionally, testing ended when a new version of software

This shift transformed QA and deployment, leading to the need for continual post-launch testing in the field to resolve errors faster and react to a dynamic market.

Isolated QA in V-Cycle Development

In the past, software development followed a V-cycle, where the process was divided into distinct phases: specification, development, QA and delivery. Each phase was sequential, and QA teams were often isolated, leading to delays and inefficiencies. This approach was systematic, but rigid and slow. Teams would spend months developing software based on predetermined specifications, only to realise later that the end product did not fully meet user needs or expectations. Post-launch updates were rare, releasing once or twice a year if at all. The main drawback of this past approach was the lack of flexibility. Developers had to anticipate user requirements far in advance, which is challenging in the fast-paced world of technology. Additionally, the lengthy development cycles meant delaying feedback from users who had actually used the software, and almost any post-launch change required significant time and resources to implement.

SEPTEMBER 2024 Volume 46 No.3

75

Made with FlippingBook flipbook maker