Assignment 2
Assignment 2
3/26/2020
Prof. Jun Ma
3.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
In Agile method of software development instead of of spending too much time on creating a detailed
plan for the whole project that might not be possible to execute later on, the Agile team begins with a
small portion of work first and then collects feedback regarding that and then moves forward. With agile
the students can manage the work more efficiently and finish it in a more effective manner. By breaking
down the project into smaller parts the students can focus on high quality development and testing of
those parts. Agile also produces frequent builds that are tested and reviewed during every iteration which
leads to faster detection of fixing of defects and improve the quality of the project. With Agile method the
students can focus on the main functionality of the project first and then move forward with adding more
3.2. Explain how the principles underlying agile methods lead to the accelerated development and
deployment of software.
a) Individuals and Interactions are given priority over processes and tools. It takes advantage of the skills
of the individual that are part of the development team and it also ensures the development team what
each of the members are doing. Thus, the team can focus on the development of the software.
This study source was downloaded by 100000893410081 from CourseHero.com on 11-11-2024 12:08:37 GMT -06:00
https://www.coursehero.com/file/63471318/assignment2docx/
b) Working software over documentation of the software. This principle contributes to accelerated
development as time is not wasted in the planning and managing of the documentation and the focus is
c) Customer collaboration. Customer are able to provide feedback during the development process and
tell the development team what is required. This allows the important functionalities to be developed and
delivered earlier.
d) Responding to change instead of following a plan. Responding to a change is more effective than
following a plan as change are always needed and can't be avoided. While following a plan there is a
chance that some work may be done that might get removed later on which results in wastage of time and
effort.
All these principles of Agile method results in accelerated development and deployment of software.
3.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.
The advantage is that the user story is a short description of what the user needs the software to do ( the
different functions that the system is needed to perform). It is expected from the developers who are
responsible for the implementation of the user story will further elaborate the details by communicating
with the user. Since a short description is taken of each user story, It saves time and effort by not
discussing the details of every story as some stories might get discarded later on.
While in Requirement Description, every requirement is described in detail some of which might get
The disadvantage is that direct communication is required between the user and the developers to further
elaborate the details of the requirement and will completely depend on the explanation that the user
This study source was downloaded by 100000893410081 from CourseHero.com on 11-11-2024 12:08:37 GMT -06:00
https://www.coursehero.com/file/63471318/assignment2docx/
provides of what he needs and what the developer understands from that explanation. While in
Requirement Description the detail of all the requirements that needs to be fulfilled are already provided
3.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?
the team may end up learning the hard way if documentation is not done. There are issues which need to
be documented as the progress of the scrum program is being monitored. Taking daily scrum notes helps
team members overcome language problems, plan and learn. Scrum teams should follow continuous
integration, test automation, test driven development practice to foster distributed collaboration during the
sprint and help teams complete user stories within the sprint. the decision about the extent of
documentation for what components and code logics to be put in place remains up to the team to decide.
3.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,
1.
\Advantages are you get multiple perspectives on the problem, better coverage of user tasks and hence
Disadvantages are cost, difficulties of getting user engagement and possible user conflicts.
2.
This study source was downloaded by 100000893410081 from CourseHero.com on 11-11-2024 12:08:37 GMT -06:00
https://www.coursehero.com/file/63471318/assignment2docx/
Disadvantages are each user takes time to be productive and possible conflicting requirements from
different users.
3.
Disadvantage is that this slows down the development process as it takes time to do the checks
This study source was downloaded by 100000893410081 from CourseHero.com on 11-11-2024 12:08:37 GMT -06:00
https://www.coursehero.com/file/63471318/assignment2docx/
Powered by TCPDF (www.tcpdf.org)