Agile Software Development improves software quality by promoting collaboration between developers, directors, and users
Large technology corporations with thousands of staff, not to mention millions of users worldwide, must cultivate a rigorous approach to organising personnel and assigning tasks. For Sky, the development of new products requires a hierarchy of small teams and a network of measures to plan, prioritise, develop, test and release software efficiently. This set of principles is known as Agile software development, and is characterised by the prioritisation of:
- Individuals and interactions over processes and tools
- Working software over comprehensive documentation
- Customer collaboration over contract negotiation
- Responding to change over following a plan
Each of Sky's 15000 employees at its Osterley campus is a member of a named team, with a specific role
Sam explained that his position involved taking information from the Product team and System architects and translating these into tasks for the developers within his scrum to complete. "Features" to implement were divided into "Epics", and further subdivided into "User Stories" - simple sentences which succinctly describe individual requirements of the User Interface. Jira is used by Sky to link stories and epics with other software development tools such as version control and automated continuous integration testing, and notify other teams if an unfinished feature is blocking development of one of their targets.
Before starting a two-week period of work known as a "Sprint", each story was given a score, corresponding with the expected level of effort required to deliver it. Depending on the personnel available for that sprint, a certain points target was chosen, and corresponding stories from the front of a prioritised backlog list were selected to be worked on. At the end of each sprint, the team were encouraged to reflect on their group performance in "Retrospectives", in order to hone efficiency.
Sam shared that the use of workflow management software and other techniques he learnt at Sky were most effective given a critical mass of team members, rather than being applied to individual work. However, he feels that his experience in dividing larger tasks into individual units of work, and remaining flexible under changing requirements will serve him well in his iPhD studies.