(Software Engineering, Sommerville, 10th Edition)
questions with verified answers
"Scaling out" agile methods Ans✓✓✓-Concerned with how agile methods can be
introduced across a large organization with many years of software development
experience.
"Scaling up" agile methods Ans✓✓✓-Concerned with using agile methods for
developing large software systems that cannot be developed by a small team.
AAR Ans✓✓✓-After Action Review (wrap-up)
Agile Development Ans✓✓✓-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.
Agile Manifesto Tenets Ans✓✓✓-- Individuals and Interactions over processes
and tools
- Working software over comprehensive documentation
- Customer collaboration over contract negotiation
- Responding to change over following a plan
Agile methods and software maintenance concerns Ans✓✓✓-1) Lack of product
documentation
2) Keeping customers involved
3) Development team continuity
, Agile methods are useful for what two kinds of system development? Ans✓✓✓-
1) Developing a small or medium-sized product for sale
2) 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 few external rules and regulations that affect the software
Benefits of Pair Programming Ans✓✓✓-- Helps develop common ownership of
code and spreads knowledge across the team.
- It serves as an informal review process as each line of code is looked at by more
than 1 person.
- It encourages refactoring as the whole team can benefit from improving the
system code.
Benefits of Scrum Ans✓✓✓-1) The product is broken down into a set of
manageable and understandable chunks.
2) Unstable requirements do not hold up progress.
3) The whole team have visibility of everything and consequently team
communication is improved.
4) Customers see on-time delivery of increments and gain feedback on how the
product works.
5) Trust between customers and developers is established and a positive culture is
created in which everyone expects the project to succeed.
Common characteristics of agile development Ans✓✓✓-- Program specification,
design and implementation are inter-leaved
- The system is developed as a series of versions or increments with stakeholders
involved in version specification and evaluation