Agile Self-Organizing Teams and Role of a Leader

Agile team should self-organize. The Scrum Master can influence the process but not directly intervene.

We all know this.

Well, if you are not sure how this process works then you should read what Mike Cohn of Mountain Goat Software has to say:

However, do you really think that the leader should try to influence the team in a subtle manner? Is that what a leader is supposed to do?

Take the case of the “International Conference on Agile and Lean Software Methods” or …

Agile India 2012

Whichever way you look at it, the event was a grand success.

It had more than 700 participants and 120 speakers from 18 countries.

However, in my opinion, the biggest measure of success of any conference is to look at the closing session. Here is a 3 day conference ending on Sunday evening. You would expect to find the closing session to be half empty.

But no – in this conference the hall was full – as full as the opening session. That means participants found the conference interesting enough to stay till the end and attend the closing session.

Yes, it was an event where the organizing committee was self-organizing but how it happened makes an interesting story.

The Story behind Agile India 2012

105 days before the conference the organizer pulled out stating that the time frame was too ambitious. There were no sponsor for the event and hardly any registration.

Naresh, the conference chair, after consulting with the rest of the committee decided to go ahead – and – as you can all see, he did pull it off.

How did this happen?

This is what Venkat; the program co-chair had to say…

“…this would not have happened by any stretch of imagination without the hard work and thousands of hours that Naresh had spent…”

But, I think it is not just the hard work which is behind the success. The belief that it can be pulled off contributed as much.

Such belief is contagious and it rubs off from the leader to the rest of the team.

Such belief motivates the rest of the team to do the impossible.

 

Advertisements

Cloud Computing – Adoption Challenge

Like investment chasing highest return, does innovation chase technology adoption challenge – especially those challenges which stand in the way of adoption of the latest hype? After all, anybody who manages to remove the biggest stumbling block stands to gain the maximum financial return from the effort. Harder the problem – more competitive advantage do you get. Surely, VCs will invest in such effort.

Therefore, if you track the effort of the promising innovators who are working on different aspects of cloud computing, you should be able to get a fairly good idea of where the real challenges are. Consequently, the areas which are left out are not real challenge and more of perception issue.

A good place to start is to look at the Under the Radar event help on 16th April, 2010. It showcases 27 companies, most of them working on some aspect of cloud computing. These are startups that have not yet “made it”. In addition there were 6 companies considered to be in the Grad Circle – that is they have graduated. What I find most interesting is the categories under which the awards were given:

  • Data 2.0 – different methods of working with data
  • Compliance – not security
  • Analytics
  • Virtualization
  • App Development and Management
  • Infrastructure – more about infrastructure management
  • Communication – not really about cloud

As you can see is nothing about security or reliability. This has strengthened my view that these are more of a perceived challenge than a real challenge.

Looking at the distribution of what these companies are doing, my view about the biggest challenge is reinforced.

  1. Tooling for managing cloud application and environment (13 out of 27)
    1. App Dynamics: Cloud Application Monitoring – both in SaaS mode as well as on premise mode
    2. AppFirst: SaaS based Cloud Application Monitoring
    3. Aprigo: Cloud data access management
    4. CloudShare: Share cloud image
    5. CloudSwitch: Migrates existing VM environment to Cloud
    6. Conformity: SaaS user management
    7. Layerboom: Tools to create virtual server Clouds
    8. Makara: Cloud Application Monitoring – without any agent installed on the server
    9. MaxiScale: Cloud storage management
    10. Puppet Labs: Open source Data Centre automation tools
    11. RiverMuse: Alert and event management
    12. SaaSure (now Okta): SaaS user management
    13. VMTurbo: Cloud Application Monitoring
  2. Best way to store data in the cloud (6 out of 27)
    1. Cloudant: CoucdDB in the Cloud
    2. Delphix: Tools for refreshing and provisioning of databases
    3. GenieDB: Distributed DB with SQL support
    4. Kinamik: Secure audit vault to preserve sensitive data
    5. Neo Technology: Graph DB
    6. Northscale: Memcached DB

Out of these my personal favorite is GenieDB – it promises to do something which I have always thought to be technically infeasible – to have a large distributed DB and seamlessly and efficiently run SQL on it. This is something which neither Oracle nor Microsoft nor IBM has been able to do.

So, if you are planning to venture into the cloud, you know what you should be worried about.

Will Microsoft VSTS 2010 be as good as the demo

Only once in a while you attend a product launch and come back with the impression that – yes – that is one feature I always wanted. (This happens frequently with Apple product launch.)

It was the Microsoft Tech-Ed event in Bangalore, end of day one and Amit Chatterjee, General Manager for the Visual Studio Test Business at Microsoft was talking about Visual Studio 2010. He talked about 3 features:

  1. How you can reverse engineering and generate design documentation from code
  2. How developer can recreate the exact scenario of a bug reported by the tester
  3. How agile project management aids have been incorporated

