0% found this document useful (0 votes)
25 views4 pages

Sepm Internal 2 Answers

The document discusses Agile processes, emphasizing the difficulty of predicting software requirements and the increasing cost of changes as projects progress. It outlines the Scrum process flow, detailing its framework activities and the roles involved, as well as the XP framework, which focuses on planning, design, coding, and testing. Additionally, it highlights principles guiding both process and practice in software engineering, including adaptability, quality focus, and effective communication.
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 (0 votes)
25 views4 pages

Sepm Internal 2 Answers

The document discusses Agile processes, emphasizing the difficulty of predicting software requirements and the increasing cost of changes as projects progress. It outlines the Scrum process flow, detailing its framework activities and the roles involved, as well as the XP framework, which focuses on planning, design, coding, and testing. Additionally, it highlights principles guiding both process and practice in software engineering, including adaptability, quality focus, and effective communication.
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/ 4

1. What is Agile process?

Explain change costs as a function of time in development of Agility


process.
A) Any agile software process is characterized in a manner that addresses a number of key
assumptions about the majority of software projects:
1. It is difficult to predict (estimate for future change) in advance which software requirements will
persist and which will change.
2. For many types of software, design and construction are performed simultaneously. It is difficult to
predict how much design is necessary before construction is used to prove the design.
3. Analysis, design, construction, and testing are not expected. (from a planning point of view)
AGILITY AND THE COST OF CHANGE
The cost of change increases as the project progresses.(Figure 3.1, solid blackcurve). It is relatively easy
to accommodate a change when a software teamisgathering requirements (early in a project).

The team is in the middle of validation testing (something that occurs relatively late in the project), and
stakeholder is requesting a major functional change. Thechange requires a modification to the
architectural design of the software, thedesign and construction of three new components,
modifications to another fivecomponents, the design of new tests, and so on. Costs and time increases
quickly. A well-designed agile process “flattens” the cost of change curve (Figure 3.1, shaded, solid
curve), allowing a software team to accommodate changes lateinasoftware project without cost and
time impact. the agile process encompassesincremental delivery.

2)Explain SCRUM process flow model with neat diagram.

A). Scrum

 Scrum is an agile software development method that was coinedbyJeff Sutherland and his
development team in the early 1990’s.

 Scrum has the following framework activities: requirements, analysis, design, evolution, and
delivery. Within each framework activity, actionsandwork tasks occur within a process called a sprint.

 scrum defines a set of development actions:

Backlog—a prioritized list of project requirements or features that providebusiness value for the
customer. Items can be added to the backlog at any time(this is how changes are introduced). The
product manager assesses the backlogand updates priorities as required.

Sprints—consist of work units that are required to achieve a requirement definedin the backlog .
Scrum meetings—are short (typically 15 minutes) meetings held daily by theScrum team. Three key
questions are asked and answered by all teammembers.

• What did you do since the last team meeting?

• What obstacles are you encountering?

• What do you plan to accomplish by the next team meeting?

A team leader, called a Scrum master, leads the meeting and assesses theresponses from each person.

Demos—deliver the software increment to the customer so that functionalitythathas been implemented
can be demonstrated and evaluated by the customer.

3)Demonstrate the XP Framework with neat diagram.


A) The XP Process
The XP process integrates the above values into four main framework activities:

1. Planning:

○ Begins with listening to gather requirements in the form of "stories" (user stories).

○ Stories are written by customers and prioritized based on business value.

○ Developers estimate the time and effort for each story, breaking them down further if necessary.

○ A basic commitment is made for a software increment, and the team computes project velocity to determine the
pace of subsequent releases.

○ Planning remains flexible, allowing for changes like adding, splitting, or reprioritizing stories.

2. Design:

○ Follows the KIS (Keep It Simple) principle, focusing on designs that address immediate requirements.

○ Uses CRC (Class-Responsibility-Collaborator) cards to identify and organize object-oriented classes.

○ For complex problems, prototypes called spike solutions are created to test and validate design concepts.

○ Refactoring is a continuous process that improves the internal structure of the software without altering external
behavior.

3. Coding:

○ Coding begins after unit tests are written to specify expected functionality.

○ Emphasizes pair programming, where two developers work together at a single workstation.
■ One codes while the other reviews, ensuring quality and adherence to coding standards.

○ Code is integrated frequently through a continuous integration strategy, which helps uncover errors early and
avoids compatibility issues.

4. Testing:

○ Testing is integral to XP, with unit tests created before writing code.

○ Tests are automated for easy execution, enabling regression testing whenever code is modified.

○ Acceptance tests (customer tests) are based on user stories and validate the software's functionality from the
customer’s perspective.

4)Discuss Kanban method on Agility process.

A).

6)Demonstrate principles that guide process.

A). The following set of core principles can be applied to the framework, andbyextension, to every software process.
Principle 1. Be agile. Whether the process model you choose is prescriptive or agile.

 keep your technical approach as simple as possible

 keep the work products you produce as concise(short) as possible

 Make decisions locally whenever possible.

Principle 2. Focus on quality at every step. For every process activity, action, and task should focus on the quality of
the work product that has been produced.

Principle 3. Be ready to adapt. adapt your approach to conditions imposed by the problem, the people, and the
project itself.

Principle 4. Build an effective team. Build a self-organizing team that has mutual trust and respect.

Principle 5. Establish mechanisms for communication and coordination. Projects fail because stakeholders fail to
coordinate their efforts to create a successful end product.

Principle 6. Manage change. The methods must be established to manage the way changes are requested, approved,
and implemented.

Principle 7. Assess risk. Lots of things can go wrong as software is being developed.
Principle 8. Create work products that provide value for others. Create only those work products that provide value
for other process activities, actions and tasks.

7) Explain principles that guide practice.

A). Principles That Guide Practice

 Software engineering practice has a single goal i.e..,to deliver on-time, highquality, operational software
that contains functions and features that meet the needs of all stakeholders.

 To achieve this goal, should adopt a set of core principles that guidethetechnical work.

 The following set of core principles are fundamental to the practiceof software engineering:

Principle 1. Divide and conquer. A large problem is easier to solve if it is subdivided into a collection of elements(or
modules or components).

 Ideally, each element delivers distinct functionality that can be developed.

Principle 2. Understand the use of abstraction. At its core, an abstraction(overview) is a simplification of some
complex element of a systemused to communicate meaning in a single phrase.

Principle 3. Strive for consistency. Whether it’s creating a requirements model, developing a software design,
generating source code, or creating test cases. All these are consistent so that the software is easier to develope.
.Principle 4. Focus on the transfer of information. Software is about information transfer—from a database to an end
user, from an operating system to an application,

Principle 5. Build software that exhibits effective modularity. Modularity provides a mechanism for any complex
system can be divided into modules (components).

Principle 6. Look for patterns. Brad Appleton suggests that: The goal of patterns within the software community is to
create a body of literature to help software developers resolve recurring problems encountered throughout all of
software development process.

Principle 7. When possible, represent the problem and its solution from a number of different perspectives. When a
problem and its solution are examined from a number of different perspectives(ways).
Principle 8. Remember that someone will maintain the software. software will be corrected as defects are remove,
adapted as its environment changes, and enhanced as stakeholders request more capabilities.

8)Explain Requirement Analysis.

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy