agile principles and values

Post on 14-Apr-2017

212 Views

Category:

Technology

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

AGILE PRINCIPLES & VALUES

HELLO!I am Troy LightfootI am currently studying for the PMI-ACP exam and thought i’d share some of my learnings with you

Table of Contents

▸ Defining Agile▸ Agile vs Waterfall example▸ Agile Values▸ Agile Principles▸ Common Frameworks▸ Scrum roles and terms

1.AGILE METHODOLOGY?

Let’s start with a definition of what it is and

isn’t

“Individuals and interactions over processes and tools.Responding to change over following a plan.

- Agile Manifesto

What Agile is NOT

▸ A framework▸ A methodology▸ A set of rules that must be followed

or processes for project management

Agile is simply a set of principles and values. There are many frameworks created that are part of Agile but none of them have to be followed to be Agile.

WaterfallExtensive documentation and planning. Work done in phases. Testing done at the end. End user feedback once project is finished. Change is BAD!

Waterfall VS. Agile

AgileMinimal documentation. Software released early and often (fully tested). End user feedback throughout the process. Change is welcome and encouraged!

When and when not to use Agile

WhenKnowledge based projects, software is an example. Developing software there are many unknowns and risks especially market risk. Agile is best suited to handle this risk.

Definitely NotProjects that cannot change or SHOULD not change. Ex: installing gas line in a city. You wouldn’t want to plant the line and then start changing where it’s planted.

PossiblyAgile can really be used for anything that’s not unchangeable.

AN EXAMPLE OF A WATERFALL PROJECTA large company has a new idea for a smartphone. They want to break into the market and innovate. What does this look like in waterfall?

What does this look like usingAGILE?

GET TO THE CORE OF AGILE

REFLECT COLLABORATEIMPROVE

DELIVER

2.AGILE VALUES

What are the four values of

agile and what do they mean?

Individuals and interactions over processes and tools

▸ Tools - have value but should not dictate outcome

▸ Rigid processes tie up innovation▸ Policies should not override day to

day interaction and abilities of people to operate in a flexible and Agile way

▸ People are most important (team, client, end users)

Working software over comprehensive documentation

▸ Documentation of course has inherent value

▸ Too much documentation takes away time and agility and ends up hurting value.

▸ Finding a correct balance is key▸ Need enough documentation to

make it work and test, that’s it.

Customer collaboration over contract negotiation

▸ Original contracts often change▸ Do not base contracts strictly on set

scope as that discourages change▸ Enables flexibility▸ Consider voice of the customer in

decisions and product direction▸ Done, gets redefined by the

customer▸ Nickel and diming in projects causes

a loss of necessity to work collaboratively

Customer collaboration over contract negotiation

▸ Once working software is in hand, ideas change

▸ Rigorous change management process derails agility

▸ Change is encouraged and sought out.

▸ There is MORE WASTE without change.

▸ Provides highest return on investment

Responding to change over following a plan

▸ Plans have to be made but plan for change

▸ Plan heavily for short term and lightly for long term

▸ Create environment that encourages change.

3.AGILE PRINCIPLES

The twelve principles of Agile, an in depth look

Our highest priority is to satisfy the customer through early and continuous delivery of valuable software

▸ Customer satisfaction is the highest priority

▸ Delivering early takes courage▸ Constant feedback verifies work in

progress▸ Everything MUST have value

Welcome change requests even late into development

▸ Change is met with a smile!▸ Change has less formality and

bureaucracy ▸ Customer collaboration ensures

BEST product to market

Deliver working software quickly, in weeks if possible

▸ Visual representation of working models allows understanding and ability to make educated suggestions and requests

▸ Value is enhanced by delivering sooner and more frequently

▸ Waterfall is like Snail mail, Agile is like texting

Business people and developers must work together daily throughout the project

▸ Leveraging input and feedback▸ Face to face is best ▸ Build discipline of working together

is the power of Agile▸ Set daily, even if 2 minutes