It is the second feature which caught my attention. A tester while reporting a bug can record the UI sequence leading up to the bug as a video and attach it to the bug. The developer can play the video, and see exactly how the bug happened. Developer can also replay the recorded test script to simulate the bug, examine the call stack when an exception is thrown and drill down to the code. It is called IntelliTrace. In addition to this you have the Test Impact Analysis Window which keeps developers informed about tests that need to rerun with every check-in.

This feature may be too good to be true in practice. There may be challenges in actually using these features. The process of recording may bring the testing process to a crawl. It may also not work in all circumstances.

But, I will be hoping that this feature delivers on the promise. How will this impact Test Driven Development?

Agile & VSTS

The second thought which occurred to me is that “Agile has really gone main stream”. There is no doubt about it because not only has Microsoft included support for agile project management but also thought it to be important enough to be listed in the top 3 features of VSTS 2010. Though, Scrum templates existed from 2005 onwards – it was never shown as a key feature.

Some time back I had done an analysis of Agile Tools Recommended by Experts based on a LinkedIn discussion. VSTS came in 5th. I suspect that if the same analysis is done a year from now VSTS will move up the ranking.

Microsoft understands developers

Vikram and Deepesh came back after attending the 3 day event with a gleam in their eye and a “Wow” expression. I suppose Microsoft understands developer better than anybody else.

They are also becoming more open to other platforms. For quite some time (2005-06) TFS had support for Eclipse, Linux, Unix and Mac OS. Did you know that Azure, their cloud computing platform, is not restricted to .Net? As long as your application works on MS SQL you should be able to migrate it to Azure. The application can be written in anything – PHP, Java – it only needs to run on Windows.

Software development is not like manufacturing

In last few months, I have met a lot of people who feel that lack of predictability in software engineering is because it is not mature enough as manufacturing or civil engineering – unfortunately I completely disagree with this view. For a change it was nice to meet somebody who agrees with me on this subject.

At the end of the day, there was a “CXO Panel Discussion” which was moderated by Tapan Acharya. Apart from me, the other panelists were:

  • Amit Chatterjee – Microsoft
  • D. R. Baghirathi – MindTree
  • Mahesh Prabhu – ITC infotech
  • P Sundar Varadaraj – Dell.
  • Raghavan  Subramanian – Infosys
  • Shankar Kambhapatti – Polaris.

During the “CXO Panel Discussion”, when we were discussion Amit said that “focus of manufacturing is to repeatable produce something” and the “focus of software development is to produce something which different from what already exists – otherwise there will be no need to create the software”.

John Zachman, Edward de Bono and the Art of Presentation

What is common between John Zachman (who created the field of Enterprise Architecture) and Edward de Bono (who originated the term Lateral Thinking)?

Both of them are now septuagenarian and have been pioneer in their respective field – but that is not what I am talking about.

Recently, thanks to Sunil of iCMG, I had the opportunity to meet John Zachman in an evening event. There I learned that he uses the old fashioned transparencies and overhead projector for all his training programs. In a way it is apt as one of the key points that he makes in an EA training is that Enterprise Architecture has very little to do with Information Technology.

Couple of years back Edward de Bono was in India and he handled a program for our organization. He also believes in transparencies and overhead projector. Here is a picture which I picked up from Wikipedia:

Edward de Bono (from Wikipedia)

Some months back I had delivered one hour talk without the aid of a Power Point presentation. Though it went off quiet well, I never tried it again.

Why?

Some of you would never even have seen an overhead transparency projector and cannot imagine using. Some veterans like me would have started with overhead projector and later on would have found power point handier. The main reason, off course, is:

Only a handful like Bono & Zachman would have perfected the art of presenting using transparencies and would never have felt the need to switch. Possibly, what they say how they say has remained almost unchanging.

BTW: An interesting discussion on “This is what is killing Enterprise Architecture… ” is happening in the linked in group . It is a lively debate and there are more than 450 comments. Apart from the fact that many of the comments were posted because of a lack of understanding of what Enterprise Architecture is, the crux of the debate revolved around how critical is information technology for Enterprise Architecture. One of the starting points of the debate is:

“…Enterprise may elect to use information technology as an implementation option but the Enterprise can also be implemented with pencils, paper and file cabinets …” quote from John Zachman

Though, in theory, IT is not important, in practice not many of us will actually attempt it? Will you formulate the Enterprise Architecture in the same way without taking into consideration how IT is going to be used?

Architecture World’09 – Pune

Good arrangements – I liked it more than the Bangalore event. Let me highlight 3 points from this event which can provide you with some food for thought.

1. Look at the list of speakers & panelists – you notice anything interesting?

If we discount the people from IT/Consulting companies (17-7=10) – Telecom accounts for 30% (3/10) of the remaining speakers. No other industry segment had more than one.

Sunil Dutt Jha – iCMG, Shirish Patwardhan – KPIT Cummins, Upal Chakraborty – DLF Limited, Amar Kumar Pandey – IG Police, Manish Gupta – Healthcare Global. Manoj Deshmukh – Fiserv Global Services, N Nataraj – Hexaware Technologies, Parag Matapurkar – Capgemini, Sanjay Marathe – Zensar Technologies, Manoj Shrivastava – Reliance ADA Group, Hiren Shah – CRISIL, Meenakshi Vajpai – Bharti Airtel, Steve Towers – BP Group, Tamal Chakravorty – Ericsson India, Abhay Chitnis – L&T Infotech, Suryanarayanan – NSR Centre for Entrepreneurial Learning, Udayan Banerjee – NIIT Technologies

It is not really surprising because Indian Telecom industry …

  • …is among the largest in the world
  • …is also the fastest growing in terms of absolute numbers
  • …because of the size and rate of change has to deal with a level of operational scale and complexity not seen anywhere else in the world except China
  • …has to depend on IT to operate effectively
  • …needs an IT infrastructure with a scalable architecture capable of handling the scale and the growth
  • …has architectural experience to share with other industry

Therefore – other industries have a lot to learn for Telecom.

2. The panel discussion – “Are Indian Software Architects as competent as the western counterparts?” had an interesting twist.

There were five of us of Indian origin and Steve was the lone person of non-Indian origin. All five of us kept pointing out our shortcomings but Steve compared current Indian IT scene with that on Japanese car manufacturing industry of the sixties – how they started with imitation but went on to become world beater.

Therefore – question is how can we learn for Japanese auto industry?

3. Finally, in spite of what Sunil and Manoj had to say, comparison between IT architecture and civil architecture is both inaccurate and misleading.

Though this topic will need a separate post – here are some of the points.

  • Look at the definition of Civil Architecture (…design and construction…) and Software Architecture (…externally visible properties of those components, and the relationships …) from Wikipedia – they are not comparable.
  • Civil Architect, using past knowledge, creates a blue print or model of what needs to be constructed – in software that activity is called design
  • The rate of change of this knowledge and the underlying technology for Civil Architects is measured in terms of decade – but similar change happens in software in years –significantly reducing the possibility of reusability (see this – When Is Reuse Feasible?)
  • Civil Architects deals mostly with static characteristics – but any IT or software design is mostly about dynamic behavior
  • Once constructed the buildings, roads, bridges do not change much – but any IT system evolves and may become unrecognizable from its original version after a few years

Therefore – we need to look at biological systems for inspiration which grows and evolves.

BT Summit, Bangalore – 2009

When I drove into the Tata Auditorium at IISc, Bangalore for the Business Technology Summit – my first reaction was “Oh! So many cars!”. Yes, it was a very well attended conference.

I have found that taking a statistics of the topics give a good way of gauging which way the technology wind is blowing. Here is my quick analysis.

  1. There were 6 tracks – SOA, Security, ECM BI, Cloud and Virtualization
  2. 23 of the 45 presentations were related to “Cloud Computing and Virtualization” – more than 50%
  3. SOA related sessions were only 6
  4. Similarly, BI related sessions were limited to only 5

This statistics maps nicely to Gartner emerging technology hype cycle – were “Cloud Computing” is the peak of its hype. However, what surprised me was the fact that there were no sessions on Google App Engine.

The level of participation in this conference and my experience in the airport next day were there was a long queue at the security check point leads me to believe that we are at the end of downturn – Indian IT scene will shortly start buzzing with activity and positive energy.

Agile Australia – 2009

There are two things about Agile Australia that surprised me.

  1. The level of participation: There were around 350 participants – in this period of economic slowdown it is a huge number
  2. Missing Indian IT companies: None of the “tier one” Indian IT companies were around – neither as sponsors nor as speakers – why?

As per Gartner’s hype cycle on Application Development – Agile Methodology is supposed to be ‘sliding into the trough’. You would not get that impression if you were around here. There was an unmistakable buzz that Agile is the way to go.

One more point which repeatedly came out – from speakers – from delegates – that top management support can really give a fillip to agile adoption.

In my panel I was expecting some amount of disagreement on the feasibility of “Distributed Agile”. However, to my disappointment, there was a quick agreement that it is definitely feasible but requires little bit of additional effort.

There were 3 sessions on using Lean & Kanban (here is a nice explanation) with Agile and they rekindled my skepticism about applying manufacturing principles to software development. One of the driving principles behind the development of agile methodologies is the fact that software development is different from manufacturing. Are we not repeating the mistake by trying to apply Lead & Kanban to software development?

On the whole it was a good show.