Top Banner
Agile Model for Beginner’s Mohammad Nasir Uddin Developer Page 1 12/15/2016
33

Agile Model for Beginner’s

Jan 08, 2017

Download

Documents

Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Agile Model for Beginner’s

Agile Model for Beginner’s

Mohammad Nasir UddinDeveloper

Page 1 12/15/2016

Page 2: Agile Model for Beginner’s

What is Agile?

Page 2 12/15/2016

Page 3: Agile Model for Beginner’s

About Agile Agile is a Software Development Methodology It means ‘ability to move quickly and easily’ and responding swiftly to change It’s a time boxed, iterative approach Develop and deliver software incrementally from the start of the project, instead of

trying to deliver it all at once near the end.

Page 3 12/15/2016

Page 4: Agile Model for Beginner’s

About Agile (Cont.)

Iterations are typically 1 to 4 weeks so that the development is aligned with the changing business needs

It works by breaking projects down into little bits of user functionality called user stories, prioritizing them, and then continuously delivering them in short two week cycles called iterations.

Page 4 12/15/2016

Page 5: Agile Model for Beginner’s

Agile Development Cycle

Page 5 12/15/2016

Page 6: Agile Model for Beginner’s

Agile Life Cycle

Page 6 12/15/2016

Page 7: Agile Model for Beginner’s

How does it work?

Page 7 12/15/2016

Page 8: Agile Model for Beginner’s

Make a list Sitting down with the customers make a list of features they would like to see in their

software. We call these things user stories  and they become the To Do list for project.

Page 8 12/15/2016

Page 9: Agile Model for Beginner’s

User Stories

Page 9 12/15/2016

Page 10: Agile Model for Beginner’s

Size things up Size user stories using Agile estimation techniques Coming up with a guess as to how long each user story will take.

Page 10 12/15/2016

Page 11: Agile Model for Beginner’s

Time Estimations Don’t estimate things absolutely, as we are

not good at that. Try to estimate things relatively as we are

good at that

Page 11 12/15/2016

Page 12: Agile Model for Beginner’s

Time Estimations (Cont.)

Relatively sizing means – don’t worry about exactly how big a story is. Worry more how this story’s size compares to others.

Page 12 12/15/2016

Page 13: Agile Model for Beginner’s

Set some priorities

Like any other lists, there always seems to be more to do than time allows.

Ask the customer to prioritize their list Get the most important stuff done first, and save

the least important for last.

Page 13 12/15/2016

Page 14: Agile Model for Beginner’s

Start executing Start delivering some value. Start at the top. Work your way to the bottom. Building, iterating, and getting feedback from your customer as you go.

Page 14 12/15/2016

Page 15: Agile Model for Beginner’s

Update the plan as you go

Then, as you and your customer starting delivering, one of two things is going to happen. You'll discover: You're going fast enough. All is good. Or, You have too much to do and not enough time. At this point you have two choices. You can either a)

do less and cut scope (recommended). Or you can b) push out the date and ask for more money.

Page 15 12/15/2016

Page 16: Agile Model for Beginner’s

How is Agile different?

Page 16 12/15/2016

Page 17: Agile Model for Beginner’s

Continuous Activities Analysis, design, coding, and testing are

continuous activities You are never done analysis, design, coding

and testing on an Agile project. So long as there are features to build, and the

means to deliver them, these activities continue for the duration of the project.

Page 17 12/15/2016

Page 18: Agile Model for Beginner’s

Development is iterative Iterative development means starting with something really simple, and

adding to it incrementally over time. It means evolving the architecture, accepting that your requirements are going

to change, and continuously refining and tweaking your product as you go.

Page 18 12/15/2016

Page 19: Agile Model for Beginner’s

Planning is adaptive When reality disagrees with their plans, Agilists find it easier to change their

plans than reality. It is called adaptive planning. And while there are many ways to changes plans, the preferred way is to flex

on scope.

Page 19 12/15/2016

Page 20: Agile Model for Beginner’s

Scope can vary Agile deals with the age old problem of having too much to do and not enough

time by doing less. By fixing time, budget, and quality, and being flexing around scope, Agile

team's maintain the integrity of their plans, work within their means, and avoid the burn out, drama, and dysfunction traditionally associated with our industry.

Page 20 12/15/2016

Page 21: Agile Model for Beginner’s

Requirements can change Traditionally change has been avoided on software projects because of it's high

