Tuesday, May 31, 2016

The Agile Manifesto in English - 8

Principles




Agile principles are concretization of agile values.  Agile manifesto lists 12 principles. These principles are iterated in the form of assertive statements.


3.     Deliver working software frequently, from a couple of weeks to a couple of months, with a preference to the shorter timescale.


This principle is a clever way of saying, how first two principles can be realized.
To deliver working software frequently, delivery cycles need to be short so the feedback cycles.  Generally speaking shorter cycles are better.

In scrum, kanban, and devOps frameworks, this principle is reflected in following practices:


  • Small sprint duration
  • Ambassador user
  • Vertical slicing of user stories
 

Monday, May 30, 2016

The Agile Manifesto in English - 7

Principles




Agile principles are concretization of agile values.  Agile manifesto lists 12 principles. These principles are iterated in the form of assertive statements.


2.     Welcome changing requirements, even late in development. Agile processes harness change for the customer's competitive advantage.

Software development and maintenance is a learning experience where every participant contributes and learn something new. In customers’ perspective these new leanings result in new features and changes in existing ones. From devTeam’s perspective these learnings result in new insight in software development and maintenance.

We already know that we live dynamic environment whether it is business or technical aspect. Change is the only constant.

The first principle talks about keeping customer happy, so how to keep him happy in such a dynamic environment?

Help your customer to maintain or acquire competitive edge by keeping changes flow in software development and maintenance cycle even late in game. How to do it?

Keep size of increment small in each delivery cycle. Of course, make deliveries frequently.
But never confuse, welcoming changes with chaos. Maintain a strict limit on WIP. Welcoming changes does not mean lack of vision or coherence but helping customer to focus on limited number of changes at a given point of time. 

In scrum, kanban, and devOps frameworks, this principle is reflected in following practices:


  •  Small sprint duration
  •  Continuous flow
  • Customer is always present for the devTeam
  • Daily standup
  • Demo in the end of sprint
  • Keeping WIP small
  • Ambassador user
  • Vertical slicing of user stories
  • Enough architecture
  • Continuous product backlog grooming/refinement efforts
 

Sunday, May 29, 2016

The Agile Manifesto in English - 6

Principles




Agile principles are concretization of agile values.  Agile manifesto lists 12 principles. These principles are iterated in the form of assertive statements.

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

Customer is raison d'être. Customer may be internal or external but customer is must. If customer is happy and willing to spend money lot of problems can be solved. In software development and maintenance, customer is looking forward to get his work done effectively and efficiently. Here comes the valuable software.

We also know that environment is dynamic in nature and customer also learn about software as he uses it. Despite of lot of efforts on simulation and other engaging techniques, customer learns about software as he starts using it. Plan heavy methodologies does not account for it. 

Then, how to make customer happy (or should I say delighted)? 

Deliver in small chunks frequently and collect feedback as soon as possible. Incorporate the feedback in next delivery in addition of new functionality. Wooh…, suddenly we are making customer happy and delivering software which is valuable to him.

In scrum, kanban, and devOps frameworks, this principle is reflected in following practices:

  • Small sprint duration
  •  Customer is always present for the devTeam
  •  Prioritization of product backlog items
  • Daily standup
  •  Demo in the end of sprint
  • Keeping WIP small
  • Ambassador user
  • Vertical slicing of user stories
  •  Enough architecture
  • Continuous product backlog grooming/refinement efforts