Introduction to Microprocesso programming and interfacing.pptx
software engineering agile development notes.pptx
1. Extreme Programming
• Extreme programming methodology is used when customers are
constantly changing demands or requirements or when they are not
sure about the systems performance.
• The XP is commonly used agile process model.
• It uses the concept of object oriented programming.
• Developers focuses on the frame work activities like planning, design,
coding and testing.
• XP has a set rules and practices.
5. Scrum
• Scrum is an agile software development.
• Scrum is a lightweight process for managing and controlling software and
product development in rapidly changing environments.
• Scrum is agile process that allows us to focus on delivering the highest
business values in the shortest time.
Principles:
1. Quality work- empowers everyone involved to be feel good about their job
2. Assume simplicity – Scrum is a way to detect& cause removal of anything that gets in the way of development
3. Embracing change- Team based approach to development where requirements are rapidly changing.
4. Incremental changes-Scrum makes this possible Using sprints
6. Characteristics of Scrum
• Self organization teams.
• Product progresses in a series of month long “sprints.”
• Requirements are captured as items in a list of “product backlog”.
• No specific engineering practices prescribed.
• Uses generative rules to create an agile environment for delivering
projects.
8. Scrum Roles
• Scrum development efforts consists of one or more “scrum teams”. Each
made up of “3scrum roles”
1. Product Owner
2. Scrum Master
3. Development Team
Scrum Artifacts
1. Product backlog
2. Sprint backlog
3. Product increment
4. Burndown
9. Product Owner
• The product owner is the person who represents the voice of the
customer and the business stakeholders.
• They are responsible for defining and prioritizing the product backlog
which is a list of features and requirements that the team needs to
work on.
• The product owner also collaborates with the scrum master and the
development team to classify the scope and values of each backlog
item and to provide feedback and acceptance criteria.
10. Scrum Master
• The scrum Master is the person who facilitates the scrum process and
ensures that the team follows the agile principles and values.
• They are responsible for coaching and mentoring the team, removing
any implements or blockers and promoting continuous improvement
and learning.
• The scrum master also act as a servant leader, who support and
empowers the team rather than directing or controlling them.
11. Development Team
• The development team is the group of people who design, build, test
and deliver the product increments.
• They are responsible for self organizing and collaborating to complete
the backlog items within the time and quality constraints of the
sprint.
• The development team also communicates regularly with the product
owner and the scrum master, and participants in the scrum events,
such as the sprint planning, the daily scrum the sprint review and the
sprint retrospective.
13. Dynamic Software Development Method(DSDM)
• DSDM is an agile model that provides an iterative and incremental framework for software development.
• It emphasizes active user involvement throughout the project and places a strong emphasis on delivering
business value.
• DSDM promotes collaboration, prototyping and continuous feedback from stakeholders
• It includes phases like
1. Feasibility study
2. Business study
3. Functional model iteration
Identify design prototype
accept plan and schedule
create a functional prototype
review the functional prototype
4. Design and build iteration
5. Implementation.
14.
15. 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 FDD is to provide timely updated and working
software to the client.
• In FDD reporting and progress tracking is necessary at all levels.
17. FDD
• Feature Driven development methodology contains 5 steps
1. Developing an overall model
2. Building a feature list
3. Plan by the feature
4. Designing by the feature
5. Building by the feature
18. Crystal Methodology
• Crystal method is an agile software development approach that
focuses primarily on people and their interactions when working on a
project rather than on processes and tools.
• Ex: A small team can keep itself aligned with regular communication
so it doesn’t need much status reporting and documentation.
• It allows teams to keep track of this progress, increases visibility and
ensures that everyone is on board with the same goals.
19. Properties Of Crystal
• Frequent delivery
• Reflective Improvement
• Osmotic communication
• Personal safety
23. Lean Software Development(LSD)
• LSD is a lightweight framework that reduces programming effort and
budgeting by one-third.
• Lean development allows us to obtain information directly from the
source and eliminates the common problem of producing software
that doesn’t meet customers needs.
• This approach is also referred to as the minimum viable
product(MVP) technique, in which a team creates a barely functional
prototype and sells it to the market.
• The team then collects customer feedback on what they like dislike
and want to see improved. It then iterates based on this information.
24. Principles of LSD
• LSD is based on the following seven principles.
1. Eliminate Waste
2. Amplify Learning
3. Delay commitment
4. Deliver fast
5. Respect people
6. Build Integrity in
7. Optimize the whole