Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
0% found this document useful (0 votes)
27 views

Module 2 Lesson 4

This document discusses scaling agile software development methods to large systems and organizations. It explains that agile methods were originally developed for small teams but there is a need to scale them to handle large, complex software systems. There are two perspectives on scaling agile methods: scaling up to develop large software systems, and scaling out to introduce agile across a large organization. While maintaining agile fundamentals like flexible planning and frequent integration, methods need adaptation to address challenges with large systems like integration of existing systems and external rules/regulations. Large companies also struggle to fully implement agile due to reluctance to change, existing quality procedures, cultural resistance, and ensuring developer skill levels.

Uploaded by

Kyla Pineda
Copyright
© © All Rights Reserved
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
27 views

Module 2 Lesson 4

This document discusses scaling agile software development methods to large systems and organizations. It explains that agile methods were originally developed for small teams but there is a need to scale them to handle large, complex software systems. There are two perspectives on scaling agile methods: scaling up to develop large software systems, and scaling out to introduce agile across a large organization. While maintaining agile fundamentals like flexible planning and frequent integration, methods need adaptation to address challenges with large systems like integration of existing systems and external rules/regulations. Large companies also struggle to fully implement agile due to reluctance to change, existing quality procedures, cultural resistance, and ensuring developer skill levels.

Uploaded by

Kyla Pineda
Copyright
© © All Rights Reserved
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 15

Software Engineering

Module 2
Agile Software Development
> Learning Outcomes
At the end of this module, students should be able to:
1. Recall the rationale for agile software development
methods, the agile manifesto, and the differences between
agile and plan drive development;
2. Identify the key practices in extreme programming and
how these relate to the general principle of agile methods;
3. Recognize the scrum approach to agile management; and
4. Use the issues and problems of scaling agile development
methods to the development of large software systems.
Lesson 4. Scaling Agile Methods
Agile methods were developed for use by small
programming terms who could work together in
the same room and communicate informally. Agile
methods have therefore been mostly used for
development of small and medium-sized systems
(Ganney et al., 2013).
According to Denning (2008) argue that only
way to avoid common software engineering
problems, such as system that don’t meet
customer needs and budget overruns, is to find
way of making agile methods work for large
system. Leffingwell (2007) discusses which agile
practices scale to large systems development.
Large software system development is different
from small system development in a number of ways
(Leffingwell, 2007).
1. Large systems are usually collected of separate,
communicating systems, where separate develop
each system (Ganney et al., 2013).
2. Large systems are “brown field systems” (Hopkins
and Jenkin, 2008) that is they include and interact
with a number of existing systems.
3. Several systems are integrated to create a
systems, a significant fraction of the development is
concerned with system configuration rather than
original code development.
4. Large systems and their development
processes are often constrained by external rules
and regulations limiting the way that they can be
developed, that require certain types of system
documentation to be produced.
5. It is difficult to maintain coherent teams who
know about the system over that period as,
inevitably, people move on to other jobs and
projects.
6. Large systems usually have a diverse set of
stakeholders.
There are two perspectives on the scaling of agile
methods

1. Scaling up – for developing large software


systems that cannot be developed by a small team.
2. Scaling out – an agile methods can be
introduced across a large organization with many
years of software development experience.
Agile methods have to be adapted to cope with large
system engineering. Leffingwell (2007) argues that is
essential to maintain the fundamentals of agile methods:
• Flexible planning
• Frequent system release
• Continuous integration
• Test-driven development
• Good team communication
Large companies have also experimented with
agile methods in specific projects, but it is must
more difficult for them to “scale out” these
methods across the organization. Small software
companies that develop software products have
been among the most enthusiastic adopters of
agile methods.
It is difficult to introduce agile methods into large
companies for a number of reasons:
1. Project managers who do not have experience of
agile methods may be reluctant to accept the risk of
a new approach, s they do not know how this will
affect the particular projects.
2. Large organizations often have quality procedures
and standards that all projects are expected to follow.
3. Agile methods seem to work best when team
members have a relatively high skill level.
4. There may be culture resistance to agile
methods, especially in those organizations that
have a long history of using conventional systems
engineering processes.

You might also like