0% found this document useful (1 vote)
573 views9 pages

Software Processes and Agile Practices

The document discusses process models for software development including linear, iterative, and parallel models. It provides examples of each type of model and their key characteristics. It then discusses how agile practices can be applied to different process models, noting that iterative models work better with agile principles by allowing for reflection, improvement, and frequent feedback through iterations. Specific agile methodologies like extreme programming, scrum and lean are mentioned. Extreme programming is discussed in more detail, outlining practices like pair programming and acceptance testing. The document emphasizes adapting practices based on what works best for each team.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (1 vote)
573 views9 pages

Software Processes and Agile Practices

The document discusses process models for software development including linear, iterative, and parallel models. It provides examples of each type of model and their key characteristics. It then discusses how agile practices can be applied to different process models, noting that iterative models work better with agile principles by allowing for reflection, improvement, and frequent feedback through iterations. Specific agile methodologies like extreme programming, scrum and lean are mentioned. Extreme programming is discussed in more detail, outlining practices like pair programming and acceptance testing. The document emphasizes adapting practices based on what works best for each team.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 9

2.2.

Process Models
2.2.1 Linear Models

Watch the video 2.2.1.mp4.


Task 2.11. Please choose the linear process model from the list.
A. each phase happens sequentially and then loops back to the beginning when all the phases are
complete.
B. each phase happens in parallel with other phases, until the product is done with no repetition
between or within phases.
C. each phase happens sequentially and never loops or repeats.
D. each phase can be repeated, until the product is complete.

Task 2.12. Study diagram which depicts the V-model of software development.

If you are in the integration testing phase, which phase are you verifying when you run your test?
A. unit testing.
B. coding.
C. high level design.
D. operational testing.

2.2.2 Iterative Models

Watch the video 2.2.2.mp4.


Task 2.13. Johnatan is using the Spiral model to build his software. He has extensive experience with
programming with punch cards, and using the Waterfall model. So Spiral iterations are a big step for
him. He just finished developing and testing his product, but can't remember what stage of the model
comes next.
Which stage of the Spiral model comes after development and testing?
A. The next iteration.
B. Planning for the next iteration.
C. Product release.
D. Further testing.
2.2.3 Parallel Models

Watch the video 2.2.3.mp4.


Task 2.14. Jeff is building tests for his code as he designs his product's architecture design. He's also
clarifying and eliciting requirements from his client occasionally, as he runs into issues. What style of
software development is Jeff using?
A. Parallel development,
B. Iterative development,
C. Incremental development,
D. Synchronized development.

Task 2.15. Which of the following describe the main aspects of the elaboration phase?
A. identifying a strong business case for the project,
B. creating use cases,
C. creating use case diagrams and
D. creating class diagrams.

Task 2.16. Complete the table.


Type of
Process model Description Benefits and drawbacks
model
Linear

Iterative

23
Parallel

Test (Module 2.2)


1. The Waterfall software process model has phases, each of which results in _____ being passed to
the next phase.
A. an approved work product
B. working software
C. water
D. software requirements

2. In the Waterfall software process model, what phase or kind of activities would happen right after
the product has been implemented?
A. Specification
B. Maintenance
C. Design
D. Verification and validation

3. What major activities does the V software process model explicitly emphasize at multiple levels?
A. Project management
B. Specification
C. Implementation
D. Verification

4. In the Spiral software process model, each iteration begins in which quadrant or phase?
A. Identify and resolve risks
B. Determine objectives
C. Develop and test
D. Plan the next iteration

24
5. The Unified software process model is parallel because of which of the following reason?
A. Activities can happen in parallel within a phase and across phases.
B. The cycle can happen in parallel.
C. The phases can happen in parallel.
D. The iterations can happen in parallel.

6. In the Unified software process model, what are the phases in each cycle, in the correct order?
A. Initiation, planning, implementation, closure
B. Specification, design and implementation, verification and validation, transition
C. Inception, development, testing, evolution
D. Inception, elaboration, construction, transition

2.3. Agile Practices


Given the process models to organize work in software development, how can Agile principles apply?
One Agile principle refers to early and continuous delivery, so that there is enough opportunity for
close collaboration and feedback to improve the product. The Waterfall and V models only truly
delivers to the client at the end of the development process, which is not early integration. As well,
comprehensive documentation is not a major focus in Agile development, but the Waterfall and V
models relies heavily on documentation and approving it when moving between phases. The culture of
contracts and sign-offs is also not Agile. While the Sawtooth model does provide a couple of
prototypes to the client during the process, it is not enough. So, the described linear process models do
not work well with Agile principles and practices.
Iterative process models work much better with Agile practices because they allow for reflection and
improvement. Iterative models also allow frequent and continuous releases to gather feedback. These
releases are then refined and improved in the next iteration. Short iterations and small releases are
aspects of Agile. So, the Spiral model with shorter iterations and Unified Process model with its
iterations within phases would work well with Agile principles and practices.
Agile Practices
Practices are techniques, guidelines, or rules that help to develop the software product or to manage the
software project.
Practices based upon the Manifesto for Agile Software Development are called Agile practices. Agile
practices align with the Agile Manifesto. For example, the Agile development practice of having small
releases fits with the Agile principle of delivering working software frequently. The Agile
management practice of arranging a review meeting at the end of each iteration with the client fits with
the Agile principle of satisfying the customer through early and continuous delivery of valuable
software.
Practices are organized into methodologies. Methodologies consisting of Agile practices are called
Agile methodologies. The remaining of this course will examine three popular methodologies,
Extreme Programming, Scrum, and Lean, as well as a management practice called Kanban that works
well with these methodologies.

