Se - Unit 2
Se - Unit 2
UNIT 2:
Agile Development
P
C
S
Development
P
C
▪ Crystal
S
P
The customers and project managers are involved to describe the
C
business logic and value that is expected.
E
P
C
P
C
E
excuses and are always ready to respond to changes.
23 Prepared By: Pooja Rathod
SOFTWARE ENGINEERING (3150711)
❖ Principles of extreme programming
1. Rapid feedback. Team members understand the given feedback and react to it right
away.
2. Assumed simplicity. Developers need to focus on the job that is important at the
moment .
3. Incremental changes. Small changes made to a product step by step work better than
big ones made at once.
P
the development and testing process can directly influence the result,
C
getting them exactly what they wanted
E
▪ Risky projects.
▪ Small teams.
▪ Automated testing.
P ▪ Customer participation.
C
S
evolving with little planning and learning.
P
▪ Adaptive Software Development is a method to build complex software
C
E
and system.
29 Prepared By: Pooja Rathod
SOFTWARE ENGINEERING (3150711)
❖ Adaptive Software Development (ASD): (CONT..)
▪ ASD focuses on human collaboration and self-organization. ASD “life cycle”
incorporates three phases namely:
1. Speculation
2. Collaboration
3. Learning
P
C
E
▪ Emphasis on rapid iterating and continuous feedback can lead to scope creep
33 Prepared By: Pooja Rathod
SOFTWARE ENGINEERING (3150711)
❖ Adaptive Software Development (ASD): (CONT..)
▪ Speculate - Collaborate - Learn Cycle as a Whole
1. Feasibility Study
2. Business Study
3. Functional Model Iteration
4. Design and Build Iteration
S 5. Implementation
P
C
S 2. Business Study:
P ▪ It establishes the use and knowledge necessities that may permit the applying to
C supply business value; additionally, it is the essential application design and identifies
E the maintainability necessities for the applying.
37 Prepared By: Pooja Rathod
SOFTWARE ENGINEERING (3150711)
3. Functional Model Iteration:
▪ It produces a collection of progressive prototypes that demonstrate
practicality for the client.
▪ The intent throughout this unvarying cycle is to collect further necessities by
eliciting feedback from users as they exercise the paradigm.
4. Design and Build Iteration:
▪ It re-visits prototypes designed throughout useful model iteration to make
S
sure that everyone has been designed during a manner that may alter it to
P
supply operational business price for finish users.
C ▪ In some cases, useful model iteration and style and build iteration occur at
E
the same time.
38 Prepared By: Pooja Rathod
SOFTWARE ENGINEERING (3150711)
5. Implementation:
▪ It places the newest code increment (an “operationalized” prototype) into the
operational surroundings. It ought to be noted that:
▪ the increment might not 100% complete or, changes are also requested
because the increment is placed into place.
▪ In either case, DSDM development work continues by returning to the useful
S
model iteration activity.
P
C
2. Deliver on time. Prompt delivery is a vital part of DSDM projects, as one of the
method's goals is to reap benefits early.
3. Collaborate. It's crucial that DSDM teams involve all relevant parties and grant each
S other the means to give feedback and make decisions.
P
4. Maintain high quality. DSDM teams set clear standards before beginning work and
C
E
evaluate their progress regularly to ensure they're meeting these standards.
40 Prepared By: Pooja Rathod
SOFTWARE ENGINEERING (3150711)
❖ Principles of DSDM:
5. Build incrementally from firm foundations. Teams strive to produce the right amount
of work at the right time to ensure they produce work that aligns with their plans.
7. Communicate continuously and clearly. DSDM teams can use a variety of tools to
provide written, verbal and visual updates to teammates, other departments,
S managers and interested parties.
P
8. Demonstrate control. A team leader or project manager practices transparency to
C
make all team members aware of changes, plans, progress, updates and goals.
E
• Promotes feedback
P
C
P
structure, full support from management and capable project managers to
C
lead the project life cycle. You can implement more structure in your team
E before committing to DSDM to ensure its success.
43 Prepared By: Pooja Rathod
SOFTWARE ENGINEERING (3150711)
❖ Scrum
▪ Scrum is a framework that helps agile teams to work together.
▪ Using it, the team members can deliver and sustain the complex product.
▪ It encourages the team to learn through practice, self-organize while working on
the problem.
▪ Scum is a work done through the framework and continuously shipping values to
customers.
▪ It is the most frequent software that is used by the development team.
▪ Its principle and lessons can be applied to all kinds of teamwork.
S ▪ Its policy and experiences is a reason of popularity of Scrum framework.
P ▪ The Scrum describes a set of tools, meetings, and roles that help the teams
C
structure.
E
▪ It also manages the work done by the team
44 Prepared By: Pooja Rathod
SOFTWARE ENGINEERING (3150711)
❖ What is Scrum?
• Scrum is a framework that helps
It is a lightweight process framework.
teams work together.
• Much like a rugby team (where it Lightweight means the overhead of the process is kept as
gets its name) training for the big small as possible in order to maximize the productivity.
game, scrum encourages teams
Product Backlog Product Owner
to learn through experiences,
Product
self-organize while working on a
problem, and reflect on their
wins and losses to continuously
improve.
Sprint
S
P
C
E
45 Prepared By: Pooja Rathod
SOFTWARE ENGINEERING (3150711)
❖ Keywords of Scrum:
▪ Sprint :A sprint is a short, time-boxed period when a scrum team works to
complete a set amount of work. Sprints break down a project into bite-sized
chunks. Teams plan a single sprint at a time and adapt future sprints based on the
outcome of the previous one.
▪ Daily Scrum :It’s a daily meeting usually hosted by the Scrum master. Every
morning, the Scrum team gets together for 15 minutes to discuss their day
ahead.
▪ Scrum master :The Scrum master is the leader of the Scrum. They organize
S meetings, remove impediments, and work with the product owner to ensure that
P
the product backlog is up to date.
C ▪ Scrum board :It’s a virtual or physical board that displays tasks that need to be
E
done in a sprint.
46 Prepared By: Pooja Rathod
SOFTWARE ENGINEERING (3150711)
❖ Keywords of Scrum:
▪ Backlog : It’s a list of new product features, updates, bug fixes, etc. that are
required by the user.
▪ Product backlog :A product backlog is Scrum terminology that refers to a list of
new features, updates, bug fixes, etc. that are required by the user.
▪ Scrum meeting: A Scrum meeting is an essential part of the Scrum framework.
Without them, the sprint would have no structure or project plan in place!.
▪ Scrum team :It’s a cross-functional team of 5-10 individuals with different skill
S sets ranging from graphic design, UX, coding, etc. They work together to develop
P a product under the Scrum framework.
C ▪ Product owner :They are the key members of an Agile or Scrum team. They
E decide the vision and features of the final software
47 Prepared By: Pooja Rathod
SOFTWARE ENGINEERING (3150711)
❖ Lifecycle of Scrum:
P
C
Sprint Review
Product Owner
Finished Work
S
Product Sprint Planning Sprint
P Backlog
Backlog Meeting
C Sprint Retrospective
Sprint end date and team
Prioritized list of what is required:
E deliverable do not change
features, bugs to fix...
49 SOFTWARE ENGINEERING (3150711) Prepared By: Pooja Rathod
❖ Silent features of Scrum are:
▪ Scrum is light-weighted framework
▪ Scrum emphasizes self-organization
▪ Scrum is simple to understand
▪ Scrum framework help the team to work together
P
C
S
▪ Scrum, being agile, adopts feedback from customers and stakeholders
P ▪ Short sprints enable changes based on feedback a lot more easily
C ▪ The individual effort of each team member is visible during daily scrum
E meetings
51 Prepared By: Pooja Rathod
SOFTWARE ENGINEERING (3150711)
❖ Disadvantages of Scrum
▪ Scrum often leads to scope creep, due to the lack of a definite end-date
▪ The chances of project failure are high if individuals aren't very committed
or cooperative
▪ Adopting the Scrum framework in large teams is challenging
▪ The framework can be successful only with experienced team members
▪ Daily meetings sometimes frustrate team members
S ▪ If any team member leaves in the middle of a project, it can have a huge
P negative impact on the project
C
▪ Quality is hard to implement until the team goes through an aggressive
E
testing process
52 Prepared By: Pooja Rathod
SOFTWARE ENGINEERING (3150711)
❖ Feature Driven Development (FDD)
▪ It is an agile iterative and incremental model that focuses on progressing
the features of the developing software.
▪ The main motive of feature-driven development is to provide timely
updated and working software to the client.
▪ In FDD, reporting and progress tracking is necessary at all levels.
▪ FDD allows teams to update the project regularly and identify errors
quickly.
▪ clients can be provided with information and substantial results at any
S time.
P ▪ FDD is a favorite method among development teams because it helps
C reduce two known moral-killers in the development world: Confusion and
E rework.
53 Prepared By: Pooja Rathod
SOFTWARE ENGINEERING (3150711)
❖ Feature Driven Development (FDD)
P
C
In FDD, the feature means client valued function.
E
▪ Structured and feature focused: Initial activities in lifecycle builds the domain
model and features list in the beginning of timeline and more than 70% of efforts
S are given to last 2 activities.
P
C
▪ Frequent releases: Feature-driven development provides continuous releases of
E features in the software and retaining continuous success of the project.
56 Prepared By: Pooja Rathod
SOFTWARE ENGINEERING (3150711)
❖ Advantages and disadvantages of FDD :
Advantages of FDD
▪ Reporting at all levels leads to easier progress tracking.
▪ FDD provides continuous success for larger size of teams and projects.
▪ Reduction in risks is observed as whole model and design is build in smaller
segments.
▪ FDD provides greater accuracy in cost estimation of the project due to feature
segmentation.
Disadvantages of FDD
S
▪ This agile practice is not good for smaller projects.
P
▪ There is high dependency on lead programmers, designers and mentors.
C
▪ There is lack of documentation which can create an issue afterwards.
E
P
C
P
C
P
C
P
C