You are on page 1of 9

Agile method applicability

• Product development where a software company is


developing a small or medium-sized product for sale.
• Custom system development within an organization, where
there is a clear commitment from the customer to become
involved in the development process and where there are not
a lot of external rules and regulations that affect the
software.
• Because of their focus on small, tightly-integrated teams,
there are problems in scaling agile methods to large systems.

Chapter 3 Agile
software
development
10
Problems with agile methods
■ It can be difficult to keep the interest of customers who are
involved in the process.
■ Team members may be unsuited to the intense involvement
that characterizes agile methods.
■ Prioritizing changes can be difficult where there are
multiple stakeholders.
■ Maintaining simplicity requires extra work.
■ Contracts may be a problem as with other approaches to
iterative development.

Chapter 3 Agile
software
development
11
Agile methods and software
maintenance
• Most organizations spend more on maintaining existing
software than they do on new software development. So, if
agile methods are to be successful, they have to support
maintenance as well as original development.
• Two key issues:
– Are systems that are developed using an agile approach maintainable,
given the emphasis in the development process of minimizing formal
documentation?
– Can agile methods be used effectively for evolving a system in
response to customer change requests?
• Problems may arise if original development team cannot be
maintained.
Chapter 3 Agile
software
development
12
Plan-driven and agile
development
■Plan-driven development
■ A plan-driven approach to software engineering is based
around separate development stages with the outputs to be
produced at each of these stages planned in advance.
■ Not necessarily waterfall model – plan-driven, incremental
development is possible
■ Iteration occurs within activities.
■Agile development
■ Specification, design, implementation and testing are
inter-leaved and the outputs from the development process are
decided through a process of negotiation during the software
development process.

Chapter 3 Agile
software
development
13
Human Factors
■ the process molds to the needs of the people and
team, not the other way around
■ key traits must exist among the people on an agile
team and the team itself:
■ Competence.
■ Common focus.
■ Collaboration.
■ Decision-making ability.
■ Fuzzy problem-solving ability.
■ Mutual trust and respect.
■ Self-organization.

These slides are designed to accompany Software Engineering: A Practitioner’s Approach, 7/e
(McGraw-Hill, 2009) Slides copyright 2009 by Roger Pressman. 14

You might also like