Thanks to visit codestin.com
Credit goes to www.scribd.com

0% found this document useful (0 votes)
334 views1 page

Software Engineering Chapter 3

The document discusses various aspects of agile software development methodologies including: 1) How agile methods like Scrum are well-suited for student software engineering projects by facilitating team interaction and iterative development. 2) How agile principles lead to accelerated development by focusing on minimal viable products and adding features iteratively. 3) The advantages and disadvantages of using user stories to describe requirements, such as potential for misinterpretation. 4) How test-first development risks outdated test suites failing to uncover new vulnerabilities introduced in the code.

Uploaded by

James Beruega
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
334 views1 page

Software Engineering Chapter 3

The document discusses various aspects of agile software development methodologies including: 1) How agile methods like Scrum are well-suited for student software engineering projects by facilitating team interaction and iterative development. 2) How agile principles lead to accelerated development by focusing on minimal viable products and adding features iteratively. 3) The advantages and disadvantages of using user stories to describe requirements, such as potential for misinterpretation. 4) How test-first development risks outdated test suites failing to uncover new vulnerabilities introduced in the code.

Uploaded by

James Beruega
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 1

1.

At the end of their study program, students in a software engineering course are typically
expected to complete a major project. Explain how the agile methodology may be very useful for the
students to use in this case.
 The agile methodology is team centered so it would help them interact with each other. It also
encourages releases in phases so that the team can show the professor updates as they work
2. Explain how the principles underlying agile methods lead to the accelerated development and
deployment of software
 Since agile focuses on getting out a minimal viable product and then adding more features to it as
you go, developers can have a working product out much faster than if they had to have all
features in the first release
3. Extreme programming expresses user requirements as stories, with each story written on a
card. Discuss the advantages and disadvantages of this approach to requirements description.
 Sometimes user stories can be misinterpreted and a developer could waste time finishing then
just have to turn around and redo it
4. In test-first development, tests are written before the code. Explain how the test suite may
compromise the quality of the software system being developed.
 The test suite could become outdated by the time the actual code is written and not test every
vulnerability that the code may have
5. Suggest four reasons why the productivity rate of programmers working as a pair might be
more than half that of two programmers working individually.
 One developer might be better at concepts than actual coding
 One developer might be more familiar with the framework than the other
 Both developers can work on roadblocks that they encounter together instead of being stumped
for hours alone
 Having different ideas that work well together could write more efficient code that would require
less maintenance
6. Compare and contrast the Scrum approach to project management with conventional plan-based
approaches as discussed in Chapter 23. Your comparison should be based on the effectiveness of each
approach for planning the allocation of people to projects, estimating the cost of projects, maintaining
team cohesion, and managing changes in project team membership
 SCRUM is more planning in phases and adapting as the team moves forward whereas traditional
development has the whole plan laid out beforehand and changes are made after the final
product is released
7. To reduce costs and the environmental impact of commuting, your company decides to close a number of
offices and to provide support for staff to work from home. However, the senior management who
introduce the policy are unaware that software is developed using Scrum. Explain how you could use
technology to support Scrum in a distributed environment to make this possible. What problems are you
likely to encounter using this approach?
 You could host group video meetings using software like Skype to hold the daily stand up
meetings. The drawback is that it is harder to manage multiple people wanting to speak over a
video conference than it is in person
8. Why is it necessary to introduce some methods and documentation from plan-based approaches when
scaling agile methods to larger projects that are developed by distributed development teams?
 Agile is best suited to work with small teams. Introducing elements from approaches that are
designed to suit larger teams can help the development process scale easier.
9. Explain why agile methods may not work well in organizations that have teams with a wide
range of skills and abilities and well-established processes
 Having to switch from their well-established process to a new process might set them back on
time that they could use to develop.
10. One of the problems of having a user closely involved with a software development team is that they "go
native." That is, they adopt the outlook of the development team and lose sight of the needs of their user
colleagues. Suggest three ways how you might avoid this problem, and discuss the advantages and
disadvantages of each approach.
 Keep in contact with people outside of the development team.

You might also like