Agile Testing – 7 Deadly Sins

Wonderful article on Agile testing pitfalls from Brad Swanson is here –The Seven Deadly Sins of Agile Testing


Sin #1: Waterscrumming
Sin #2: Separate QA team
Sin #3: Lack of Test-Driven Development (TDD) and Continuous Integration (CI)
Sin #4: Ignoring Test Failures
Sin #5: Unbalanced testing quadrants
Sin #6: Testing is one sprint behind coding
Sin #7: Separation of Requirements and Tests

International Conference on Agile and Lean Software Methods

International conference on Agile and Lean Software methods concluded on 19th Feb. Overall a great experience.
Scott Ambler’s talk where very informative. There was a good focus on Lean and Agile applied to highly regulated environment. Agile coaching experiences where discussed and Lighting talks and discussion where very helpful. I had a great time. 

Swarm Intelligence –Can agile teams learn some principles of self-organization from Swarm intelligence?

Swarm intelligenceis the collective behavior of decentralized, self-organized systems, natural or artificial. Swarm intelligent systems are typically made up of a population of simple agents interacting locally with one another and with their environment. The individuals have to follow very simple rules in decentralized control environment. They have to take local actions to optimize the value of their interactions with the environment and other individuals.  This will lead to emergence of “intelligent” global behavior.
Examples: ant colonies, bird flocking, animal herding, bacterial growth, and fish schooling.
Article on Swarm intelligence By Peter Miller in National geographic magazine –
Self-organization:  (Wikipedia definition )is the process where a structure or patternappears in a system without a central authority or external element imposing it through planning. This globally coherent pattern appears from the local interaction of the elements that make up the system, thus the organization is achieved in a way that is parallel (the entire elements act at the same time) and distributed (no element is a central coordinator).
 Understanding software development is complexity science problem. Complex behavior of agile team is difficult to understand. Agile software development teams can learn from understanding collective intelligence in nature.  Very complex behaviors can be coordinated by relatively simple interactions enabling emergent behaviors which cannot be created by individuals.
So can we develop swarm intelligence in agile teams?  Yes, we can but one important difference we have is that development teams are composed of knowledge workers not dumb ants and bees.  Knowledge workers can see the whole and relate how their individual actions can create something bigger than sum of their individual efforts (Systems thinking). Swarm intelligence as theory still applies but in a different way. Self-organized agile team requires a context, a goal and carefully crafted constraints to align purpose and efforts in right direction. 
Study of Swarm intelligence and theory of Self-organization in agile teams can help agile leaders in better understanding of agile principles and practices.

Kanban Applied to Software Development: from Agile to Lean

Lean and Agile complement each other.
If time-boxed fixed scope scrums are not the easy for the task focused team, Kanban can help in process and task visualization, reducing WIP, process improvements, focused efforts, reducing the waste, reducing the delivery time, realizing the value stream and generating continuous flow in development.

What is Kanban and how it can be applied to software development functions? – 
Good article from Kenji Hiranabe  in http://www.infoQ.com
http://www.infoq.com/articles/hiranabe-lean-agile-kanban

Deming’s 14 Points

Good description of Dr. Deming’s 14 points for quality and improvement is here.

14 points philosophy from Dr. Deming:

1. Constancy of purpose:
Create constancy of purpose toward continual improvement of product and service, with a plan to become competitive and to stay in business.
2. The new philosophy:
We are in a new economic age, created in Japan. Management must awaken to the challenge, must learn their responsibilities, and take on leadership for change.
3. Cease dependence on mass inspection:
Eliminate the dependence on inspection to achieve quality. Eliminate the need for inspection on a mass basis by building quality into the product in the first place.
4. End lowest tender contracts:
End the practice of awarding business on the basis of price tag along. Instead, minimise total cost. Move toward a single supplier for any one item, on a long-term relationship of loyalty and trust.
5. Improve every process:
Improve constantly and forever the system of production and service, to improve quality and productivity, and thus constantly decrease costs.
6. Institute training on the job:
Institute modern methods of training on the job.
7. Institute leadership of people:
The aim of management should be to help people to do a better job. Management is in need of overhaul.
8. Drive out fear: (one of the most important for organization)
Drive out fear so that everyone may work effectively for the company.
9. Break down barriers:
Break down barriers between departments. People in research, design, sales, technology and production must work as a team.
10. Eliminate exhortations:
Eliminate the use of slogans and exhortations for the work force asking for zero defects and new levels of productivity.
Eliminate work standards (quotas). Substitute leadership.
Eliminate management by objective. Substitute leadership.
Eliminate management by numbers, numerical goals. Substitute leadership.
11. Eliminate arbitrary numerical targets:
Eliminate work standards that prescribe quotas for the work force and numerical goals for people in management. The responsibility of managment must be changed from sheer numbers to quality.
12. Permit pride of workmanship:
Remove barriers that rob workers and people in management of their right to having pride in their work. This means, for example, abolishment of the annual or merit rating and of management by objective.
13. Encourage education:
Institute a vigorous programme of education and self-improvement.
14. Top management commitment and action:
Put everybody in the company to work to accomplish the transformation. The transformation is everybody’s job.

Management 3.0 – Jurgen Appelo’s fantastic book


I completed reading Jurgen Appelo’s fantastic book on Agile development.

This a good read for all development managers and agile practitioners. Very practical book which teaches models for agile team and organization development. Advice coming straight from someone who has worked in different roles, practiced and experimented with different agile development practices and models. Unlike management guru books, I found this book very practical, straight on the subject and valuable to development managers like me who want to learn more about softer aspects of agile product and team development.
Must read for all managers, leads committed  to improve the Software development practices in their respective organizations.

Jurgen discusses following 6 views.

Six views of the Management 3.0 model:

● Energize People
● Empower Teams
● Align Constraints
● Develop Competence
● Grow Structure
● Improve Everything

Management 3.0: Leading Agile Developers, Developing Agile Leaders (Addison-Wesley Signature Series (Cohn)) byJurgen Appelo 

Product Details

Agile Project Management – Can developers become good managers?

This is with response to the following discussion  in infoq.com

Infoq.com – Are Project Managers the Problem?

Traditional project management has no place in agile software development. Agile Project managers have different role to play. They will have to unlearn lot of mental models developed from years of old style management, before creating their place in agile teams.
“Command and Control” style of management need to go and agile principles of self-organizing, independent and emergent teams need to be learned.
I do not agree to the statement that developers will always make poor managers. Developers can be great managers if they recognize the fact the team and project management is a different skill set altogether like another technical skills they have developed and it has to be learned with theory and practice.
Agile literature has lot to offer in this field. If the developers\Scrum masters are driven by agile principles, they are already prepared to do good management. Also, the fact that they have grown solving the agile software development problem, has already prepared them to do good people and project management. Need is to learn and practice the Art and Science of Agile Software development.