A New Job

Its been slow on this blogs front for a while now [2 months now]. This is because, I have recently joined a growing Internet Product Company, www.wiziq.com as a Product Manager. This is a great opportunity for me. As a Product Manager, I would be the marketing teams interface with development team. I would have a team of marketing people working with me and I will work with them to identify the customers real needs. We will develop as per the priorities in the market and this is a real exercise in me to become a product owner. Already I am grappling with issues like prioritizing the tasks - identifying the best process to complete the tasks in a weeks time [our sprint time] and defining the releases. I am also working with Internet Marketing team, Marketing team and Support team. An all rounded exposure would provide me a great experience to becomes a Gen-Next Product Manager.

Managers in Agile

One of the challenge and opportunity that transition to Agile presents for most organizations, is to redefine how we manage things [and we saw in last post - how difficult it can be] and importantly the role of a manager.
Well, below is a general outline of some of the things managers do in their current roles:
  • Do code reviews
  • Define tasks
  • Assign tasks
  • Track tasks
  • Firefight
  • Make MS Project Plan
  • Make Excel Reports
  • Talk to the customers
  • Give feedback to team members
  • Recommend appraisal of team members
  • Promote team members
  • Give presentations
  • Train people
  • Write case studies
  • Write white papers
  • Work with other teams
  • Provide technical leadership
  • Provide process leadership
  • Provider marketing leadership
  • Do HTML coding or other housekeeping work
  • Keep customer happy
  • Read about technology and trends
  • Make usage projections
  • Improve company bottomline
  • Recommend engineering practices
  • Control attrition
  • Interview and hire
  • Provide status updates
There can be more depending on which organization do you work with. All that is needed is to come up with all the tasks that you do and cross out ones you should not do in Agile. Assigning and tracking tasks are obvious ones to go. There are many above that can be crossed. After this, investigate if any more things should be added to the mix. Thats it - you have a great new JD for a Manager. CMMi - here we come :-)

We do not know how to …

A lot of people come to me these days and ask, ever since we started doing Agile, things have gone from bad to worse. Some of the things that go wrong [according to them] are:
  • We do not know how to bill - the customer wants a fixed price while we can’t give it in Agile
  • We do not know how to hire - there are so many things we need to look for more, we can’t seem to find enough people
  • We do not know how to train - we need to coach people on things like responsibility, duties and collaboration
  • We do not know how to measure - how can you measure without knowing what everyone else did
  • We do not know how to manage requirements - they just keeping all the time and we do not know how to keep architecture scalable for that
  • We do not know how to manage - Agile just throws so many things in diverse directions and we do not know how to go about things
My first response to this is “Ok! At least you know all this and got so far”. Invariably I find out that the reason they are unable to manage the above is because they are able to somehow manage to do the impossible - reinvent the wheel on Scrum and XP. Probably its the comfort of familiar rather than uncomfort of unfamiliar, although that may turn out more comfortable. Needless to say there are many solutions available for the above. We will try and see some of them in the future posts.

Change is Difficult

The managers second session on Jan 20, 2007 was very interesting. It was something that was long time coming. The CEO had some other engagement, so could not make it on time. Hence, it was the managers and the Agile proponents. The topic was also suitably - Management Roles in SCRUM: Product Owner and SCRUM Master. I had to orient the course in terms of “what role would SCRUM Masters play in their teams” rather than as a critique of current project management style. Through out the session I emphasized how SCRUM Master is the natural progression for all project managers. However, it did not seem to have cut any ice. The managers are reported to have remarked : “you don’t need us any longer”, “our developers are coming up with strange interpretations of SCRUM”, “I am having difficulty controlling developers” etc. There have been two cases where managers have actually broken down. On another occasion people have been shouted on. Our effort seems to be stuck. At one point it seemed like I would go ahead with teams which are responding and leave the others. And then we thought - if I do that, whats the difference between current management style and Agile thinking I am propogating. The challenge is to win the trust of all. It is very difficult but then change is difficult.

I chanced upon the following excerpt from “CIO Playbook for Adopting SCRUM”, apparently co-authored by Ken Schwaber:

Change is hard work and there is no way around the hard work. Organizations implementing Scrum sometimes misidentify the hard work as someone’s fault, something that can be made to go away if the group at fault would just “clean up their act”. This type of organizational blame can kill a Scrum implementation, and with it the organization’s ability to build better software. When something is painful, when something goes wrong, recognize this is just part of the change that is occurring; it is an opportunity for everyone to get together to figure out how to solve the problem, together.

