Uploaded by TrackVybz Ent

Homework 2-Week 2-Chapter 4 5 6

advertisement
Ryan Jackson
CS3323
Homework 2 (Week 2: Chapter 4, 5, 6)
1. Describe the phases of the prototyping model for software development?
(Section 4.1.3)
- communication
- quick plan and design
- construction of prototype
- deployment delivery and feedback.
Requirements are gathered by having the customer and developer meet and identify whatever
objectives and requirements they can. Quick design follows, focusing on representation of
the software that will be visible to the customer. A prototype is constructed by the developer
and evaluated by the customer and used to refine the requirements. Iteration occurs and the
prototype is tuned to satisfy the customer's needs.
2. What are the primary advantages of the component-based process model for software
engineering?
(Section 4.2.1)
- Component-based process models promote software reuse and reusability and can result in
a reduction in development cycle times, a reduction in project costs, and an increase in
productivity.
3. List the key issues stressed by an agile philosophy of software engineering.
(Section 5.7)
- A recognition that change represents an opportunity
- The importance of self-organizing teams that have control over the work they preform
- Communication and collaboration between team members and between practitioners and
their customers
- Emphasis on a rapid delivery of software that satisfies the customer
4. What are the tradeoffs proposes by the “Manifesto for Agile Software Development”?
(Section 5.1)
- Rapid delivery is valued over intermediate work products
- Working software is valued over comprehensive documentation
- Customer collaboration (customer part of the team) is valued over contract negotiation (us
vs them)
- Responding to change valued (flexibility) over following a plan
5. Describe the role of customers and end-users on an agile process team?
(Section 5.4)
- Customers and end users participate as full collaborators on agile teams. They are the
source of information used to create use cases and provide needed information on the
business values of the proposed software solution. The also provide much needed
information on operation prototypes during incremental delivery of the software increments.
6. List the key attributes of an effective software teams.
(Section 6.3)
- Foster a sense of trust
- Encourage a sense of improvement by periodically reflecting on its approach and looking
for ways to improve it
- Must establish a sense of purpose
- Instill a sense of involvement that makes every member feel like their skill set is of value
- Diversity of team member skill sets
7. Describe the strengths and weaknesses of the random paradigm team structure?
(Section 6.4)
-The random paradigm depends on the initiative of individual team members. Good when
innovation or technological breakthrough is needed. These teams struggle when orderly
performance is required.
8. Describe the five values held by XP teams?
(Section 6.5)
- Communication: Close but informal collaboration between customers and developers
- Simplicity: design only for immediate needs
- Feedback: derive from three sources: implemented software, the customer, other software
team members
- Courage/Discipline: must only "design for today", recognizing that future requirements
may very well change
- Respect: by following these values the members gain respect for everyone invloved.
Successful delivery of software increments also garners respect for peers