Learnt something new today - we have a Second Brain - the Enteric Nervous System (ENS) that can control our gut function indepdenently from our Central Nervous System.
Interestingly, the intestine uses large amounts of serotonin to perform it's function and the prescription of anti-depressants can desensitize seratotion receptors and as a side-effect impede function of the gut.
There is more to understand about the brain-gut connection via the vagus nerve. Emotional reactions seems to be reflected in the gut and visa versa sometimes we mix up cause and effect in this relationship. Some ailments of the digestive system (ulcers and colitis) have been considered psychosomatic because they have been accompanied by anxious states of mind - once thought to have been the cause we now realise the feelings are actually reflections of a physical illness.
The japanese have a concept called Haragei that relates to trusting gut feelings. I think there are more connections to be made here...so maybe more later when I have done some more digging around.
At the SPA 2005 conference, I attended a session on the topic of Coaching Software Development Teams lead by Michael Feathers of Object Mentor - author of the excellent book "Working Effectively with Legacy Code". I make my living as an Agile/XP coach so was eager to hear what Michael had to say.
The session started with some discussion on the role of the coach and what it means to take responsibility for a change in team practices. Object Mentor utilize a model of Near Coach / Far Coach. The Near Coach works as a full time member of the team and the Far Coach drops in every few weeks bringing an objective set of eyes (just in case the Near Coach has become pickled). If you are a one person company it's useful to find time to talk with other coaches and get their take on the situation. Later we talked until 3am about difficult coaching situations and ways to handle them.
One of the issues that Michael is concerned about is the ethical responsibilities of a coach. For example, if I consciously apply a technique that the subject is unaware of when does this become manipulation? There are some topics that is can be difficult to broach without causing offense yet they may be crucial to the success of the team and we can only pussyfoot around them for so long. Conflicts can also arise between personal values and organizational values and we also may have blurry lines as to how far we consider work contracts extend into our life outside work.
We then talked about common pitfalls. When a coach meets resistance to new ideas, it's easy to fall into labeling people as difficult. The key is to recognize that people have different motivations at work that a coach can appeal to. I often work with teams that have members who are contractors or sourced from a consultancy and recognize this can really change the way that you pitch new techniques. After a short role play, a dozen or so coaching techniques were presented, including "The Flounce" and "Ask Pat" (a team persona that can be used gauge team reaction to scenarios). Underlying all of these was developing a culture of respect and really listening.
My personal perspective on this topic is that I find it difficult to use formulas for interactions with people and tend to respond to the situation intuitively (perhaps I am actually applying patterns at the subconscious level).
In my coaching engagements, I try and satisfy the sponsor’s goals without pushing people into unrealistic change. So I try to get clear about what sponsor wants to achieve and then adapt agile practices to the project context with respect for individuals on team. I share my observations on the team's current practice and provide suggestions for ways to adapt the way they work together - leaving the choice with the team of what they want to try. However, from the start, I make it clear to the team that I have a commitment to report back to my sponsor on progress and obstacles. Their reaction to my coaching needs to be framed within the context of their relationship to my sponsor.
I believe the key to successful coaching engagements is to stay honest and congruent and never pretend that Agile is a silver bullet. Techniques that can help whatever the situation are Reflection and Systems Thinking. I rely on these tools to unblock communication within the team.
Mant of the techniques that I have found useful have been gleaned from the writings of Jerry Weinberg and I recommend attending the AYE conference where you can meet Jerry in person and learn more about:
• Understanding personality traits (Myers-Briggs)
• Satir Change model
• ICA's Technology of Participation
Now I have recovered from SPA2005 conference, I am backfilling my blog from my SPA notes...
I ran a workshop on Project Mapping - only 10 participants but everyone got stuck in and produced a project map. I really enjoyed the session and appreciated insights from the participants.
Photos here and notes on the SPA community wiki web.
Phlip released Mini Ruby Wiki earlier this week, available for download at RubyForge.
Like FIT, MRW edits and executes tests, and collects their graphical output. Unlike FIT, MRW stores test resources in XML, and edits them directly in the web page without editing the Wiki source.
See more at Ward's wiki which shows a test written in YAML.
Gerard Mezaros is currently writing a book on the patterns we see across many members of the xUnit family of test automation frameworks. One of the reasons for writing this book is to try and establish some consistency in the terminology we use and develop a set of names with clear definitions.
In order to build some consensus around what the single set of names should be, Gerard has requested feedback on his proposal for a unified set of names for Test Doubles (also know as mocks, fakes, stubs, dummies, imposters,etc). Gerard stresses that "nothing is carved in stone" so get those comments in early!
Please post your comments on the xUnit Patterns discussion list.
Cool!!! My first magazine article is published in Better Software. I love the graphics and sidebar by Dave Hoover.
Now I am back pair programming as a developer on a project, I have started to notice an interesting effect, in a strange way I now carry the voices of some past pair programming partners with me. More on this and koyaanisqatsi later.