Scrum cannot be planned for and implemented with checklists, procedures, and forms. Scrum is just a simple framework that will identify everything in an organization that gets in the way of optimally building software. The work to manage and remove these impediments represents the difficult part of implementing Scrum, and it is different for every organization, since every organization is different.

Nobody likes pain and difficulty; many of the impediments are so inherent to an organization’s way of thinking and operating that they are very difficult to remove. No amount of planning up front will mitigate this difficulty; it will only help alert everyone to the hard work that must be done to become a world-class competitor. Scrum requires that senior management be vitally involved in impediment triage and removal, and therefore requires that the CIO adopting Scrum become the leading agent for change.

In this way, the CIO engages in a process of continued organizational improvement, all aimed at increasing the productivity and quality of the software teams. It’s not easy, and the leadership the CIO provides will be a critical factor in success, as the following note from Ken Schwaber to a CEO illustrates:

From: Ken Schwaber
To: XXX XXXXX, CEO for XXXXXXX Corporation
“On one hand, Scrum offers some very attractive possibilities – increased productivity, a better working environment, increased competitiveness, and a higher quality product. On the other hand, it is hard to implement. The amount of change engendered by a Scrum implementation is significant and difficult.

Even though the change is difficult for the developers and customers (product owners), they have immediate payback through increased job satisfaction. This helps them through times of stress and anxiety. Middle management, however, is stressed without immediate reward. They are asked to help transition an organization from traditional approaches to leaner approaches without a clear vision of a personal end point … what will I do and where will I fit into the new organization. This question is particularly difficult and fraught with danger since middle management will be fashioning the new organization. The potential for conflict and politics is daunting.

My experience with top-down, enterprise implementations of Scrum has led me to believe that the differentiator between success and failure is you. Your ability to vision the future and help communicate it to your management, your ability to patiently guide them through the change, and your ability to assure your middle management of their value and form them into a team will differentiate your ability to absorb the change and realize the benefits, or not.”

Although I am not the CIO of the organization and nor do I wield as much power - yet it would be worthwhile absorbing some of the above. Implementing this is a personal challenge itself. But then as I told the managers:

“SCRUM Management requires a much different level of intellect and emotional connect than traditional management.”

Developers vs Managers - Part A

One of the pitfalls that we were almost waiting for *not* to happen was developers vs managers confrontation. In our first group we had two developers who were a bit out spoken and their managers were little relucant to leave them for the sessions. The developers seem to have understood the Agile ideas like “the team is the manager, SCRUM Master has no direct authority over the team, estimates can go wrong” a little wrongly. Worse of all, their managers instead of helping them understand these issues - went into a me vs you debate. The result: both the developers have given interviews at a competing firm and the HR department is exercised. The CEO is concerned that managers are getting stressed out because of developers and the developers don’t know why they were taught some things when no one is going to implement it. The classic tussle had started:

1. Project Managers were saying “you don’t need us anymore.”
2. Developers were saying “voa! you don’t know how to manage or don’t understand Agile.”

Our solution centered around talking to all involved separately and on one-to-one basis to understand their view points. We also understood that we need to reorient some aspects of our lessons to emphasize Humility and Teamwork as part of an overall theme. And importantly, we need to let people understand that Agile viewpoints and that “we are not going to solve their problems - they have to figure a way out.” We are there to coach them, help them understand and help them talk - the talking and the walking needs to be done by the team.

Let’s see how this one unfolds.

Random Thoughts - III

SCRUM empowers people.
SCRUM provides visibility.
SCRUM exposes people.

How do you handle all this?

We have already had problems where we identified one project manager as being the bottleneck in getting the team to an optimum level. We are staring at another project manager who has his ideas and thinking in old style management - control and direct. Two-three developers who work in his team are feeling a little restless because of the expectations that the sessions bring on them and the expectations of their reporting authority. The typical knee jerk reaction is to fire or move and shuffle teams. However, what is delaying this is probably because finding experienced project managers is very difficult. And finding experienced project managers who want to turn Agile is even more difficult. We are trying to convert project managers through trainings and hand holding. However, the jury is still out on this. Any process change does provide for lot of churning - however, we would try and keep this churning to churning of mindsets and not people.