This is a second part in the series of blogs about Agile Tour Israel 2010, see Part I.
For “Open Space” session I took part in presentation of Guy Korland (@g_korland), VP R&D at GigaSpaces.
What was really unique about GigaSpaces is not their level of Agility, but the level of automated testing.
From my experience, this area is a weak point in almost any organization. We know how to write software, we know how to create a backlog and split releases to sprints, we know how to get feedback early to adapt. But more often than not we have no idea how to test the product properly and automatically. From all the people I have talked to personally, very few are actually sold on TDD or at least try to take it seriously.
The reasons are 1) lack of time and 2) complexity, especially when non-trivial UI is involved. It takes a lot of time to create initial infrastructures, it is hard to get it right and it is even harder to keep them growing together with a product. It is a serious effort and one, be it a single person or organization, has to be honest about investing in it for real. This situation is similar to Configuration Management: customers don’t buy tests so the incentive to create, improve and maintain them is unsurprisingly lower than to add new features and services. If a company can operate successfully with the current code quality why would it get into a TDD?
It is good to see how GigaSpaces made a choice to be a different company where everything starts and ends with tests, tooling and automation. How about full build cycle executed every 10 minutes? How about 8 different kinds of tests: unit tests, integration tests, regression tests, performance tests, stress tests, scalability tests .. Geee, there should be 2 more that I don’t remember already. How about major and minor releases treated identically?
I have to admit, GigaSpaces environment really impressed me, it was certainly worth going to Haifa just to hear about it.
- If you tried Agile, CMMI, or Crystal Clear and it didn’t work – you’re missing the point and focusing on practices.
- No more excuses, Agile works. Even if you’re too big or you’re located in Israel. It still works.
- Practices only work in a specific context. Practicing piano improves the techniques but it mostly works for a given composition.
- Values and principals will allow to get better at any practice.
- We can list our values in order and set a priority:
- Family
- Financial stability
- Customers satisfaction
- Communication
- Transparency
- …
- Waste, paperwork
- Taking time away of what really matters.
- Principles guide our actions, considering our values and their priorities.
- Practices is where most teams are frequently stuck, day to day activities to carry out practices.
- The right question is not “What does law say?”, but “Are we doing things that make better for the company?”
- Practices can be wrong, but values don’t change easily.
- When values and principles are known, the behavior will align with what needs to be done.
- When you have values, all other things will fall in line.
- For every value out there there are multiply principles, for every principle there are numerous values.
- Set a goal.
- Scrum is a good improvement, but it only goes so far. It may be not as mature as people are.
I would love to get some more explanation about this. It looked as if Hillel implied that CMMI is a better alternative to Scrum. - Success stories started not with practices, but with attitude and values.
- Values and principles should be visible to anyone.
- There’s no “small stuff”, problems only get bigger.
- Mankind developed atavistic instincts to protect itself. Fear is one of them.
- Fear is defensive mechanism, it either boosts a reaction or blocks it completely.
- We were trained to sublimate our fear, we are given prizes for hearing our fears and “playing it safe”.
- But we live at the edge of the Chaos with complex systems that are less predictable and are harder to plan.
- Overcoming management fear – “Why should we?”
- Separate subjective and objective issues in an organization.
- Start with subjective: collect sensitive information about what does and does not work, show existing problems.
- Continue with objective: show how business values increase and risks decrease with Agile, put numbers.
- Overcoming team leader fear – “Self-managed teams .. Are they killing me ?!”
- Discuss and review current roles and responsibilities.
- Match what works with Scrum.
I think it is obvious that there’s no much left for middle-level management in Agile. I’ll get back to that in a moment. - Overcoming team members fear – “Self-management? Commitment? Visibility?”
- Agile can only be adopted once. If it fails – motivation goes all the way down, people become cynical.
- Take care of team motivation: vision, shared goals, mutual trust and accountability.
- Do not fear conflicts.
- Provide a stage for everyone equally.
- Play Scrum games and simulations, it may help to jell the team.
- The tool to fight the fear is to convert it to courage.
- Courage can be learned and trained, much like in army.
- Courage is usually based on feeling and desires of people involved.
- Team can learn to talk about feelings using games and simulations.
- What is said inside a team never goes out, it builds mutual trust.
- E-mails don’t always work. Try “E-mail game” where people correspond through e-mails on a whiteboard, each level has a different amount of mails allowed: the higher – the lesser.
- Get personal, start talking face to face.
- Agile invites flat-structured teams but companies and especially managers love hierarchies. That’s how human history always worked. Hierarchy pays off financially, gives control over other people and provides a sense of superiority.
- Agile builds on a self-managed teams but most managers believe people need to be managed and wouldn’t be able to deliver anything if left alone.
- Agile invites much more honesty, openness and reality into a workplace than it is usually there. Scrum planning makes “mission impossible” and any other conflicting kind of tasks obvious and doesn’t allow managers to get away with them. Daily standups easily expose unproductive and procrastinating employees.
- Agile assumes people would share their feelings and embrace openness to develop a mutual trust. Sharing feelings is not a regular thing in most workplaces and not many people have any practice in doing that.