perceived cost late in the game. Agile challenges this notion and believes the cost of change can be relatively flat.

Through a combination of modern software engineering practices, and open and honest planning, Agilists accept and embrace change even late in delivery process.

Page 21 12/15/2016

Page 22: Agile Model for Beginner’s

Measure of success Working software is the primary measure of success In Agile productivity is measured in rate at which teams can turn their client’s

wishes into working software. Project plans, test plans, and analysis artifacts are all well and good but Agilists

understand they in themselves are of no value to the end customer.

Page 22 12/15/2016

Page 23: Agile Model for Beginner’s

Agile Manifesto

The Agile Manifesto, also called the Manifesto for Agile Software Development It is a formal announcement of four key values and 12  principles to guide

an iterative and people-centric approach to software development. 

Page 23 12/15/2016

Page 24: Agile Model for Beginner’s

Agile Core Values The agile software development emphasizes on four core values.

1) Individual and team interactions over processes and tools2) Working software over comprehensive documentation3) Customer collaboration over contract negotiation4) Responding to change over following a plan

Page 24 12/15/2016

Page 25: Agile Model for Beginner’s

Twelve Principles1. Customer satisfaction through early and continuous software delivery –

Customers are happier when they receive working software at regular intervals, rather than waiting extended periods of time between releases.

2. Accommodate changing requirements throughout the development process – The ability to avoid delays when a requirement or feature request changes.

3. Frequent delivery of working software – Scrum accommodates this principle since the team operates in software sprints or iterations that ensure regular delivery of working software.

Page 25 12/15/2016

Page 26: Agile Model for Beginner’s

Twelve Principles (Cont.)

4. Collaboration between the business stakeholders and developers throughout the project – Better decisions are made when the business and technical team are aligned.

5. Support, trust, and motivate the people involved – Motivated teams are more likely to deliver their best work than unhappy teams.

6. Enable face-to-face interactions – Communication is more successful when development teams are co-located.

Page 26 12/15/2016

Page 27: Agile Model for Beginner’s

Twelve Principles (Cont.)

7. Working software is the primary measure of progress – Delivering functional software to the customer is the ultimate factor that measures progress.

8. Agile processes to support a consistent development pace – Teams establish a repeatable and maintainable speed at which they can deliver working software, and they repeat it with each release.

9. Attention to technical detail and design enhances agility – The right skills and good design ensures the team can maintain the pace, constantly improve the product, and sustain change.

10.Simplicity – Develop just enough to get the job done for right now.

Page 27 12/15/2016

Page 28: Agile Model for Beginner’s

Twelve Principles (Cont.)

11.Self-organizing teams encourage great architectures, requirements, and designs – Skilled and motivated team members who have decision-making power, take ownership, communicate regularly with other team members, and share ideas that deliver quality products.

12.Regular reflections on how to become more effective – Self-improvement, process improvement, advancing skills, and techniques help team members work more efficiently.

Page 28 12/15/2016

Page 29: Agile Model for Beginner’s

Agile vs Waterfall

Page 29 12/15/2016

Page 30: Agile Model for Beginner’s

Fundamental AssumptionsTraditional: Systems are fully specifiable, predictable, and can be built through thorough and extensive planning.Agile: High-quality, adaptive software can be developed by small teams using the principles of continuous design improvement and testing based on rapid feedback and change.

ControlTraditional: Process-centricAgile: People-centric

Management StyleTraditional: Command-and-controlAgile: Leadership-and-collaboration

Role AssignmentTraditional: Individual—favors specializationAgile: Self-organizing teams—encourages role interchangeability

Agile vs. Waterfall

Page 30 12/15/2016

Page 31: Agile Model for Beginner’s

Agile vs. Waterfall (Cont.)

CommunicationTraditional: FormalAgile: Informal

Customer’s RoleTraditional: ImportantAgile: Critical

Project CycleTraditional: Guided by tasks or activitiesAgile: Guided by product features

Development ModelTraditional: Life cycle model (Waterfall, Spiral, or some variation)Agile: The evolutionary-delivery model

TechnologyTraditional: No restrictionAgile: Favors object-oriented technology

Page 31 12/15/2016

Page 32: Agile Model for Beginner’s

Agile Methods

Page 32 12/15/2016

Page 33: Agile Model for Beginner’s

Questions?

Page 33 12/15/2016