Download - Scaling agile
![Page 1: Scaling agile](https://reader034.vdocuments.net/reader034/viewer/2022042701/55a521fc1a28abbf348b4807/html5/thumbnails/1.jpg)
Scaling agile methods
Software Engineering 10
![Page 2: Scaling agile](https://reader034.vdocuments.net/reader034/viewer/2022042701/55a521fc1a28abbf348b4807/html5/thumbnails/2.jpg)
Agile methods have proved to be
successful for small and medium
sized projects that can be developed
by a small co-located team.
![Page 3: Scaling agile](https://reader034.vdocuments.net/reader034/viewer/2022042701/55a521fc1a28abbf348b4807/html5/thumbnails/3.jpg)
It is sometimes argued that the
success of these methods comes
because of improved
communications which is possible
when everyone is working together.
![Page 4: Scaling agile](https://reader034.vdocuments.net/reader034/viewer/2022042701/55a521fc1a28abbf348b4807/html5/thumbnails/4.jpg)
For large systems, different parts of
the system may be developed by
different teams. They may not all be
working in the same place or for the
same company.
![Page 5: Scaling agile](https://reader034.vdocuments.net/reader034/viewer/2022042701/55a521fc1a28abbf348b4807/html5/thumbnails/5.jpg)
Scaling up agile methods involves
changing these to cope with larger,
longer projects where there are
multiple development teams,
perhaps working in different
locations.
![Page 6: Scaling agile](https://reader034.vdocuments.net/reader034/viewer/2022042701/55a521fc1a28abbf348b4807/html5/thumbnails/6.jpg)
Agile fundamentals
Flexible planning, frequent system
releases, continuous integration,
test-driven development and good
team communications.
![Page 7: Scaling agile](https://reader034.vdocuments.net/reader034/viewer/2022042701/55a521fc1a28abbf348b4807/html5/thumbnails/7.jpg)
The informality of agile development
is incompatible with the legal
approach to contract definition that
is commonly used in large
companies.
![Page 8: Scaling agile](https://reader034.vdocuments.net/reader034/viewer/2022042701/55a521fc1a28abbf348b4807/html5/thumbnails/8.jpg)
Agile methods are most appropriate
for new software development rather
than software maintenance. Yet the
majority of software costs in large
companies come from maintaining
their existing software systems.
![Page 9: Scaling agile](https://reader034.vdocuments.net/reader034/viewer/2022042701/55a521fc1a28abbf348b4807/html5/thumbnails/9.jpg)
Agile methods are designed for small
co-located teams yet much software
development now involves
worldwide distributed teams.
![Page 10: Scaling agile](https://reader034.vdocuments.net/reader034/viewer/2022042701/55a521fc1a28abbf348b4807/html5/thumbnails/10.jpg)
Most software contracts for custom
systems are based around a
specification, which sets out what
has to be implemented by the system
developer for the system customer.
![Page 11: Scaling agile](https://reader034.vdocuments.net/reader034/viewer/2022042701/55a521fc1a28abbf348b4807/html5/thumbnails/11.jpg)
It is not therefore possible to
interleave specification and
development as recommended in
agile development.
![Page 12: Scaling agile](https://reader034.vdocuments.net/reader034/viewer/2022042701/55a521fc1a28abbf348b4807/html5/thumbnails/12.jpg)
A contract that pays for developer
time rather than functionality is seen
as a high risk by many legal
departments because what has to be
delivered cannot be guaranteed.
![Page 13: Scaling agile](https://reader034.vdocuments.net/reader034/viewer/2022042701/55a521fc1a28abbf348b4807/html5/thumbnails/13.jpg)
Are systems that are developed
using an agile approach
maintainable, given the emphasis in
the development process of
minimizing formal documentation?
![Page 14: Scaling agile](https://reader034.vdocuments.net/reader034/viewer/2022042701/55a521fc1a28abbf348b4807/html5/thumbnails/14.jpg)
Can agile methods be used
effectively for evolving a system in
response to customer change
requests?
![Page 15: Scaling agile](https://reader034.vdocuments.net/reader034/viewer/2022042701/55a521fc1a28abbf348b4807/html5/thumbnails/15.jpg)
If agile methods are to be successful,
they have to support maintenance as
well as original development.
![Page 16: Scaling agile](https://reader034.vdocuments.net/reader034/viewer/2022042701/55a521fc1a28abbf348b4807/html5/thumbnails/16.jpg)
Agile development relies on the
development team knowing and
understanding what has to be done.
![Page 17: Scaling agile](https://reader034.vdocuments.net/reader034/viewer/2022042701/55a521fc1a28abbf348b4807/html5/thumbnails/17.jpg)
For long-lifetime systems, this is a
real problem as the original
developers will not always work on
the system.
![Page 18: Scaling agile](https://reader034.vdocuments.net/reader034/viewer/2022042701/55a521fc1a28abbf348b4807/html5/thumbnails/18.jpg)
Scaling agile requires a mix of agile
and plan-based development.
![Page 19: Scaling agile](https://reader034.vdocuments.net/reader034/viewer/2022042701/55a521fc1a28abbf348b4807/html5/thumbnails/19.jpg)
Is it important to have a very detailed
specification and design before
moving to implementation? If so, you
probably need to use a plan-driven
approach.
![Page 20: Scaling agile](https://reader034.vdocuments.net/reader034/viewer/2022042701/55a521fc1a28abbf348b4807/html5/thumbnails/20.jpg)
Are customer representatives
available and willing to work closely
with the development team?
![Page 21: Scaling agile](https://reader034.vdocuments.net/reader034/viewer/2022042701/55a521fc1a28abbf348b4807/html5/thumbnails/21.jpg)
How large is the system that is being
developed? Agile methods minimise
documentation but documentation
may be essential for distributed
teams.
![Page 22: Scaling agile](https://reader034.vdocuments.net/reader034/viewer/2022042701/55a521fc1a28abbf348b4807/html5/thumbnails/22.jpg)
Agile and plan-based factors
Chapter 3 Agile Software Development
2230/10/2014
![Page 23: Scaling agile](https://reader034.vdocuments.net/reader034/viewer/2022042701/55a521fc1a28abbf348b4807/html5/thumbnails/23.jpg)
Agile methods are most effective a
relatively small co-located team who
can communicate informally.
![Page 24: Scaling agile](https://reader034.vdocuments.net/reader034/viewer/2022042701/55a521fc1a28abbf348b4807/html5/thumbnails/24.jpg)
Systems that require a lot of analysis
before implementation need a fairly
detailed design to carry out this
analysis.
![Page 25: Scaling agile](https://reader034.vdocuments.net/reader034/viewer/2022042701/55a521fc1a28abbf348b4807/html5/thumbnails/25.jpg)
Long-lifetime systems require
documentation to communicate the
intentions of the system developers
to the support team.
![Page 26: Scaling agile](https://reader034.vdocuments.net/reader034/viewer/2022042701/55a521fc1a28abbf348b4807/html5/thumbnails/26.jpg)
If a system is regulated you will
probably be required to produce
detailed documentation as part of the
system safety case.
![Page 27: Scaling agile](https://reader034.vdocuments.net/reader034/viewer/2022042701/55a521fc1a28abbf348b4807/html5/thumbnails/27.jpg)
It is sometimes argued that agile
methods require higher skill levels
than plan-based approaches in
which programmers simply translate
a detailed design into code.
![Page 28: Scaling agile](https://reader034.vdocuments.net/reader034/viewer/2022042701/55a521fc1a28abbf348b4807/html5/thumbnails/28.jpg)
Design documents may be required
if the team is distributed.
![Page 29: Scaling agile](https://reader034.vdocuments.net/reader034/viewer/2022042701/55a521fc1a28abbf348b4807/html5/thumbnails/29.jpg)
IDE support for collaborative work is
essential for distributed teams.
![Page 30: Scaling agile](https://reader034.vdocuments.net/reader034/viewer/2022042701/55a521fc1a28abbf348b4807/html5/thumbnails/30.jpg)
Can the organisation adapt to
different kinds of development
contract or does the contracts
department insist on
standardisation?
![Page 31: Scaling agile](https://reader034.vdocuments.net/reader034/viewer/2022042701/55a521fc1a28abbf348b4807/html5/thumbnails/31.jpg)
Does the culture support individual
initiative which is an inherent part of
agile development?
![Page 32: Scaling agile](https://reader034.vdocuments.net/reader034/viewer/2022042701/55a521fc1a28abbf348b4807/html5/thumbnails/32.jpg)
Do customers want incremental
delivery and involvement in the
process?