Big Byte: Understanding the Fundamentals of Agile Part I

Below you’ll find an outline of the Fundamentals of Agile that I’ve compiled from my own experiences as well as other sources. It’s a valuable primer for someone who is new to Agile and an essential refresher for those who are familiar with the process. Next week I’ll post Part Two which will relate to forming the Agile teams and an in-depth comparison of Agile vs. Waterfall. Share your feedback with me in the comments or connect with me on Twitter or LinkedIn.

Understand the Fundamentals of Agile
Agile Essentials Summarized

What is Agile?

  • Collaboration
  • Delivering value on Priority
  • Being Agile means the business has adopted a different approach to organizing the work of software development.
  • Agile is not a style of project management
  • Agile is  framework for software production, a set of guiding principles for building software iteratively

What is Scrum?

  • Scrum is one method within the Agile Framework
  • Scrum is a set of rules that speaks directly to project management  that support an Agile Methodology (Typically XP)
  • Self-organizing teams
  • Product/Project progresses in a series of “sprints”
  • Requirements are captured as items in a list of “product backlog”
  • Uses adaptive rules to create an agile environment for delivering projects

Why utilize Agile when traditional project management methodologies have been used for over 30 years?

  • Project Priorities Change
  • Learning and responding to customer needs is critical
  • Product Owners need to focus on the customer and the market
  • Your “star player” may be gone tomorrow
  • Stay competitive by discovering trouble spots

The Agile Manifesto

  • The Agile Manifesto was written in February of 2001, at a summit of seventeen independent-minded practitioners of several programming methodologies. The participants didn’t agree about much, but they found consensus around four main values.

The 12 Agile Principles

  1. Our highest priority is to satisfy the customer through early and continuous delivery of valuable software.
  2. Welcome changing requirements, even late in development. Agile processes harness change for the customer’s competitive advantage.
  3. Deliver working software frequently, from a couple of weeks to a couple of months, with a preference to the shorter timescale.
  4. Business people and developers must work together daily throughout the project.
  5. Build projects around motivated individuals. Give them the environment and support they need, and trust them to get the job done.
  6. The most efficient and effective method of conveying information to and within a development team is face-to-face conversation.
  7. Working software is the primary measure of progress.
  8. Agile processes promote sustainable development. The sponsors, developers, and users should be able to maintain a constant pace indefinitely.
  9. Continuous attention to technical excellence and good design enhances agility.
  10. Simplicity–the art of maximizing the amount of work not done–is essential.
  11. The best architectures, requirements, and designs emerge from self-organizing teams.
  12. At regular intervals, the team reflects on how to become more effective, then tunes and adjusts its behavior accordingly.

Defining Scope on an Agile Project

  1. Inputs
  • Project Charter
  • Requirements
  • Organizational Process Assets

2. Tools and Techniques

  • Expert Judgment
  • Product Analysis
  • Alternatives Identification
  • Facilitated Workshops
  • Prioritization

3. Outputs

  • Project Scope Statement
  • Project Document Updates

The Basics of Iterative Planning and Delivery

1. Planning Meeting

  • Product
  • Release
  • Sprint

2. Feature Selection
3. Task Planning
4. Iteration Adjustments
Benefits of Utilizing an Agile Approach for Software Development

  • Focusing on Business Value (Allow client to determine Feature priority)
  • Stakeholder Engagement (before, during and after a sprint)
  • Allows for Change (Frequent Refinement of Product Backlog)
  • Transparency (Consumer involvement)
  • Early and Predictable Delivery (Fixed Iterations speed delivery of new Features)
  • Predictable Cost and Schedule (Time-boxed, fixed iterations limit work that can be performed by the team)
  • Focusing on Customers (User Stories to define Features)
  • Improving Quality (Break down a project into manageable parts)

How do we move past Change Resistance

  • Acknowledge that people are afraid of change
  • Ensure Senior leadership buy-in and support
  • Empower the workforce
  • Communicate the vision
  • Remove Impediments for teams
  • Plan for attainable goals
  • Be able to tie these new behaviors back to business benefit
  • Establish a sense of urgency

What is a Self-Organizing Team

  1. Self Organizing team is a team that is led and organized by it’s members, to attain goals and objectives specified by management within the constraints of its environment.
  2. Business Analyst, Architects, Designer, Business Owner, Tester, Developer, Scrum Master all get together for a set of Features that they manage.
  3. A group of motivated individuals, who work together toward a common goal, have the ability and authority to make decisions and readily adapt to changing demands.
  • Assignment of work to themselves
  • Manage their own work towards working shippable software
  • Require coaching
  • Team Collaboration
  • Understanding Requirements
  • Continuously enhance their own skills

Agile Self Organizing Team is:

  • Autonomous: No single central decision-making authority. Control is distributed collectively to the team.
  • Adaptive:  Team dynamically adjusts as needed across roles, functional specialties, and other boundaries, in order to solve their own problems and improve their own performance.
  • Accountable:  Team collectively shares responsibility for results, and members hold each other accountable for outcomes

Self-Organizing team does not mean

  • Team gets to decide what goal they pursue (or)
  • Decide who is on the team

What are the Agile Planning Onion Layers

  • Strategy
  • Portfolio
  • Release
  • Iteration
  • Daily
  • Continuous

Screen shot 2014-01-20 at 4.13.31 PM

Advertisements

, , , ,

  1. Leave a comment

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: