Today, in India, I believe we have many Agile coaches (internal and external, more internal coaches). If you are helping bring Agile/Lean/Light-Weight thinking into your company, you are playing the Agile coach role (you like it or not). You could be in the leadership role doing this or you could have taken the ownership and facilitating/influencing your team. While doing so, we all need a lot of help, advice and reassurance of our strategies. To facilitate this, help people network and to push the boundaries of Agile, in 2008, Deb and I created the first Agile Coach Camp in US.
In the past I’ve considered doing something similar in India, but always felt we’ve not reached the point yet. Now (esp. after the agile india 2010 conference), I feel we might be at this point.
So if you are interested in participating in a 2 day invitation only, all open-space based conference, over a weekend in March/April, inform me by filling out the following form:
Also please vote for which city you would like to have the conference in:
Recently at the Agile Mumbai 2010 and Agile Bengaluru 2010 conference, we tried to make the conference as green (environment friendly) as possible. Following are the things we tried:
We did not hand over any conference program, printed hand-outs & slides or any other printed material (except for what the conference sponsor handed over). All this info is already available on our website. To make it convenient for the conference attendees, we took 3 large (A2 size) printout and stuck it outside each hall (track).
We also skipped handing overĀ notepads & pens. I my experience very few people use them. Also those who want to use it, it’s easy to carry a notepad and pen.
Lunch and snacks were served in washable plates & steel spoons. Usually conferences use throw-away plates and plastic spoons.
For drinking tea, coffee & juice, we requested the conference participants to carry their own mugs & water bottles. This did not work all that well. We had only 3 people carry their own mug. In future, we plan to hand out a mug to each participant. (For Bengaluru conference, since it was in a hotel, they took care of serving tea & coffee in porcelain cups. Water was served is proper washable glasses)
Conserving Electricity: We tried to switch off projectors and Air Conditioners when ever possible. This is an area of huge improvement. We need to find more interesting ways to conserve energy.
Originally we had planned to request the participants to return their lanyards so we could reuse it. This one fell through the cracks.
At both the conferences we had an enlightening talk from Captain Planet (aka Saurabh Arora) showing the effect of global warming and how we can take small steps everyday to avoid further worsening the situation.
Overall I think there are lot more things we can do to make the conference more environmental friendly.
The conference theme this year is “Post-Modern Agile - Be done with the Dogma“. The conference is really targeted at Agile practitioners, who want to explore ideas beyond the basic Agile stuff.
Also this year, for the first time, we are hosting the World-famous Programming with the Stars contest during the conference.
The conference theme this year is “Post-Modern Agile - Be done with the Dogma“. The conference is really targeted at Agile practitioners, who want to explore ideas beyond the basic Agile stuff.
Also this year, for the first time, we are hosting the World-famous Programming with the Stars contest during the conference.
Also for those who cannot attend the Mumbai conference, don’t worry. We have another conference coming up in Bengaluru. Check out: Agile Bengaluru 2010 Conference.
At the SDTConf 2009,Corey Haines & I hosted a session called Biggest Stinkers. During this session we were trying to answer the following two (different) questions:
As an experienced developer, looking back, what do you think is the stinkiest code smell that has hurt you the most? In other words, which is the single code smell if you go after eradicating, *most* of the design problems in your code would be solved?
There are so many different principles and guidelines to help you achieve a good design. For new developers where do they start? Which is the one code smell or principle that we can teach new developers that will help them the most as far as good design goes (other than years of experience)?
Even though the 2 questions look similar, I think the second question is more broader than the first and quite different.
Anyway, this was probably the most crowded session. We had some great contenders for Smelliest Code Smell (big stinker):
I suggested, Primitive Obsession (Dealing with low level data structures/data types when higher order abstractions can reduce complexity n-fold. This is not specific to OO. Its about lack of abstractions at the right level)
We all agreed that Don’t write code (write new code only when everything else fails) is the single most important lesson every developer needs to learn. The amount of duplicate, crappy code (across projects) that exists today is overwhelming. In a lot of cases developers don’t even bother to look around. They just want to write code. This is what measuring productivity & performance based on Lines of Code (LoC) has done to us. IMHO good developers are 20x faster than average developers coz they think of reuse at a whole different level. Some people confuse this guideline with “Not Invented Here Syndrome“. Personally I think NIHS is very important for advancement in our field. Its important to bring innovation. NIHS is at the design & approach level. Joel has an interesting blog post called In Defense of Not-Invented-Here Syndrome.
Anyway, if we agree that we really need to write code, then what is the one thing you will watch out for? SRP and Connascence are pretty much helping you achieve high Cohesion. If one does not have high cohesion, it might be easy to spot duplication (at least conceptual duplication) or you’ll find that pulling out a right abstraction can solve the problem. So it really leaves Duplicate Code and Primitive Obsession in the race.
Based on my experience, I would argue that I’ve seen code which does not have much duplication but its very difficult to understand what’s going on. Hence I claim, “only if the code had better abstractions it would be a lot easier to understand and evolve the code”. Also when you try to eliminate duplicate code, at one level, there is no literal code duplication, but there is conceptual duplication and creating a high order abstraction is an effective way to solve the problem. Hence I conclude that looking back, Primitive Obsession is at the crux of poor design. a.k.a Biggest Stinker.
It appears to me that the Agile Community is falling behind the innovation curve. At conferences, user groups, mailing list, etc, we see the same old same old stuff (may be I’m missing something). So where is the real innovation happening? What space should I be watching?
These were the questions I posed to the group @ the SDTConf 2009. Later, during our discussion at the conference we tried answering them. After a wonderful discussion we come up with some suggestions:
Web 2.0
Highly Scalability, Performance and Operations space
Complex Adaptive Systems and its implication on our social interactions space. Dave Snowden’s work is a good starting point
eLearning and visual assessments (feedback) of a programming session. Check out Visualizing Proficiency
Polyglot Programming space
With Google Apps, people are able to build 100s of Apps each month and get instant feedback on their ideas
Social Networking and Second Life space
Conference: Lot of interesting experiments are been conducted in the conference space. Conferences have evolved to something very different from before.
Distributed Development and Remote Pairing space
If you would like to contribute to this list, please add your point on the SDTConf Wiki.