xode

07 Dec, 2021 / Victoria Gombert Whitepaper

Why Software Development needs to be Agile_

To deliver changing and innovative Information Systems or Applications quickly, it is essential to adopt an Agile methodology.

The need for software development companies to be Agile is increasing in today's environment. A leading Agile based methodology is Scrum. Scrum enables the development team to swiftly deliver functionality in a fast-paced and customer-focused environment through an iteration of ‘sprints’, generally one to three weeks in length. At the end of every sprint, the Scrum team produces a potentially deliverable product; as a result, the software development is faster and usually more cost-effective. 

A typical Scrum sprint

Incremental in nature, the Scrum methodology uses a cross-dimensional, low-boundary collaboration approach for software teams, with team members individually working toward a set team goal. 

Practicing a self-organising structure, a Scrum team is characterised by three roles – the Product Owner, Scrum Master and the other Scrum team members (Vlietland & van Vliet, 2015). The other Scrum team members may change depending on the project, but typically would be made up of developers, testers or designers. For this reason, Scrum works best on the foundation of a small, distinguished and highly skilled team of five to nine members. Scrum teams larger than this don’t seem to function efficiently. The composition of the staff within the Scrum team works well if there is a balance of skills, with teams that are open-minded and receptive to new ideas having an advantage over those resistant to change. 

Tangible, visible progress and results

The Scrum methodology focuses on tangible, visible progress and results. This is accomplished through several techniques, including the removal of interruptions or roadblocks; a good Scrum Master will entrust his or her team to perform efficiently, leaving them to their own devices. A review of issues are revised in a daily Scrum meeting, usually an informal discussion. An acceptance of responsibility is also expected, where each Scrum team member is accountable for their own work (Pino et al., 2010). Being adaptable, the Scrum methodology caters for changing requirements and uses brief but clear and prioritised short-term planning. Scrum also strives on being as transparent as possible, with the customer being a focal point. However, it has been argued that some of these rules or techniques disappear when scaling the model (Moe, Torgeir, & Tore, 2010). 

Scaling the Scrum framework

The Scrum methodology is relatively versatile and has been successful in a variety of project and product contexts. However, one case study suggests Scrum is most successful only in small to medium projects, and therefore isn’t a flexible methodology (Moe et al., 2010). Although this is arguable as a key part of Scrums success is that it enables context-driven solutions and processes. This is why no two Scrum operations are identical. Therefore, the discussion shouldn’t focus on a restrictive solution, but rather on how to scale the fundamental principles of the Scrum framework which have enabled its adaptability across small, medium and large organisations and projects (Roach, 2014).

Paramount to scaling the Scrum methodology is the context of the organisation and project in question. The Scrum framework consists of modules allowing for its versatility. This modularity can be tailored to the unique needs of an organisation, product, and project (Larman & Vodde, 2008). When adopting the Scrum methodology for a larger project, a Scrum of Scrums is formed. A designated ‘ambassador’ from each Scrum team attends the daily meetings, forming a hierarchy-of-sorts. Any software teams over a dozen people should be formed into a Scrum of Scrums (Rubin, 2012). This technique enables the Scrum method to scale up relatively easily. 

When selecting a methodology that is required to scale, modularity is crucial as no single restrictive approach could work well in several different contexts. The Scrum methodology may be a preferable choice of methodology to adopt within an organisation or for any project because it is adaptable to the specific strategic context of the organisation.

Enabling strategic vision

Using the Scrum methodology as a modular system accommodates an organisations strategic vision to be part of the process. A strategic vision can play a decisive role when selecting an appropriate methodology, in that it determines what the organisation is proposing to gain from the endeavour.

The Scrum methodology is suited to organisations, products or projects that aim to be customer-focused and innovative. Being an adaptable method, it has been proven to scale well across a wide variety of projects. Essentially, Scrum is arguably becoming one of the cornerstone methodologies an organisation can adopt to acquire a competitive advantage in their field. 

 


Sources 

Cohn, M. (2009). Succeeding with Agile: Software Development Using Scrum. Pearson Education.

Larman, C., & Vodde, B. (2008). Scaling Lean & Agile Development: Thinking and Organizational Tools for Large-Scale Scrum. Pearson Education.

Moe, N. B., Torgeir, D., & Tore, D. (2010). A teamwork model for understanding an agile team: A case study of a Scrum project. Information and Software Technology52(5), 480–491.

Pino, F. J., Oscar, P., Félix, G., Luaces, M. R., & Mario, P. (2010). Using Scrum to guide the execution of software process improvement in small organizations. The Journal of Systems and Software83(10), 1662–1677.

Roach, P. (2014, December 6). Scrum at Scale: http://scruminc.com. Retrieved September 13, 2015, from http://www.scruminc.com/scrum-scale-case-modularity/

Rubin, K. S. (2012). Essential Scrum: A Practical Guide to the Most Popular Agile Process. Addison-Wesley Professional.

Vlietland, J., & van Vliet, H. (2015). Towards a governance framework for chains of Scrum teams. Information and Software Technology57, 52–65.


Tags: Software development, Agile methodology, Scrum, Rapid development, Software teams