Agile Model for Beginner’s

Post on 08-Jan-2017

33 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

Transcript

Agile Model for Beginner’s

Mohammad Nasir UddinDeveloper

Page 1 12/15/2016

What is Agile?

Page 2 12/15/2016

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

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

Agile Development Cycle

Page 5 12/15/2016

Agile Life Cycle

Page 6 12/15/2016

How does it work?

Page 7 12/15/2016

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

User Stories

Page 9 12/15/2016

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

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

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

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

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

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

How is Agile different?

Page 16 12/15/2016

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

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

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

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

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

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

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

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

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

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

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

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

Agile vs Waterfall

Page 29 12/15/2016

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

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

Agile Methods

Page 32 12/15/2016

Questions?

Page 33 12/15/2016

top related