Task 2.17. You have been called upon to help out a struggling development team. The team is working
on developing a mobile ticket app for a professional baseball franchise and has failed to deliver a
working product on schedule.

25
They think they are about two weeks behind schedule, but it's hard to know because nothing is being
tracked.
They need help and they need it fast. You have heard from other product managers that agile practices
have helped their projects in the past. You only want to implement practices that follow the agile
manifesto.
Which of the following practices would you implement?
A. as tasks are started they are displayed to the entire team in a table.
B. the client cannot add new features after the initial planning is complete.
C. the development plan is reevaluated at regular time intervals.
D. the software product manager acts as a messenger between the client and the development
team.

2.3.1. Extreme Programming

Watch the video 2.3.1.mp4.

Task 2.18. You are a software product manager for a small startup that is working on creating an
application that matches parents with local babysitters and nannies. You and your development team
decided early on that you will adopt the extreme programming methodology.

Your development team is organized into pairs, with each pair working in front of a single
workstation. This is a practice of extreme programming that we'll talk about later.

Which of the five aspects of extreme programming do you think that this improves?

A. communication,
B. simplicity
C. feedback,
D. respect,
E. courage.

Task 2.19. Erica is working as a software product manager for a development team that is creating a
social media application. Her team spends two months completely planning out every detail of the
project, including the design and schedules. The duration of their iterations is in hours, not weeks. Her
team has depicted their system metaphor on a white board in the office.

Which of their practices are considered extreme?

A. two-month planning period.


B. iteration duration in hours.
C. system metaphor on a whiteboard.

Task 2.20. You are a software product manager working with the development team who's producing
an app for a cinema that allows users to check show times and buy tickets.

Which of the following, if any, would be acceptance tests?

A. a test that confirms when a user buys a ticket, a valid ticket appears.
B. a test that confirms when a user creates an account, their information is added to the database.

26
C. a test that confirms when the user logs in, that their log-in information matches an account in
the database.
D. a test that confirms when a user selects a show time, movies playing at that time appear.

Additional Management Ideas


Beyond the 12 basic practices, XP also suggests giving the team a dedicated, open work space, with
people working together in person. Multiple computers are situated in the middle of the room,
available for use by everyone. A meeting table and lots of wall space for whiteboards or sticky notes
allows the team to collaborate and brainstorm.
The open work space allows people to move around. It encourages communication, propagates
knowledge, and enables flexible work relationships, so everyone eventually learns how to work on all
parts of the product, without a heavy focus on technical documentation.
A final management idea is to change XP itself. That is, fix XP when it breaks. While adopting all the
basic practices is touted to maximize the benefits, not all the practices will work for every project or
team. When a practice does not work, change it. Retrospective meetings are a way for the team to
discuss what is working and what is not. Gather data to support what practices to adopt.
Drawbacks
One limitation is that XP is intended and suited for small development teams, for example, no more
than ten people. As well, having a client available on-site with the development team may not be
possible to arrange.
Also, XP does not offer practices to define the architectural design of the software. Instead, this design
emerges in response to changing requirements and refactoring, using the system metaphor as a guide.
This approach would produce working software early, but it might involve more rework than if some
effort was spent to plan the architecture.
Pair programming is a major change to many developers. Some teams thrive in such a collaborative
environment, while others do not. The practice requires respectful personalities that work well
together. In reality, not everyone is compatible with everyone else.

Task 2.21. Danielle is the product manager working with a five-person development team to create a
payroll application that allows small business owners to pay their employees.
After delivering the prototype, the client sends out a nasty email to the development team saying that
they found a bug in the application that calculates the wages incorrectly. The client is very upset.
This bug would cost the business owners a great deal of money, and employees would end up getting
more money than they have earned.
Timmy and Maria were the programmers who co-wrote the unit test for this feature.
Steven and Maria were the programmers who pair programmed the source code.
Danielle, the product manager, conducted the acceptance test for the product before the release.
Who is to blame for this error?
Choose all that apply.
A. Danielle,
B. Timmy,
C. Maria,
D. Steven,
E. the other two developers on the team.