Build projects around motivated individuals. Give them the environmental support they need and trust them to get the job done

▸ Manage knowledgeable workers▸ Greatest productivity comes from

environment of peers, collaboration, and teamwork.

▸ Trust and confidence is key

The most efficient and effective method of conveying information to and with a development team is face to face communication

▸ Face to face eliminates lost in translation

▸ Less miscommunication ▸ At LEAST video conference if cannot

be in person

Working software is the primary measure of progress

▸ Easier to get feedback▸ Proven results, clear direction of

product▸ Measurable progress▸ Work is already tested▸ Less time for documentation

Agile processes promote sustainable development. The sponsors, developers, and users should be able to maintain a constant pace indefinitely

▸ Many hours and intense environment is not sustainable

▸ More mistakes▸ Burnout▸ Toxic environment▸ Need good work, life balance

Continuous attention to technical excellence and good design enhance agility

▸ Coding is experimental and needs refinement

▸ Refactoring is critical▸ Reduces technical debt

Simplicity - the art of maximizing the amount of work not done is essential

▸ Good software is simple and intuitive

▸ Simple is clean▸ “Everything should be made as

simple as possible but no simpler” - Albert Einstein

The best architectures, requirements, and designs emerge from self organizing teams

▸ Get away from top down micromanagement

▸ Use flat macro management▸ Lead by example, guide by

partnership▸ Workers are more invested,

collaborative, innovative▸ The people make the best decisions

architecture, requirements and designs are the dev team.

▸ Team finds solutions more quickly

At regular intervals, the team reflects on how to become more effective, then turns and adjusts its behavior accordingly

▸ Learn from mistakes▸ Learn from success▸ Fail early, not late▸ All lessons learned should be shared

Common FrameworksLet’s go over some common frameworks in Agile that you may hear of while recruiting or being part of a development team

You may have heard of these frameworks?

▸ Scrum▸ Kanban▸ XP (Extreme programming)▸ DSDM (Dynamic Systems

Development Method)▸ Lean▸ Crystal Family▸ Adaptive Software Development▸ SAFe▸ Less▸ Nexus

4.SCRUM ROLES AND TERMS

What makes up a scrum

team and what doesn’t

KEY SCRUM ROLES

ScrumMaster

Product Owner

Development Team

NOT IN TRUE SCRUM

Project Manager

Product Manager

Business Analyst

SOME KEY TERMS USED INVOLVING A SCRUM TEAMSprintsA timeboxed set of work that comes from the backlog. Committed to by the TEAM. Usually two weeks

BacklogA set of user stories (similar to requirements) that are to be developed. Prioritized by the Product Owner

Continuous IntegrationAutomated Merging of all developers code together several times a day.

Test Driven DevelopmentProcess of development where the test is written before the code. First the test fails, then passes, then code is refactored.

Cross FunctionalA true scrum team should be cross functional. That is that team members can do other team members work.

Pair ProgrammingThe practice of putting two developers together to work on one item. They take turns and observe and comment while the other codes. Can be done with Dev and QA too.

SOME KEY TERMS USED INVOLVING A SCRUM TEAMUser StoriesSimilar to requirements but from the perspective of the user. Ex: As a user I can “do something” so that I can “something”

Story pointsStories are not estimated with time but points. These points are estimated in relative value based on time, complexity, and risk

Minimum Viable ProductVersion of a new product that allows a team to collect the maximum amount of learning about customers with the least effort. Velocity

The amount of story points a scrum team completes per sprint. This is tracked over time for accurate estimations.

ScrumMasterThe servant leader of a Scrum team. SM job is to remove impediments, lead the team in scrum process and lead the sprint retrospective meeting.

Product OwnerA combination of a business analyst, product manager, and more. PO sets the vision for the product, and is in constant feedback with stakeholders. He is the voice of the client.

THANKS!Any questions?troy.lightfoot@vgroupinc.com

top related