27
Task 2.22. You have been hired by a company that say they have tried to implement the extreme
programming methodology exactly. You walk into the workplace and see a maze of cubicles. As you
walk around the work space and peek into cubicles, you see pairs of programmers working together.
You pop into a cubicle and ask the developers where they can find the client.
One developer hands you a business card that has the client's phone number on it. He says you can
leave a message there and the client will get back to you.
You go into the next cubicle and ask the two programmers working there when the next release is due.
They tell you that the releases are due every second Friday. They have a release coming up this Friday.
You ask these programmers what they are working on. They explain that they are the database team,
and that they exclusively work on maintaining and building the database. You realize that there are
many areas of extreme programming that they are not following properly. What are some areas of
development that you are going to need to change in order to have extreme programming running
precisely in this office?
A. the workspace,
B. pair programming,
C. client availability,
D. small, frequent releases
E. developer versatility.

2.3.2. Scrum

Watch the video 2.3.2.mp4.

Task 2.24. One role in the Scrum Team is called a product owner.
What is the primary task of the product owner?
A. They purchase the product from a store.
B. They pay for the product to be created.
C. They are in charge of making decisions about the product.
D. They organize the development team to be more effective.

Task 2.25. You are the Software Product Manager who has been hired to work on a running app for a
major athletic apparel company.
In your first meeting with your Development Team and Penny, the representative from the company.
The Development Team decided to use Scrum.
Penny was appointed as the Product Owner.
Your team is halfway into development and you get an email from the CEO of the company.
He is requesting a pre-made running playlist users can listen to when they run.
You know that your Development Team had already talked to Penny about this feature. And they
decided as a team that they wouldn't implement this feature in favor of another one.
Following the practices of Scrum, what should you do?
A. Send them an email back saying, "No, you get no say in this project".
B. Tell your development team to add the feature to the backlog.
C. Tell your development team to develop the feature for this iteration.
D. Send them back an email asking for all feature requests to come through Penny.

28
Task 2.26. You are at a conference on Scrum practices. You have been talking to several other
software product managers about their development teams.
The first SPM you talk to is named Kelsey. She describes her team as having four programmers, two
testers, and one user interface designer. Next, you meet Jim. He says his current team consists of 20
developers.
Next, you meet Billy. He simply, says that he has a very talented team of seven developers.
Then you run into an old friend, Carrie. She says her team has nine developers. Five are on the
development team and four are on the testing team.
Finally, you meet a new software product manager, Hillary. She says her team consists of just three
developers and they subcontract out their testing.
Which of these software product managers- if any- have a true Scrum development team?
A. Kelsey.
B. Jim.
C. Billy.
D. Carrie.
E. Hillary.

Task 2.27. Your team is developing a mobile app that allows users to search for food and drink
specials at local restaurants.
The Sprint goal for this Iteration is to set up the user interface. This is everything that the end user will
see and interact with.
Halfway through the Sprint, the client sends you an email saying that they've changed their mind. They
want the main colors of the application to be blue and white instead of red and black.
This is a quick fix for the development team.
The client also requests that they want the application to now support ads that pop up on the screen.
Which of these changes can be made in the current sprint?
A. The color change.
B. Popup ads.
C. Both of them.
D. Neither of them.

Test (Module 2.3)


1. Practices that follow Agile principles would work well with which software process models?
A. waterfall, spiral
B. spiral, unified
C. sawtooth, unified
D. sawtooth, spiral

2. A specific Extreme Programming practice is to have ____ releases, so that releases happen
frequently.
A. continuous
B. simple
C. frequent
D. small

29
3. In the Extreme Programming practice of refactoring, which two of the following statements is true?
A. A new feature is added during refactoring.
B. The behavior of the source code is changed while restructuring its design.
C. Developers run unit tests while refactoring.
D. The design of the source code is restructured without changing its behavior.

4. Which of the following Extreme Programming practices focuses on developers frequently


combining their code?
A. Collective code ownership
B. Frequent combination
C. Continuous integration
D. Coding standards

5. Following an Extreme Programming practice, the customer is ______, which can be difficult to
arrange.
A. on-call
B. on time
C. on-site
D. on a diet

6. Which one of the following is not an outcome of Scrum practices to manage work?
A. Inspection, where flaws are revealed.
B. Concentration, where each team member focuses on tasks in a specialty.
C. Transparency, where every one can see every part of the project.
D. Adaptation, where adjustments are continually made.

7. In Scrum, during a sprint, suppose a requirements change is suggested that is outside the spring
goal. Can the Scrum team work on the change during the sprint?
A. Yes, if the sprint duration is extended to accommodate the change.
B. No, working on such changes is not allowed.
C. Yes, if the product owner makes the change on the product backlog.
D. No, unless some other requirements is dropped to accommodate the change.

8. In Scrum, what happens at the end of each sprint, in a sprint review event?
A. The process is discussed to consider improvements.
B. The scrum team plans the work for the next sprint.
C. The product owner is shown the working software.
D. The developers discuss with each other the tasks they have done.

30

You might also like