Thursday, April 15, 2010

Product development operational reviews

At Zmags we have a quarterly and yearly planning cycle. It works really well, it’s well managed and it ensures that everybody at senior management level is on the same page. Part of the quarterly planning session is operational reviews of all functional areas of the organization. The original framework that we employ for the operational reviews was an adaptation of a sales department operational review kindly provided by the good people at OpenView. I’ve used it for a while and it’s been tweaked a fair bit along the way. I recently had a chance to see the draft operating review framework specifically for product development that Igor Altman at OpenView is creating (and as usual it’s really good).
Seeing Igor’s work got me thinking about how I do operational review presentations and the purpose of them. The way I see it, the purpose of the operational review is to analyze the inner workings and activities of a department or functional area with the purpose of identifying problems and potential improvements.
This is all well and good but the problem here is that at executive and board level only few people have (and should imho have) complete domain knowledge. This means the presenter will be presenting a specific view port into the problem domain and is forced to translate the specifics into commonly understandable terms.
So the tradeoff becomes presenting a too high level view that everybody understands but does not facilitate the identification of improvements or presenting a too detailed view that isn’t understood and causes unnecessary concern and pushes focus towards the KPI’s instead of their meaning.
In addition to the overall purpose of the review I find that the good ones also serve the following purposes:
  • Provide executives with an overview of the past and planned operations of the department so that they can plan for upcoming cross departmental activities
  • Provide knowledge and ensure that planned operations of the reviewed department is in line with the overall company strategic themes
  • Identify areas of possible cross departmental synergy (given the above bullet there should be plenty)
  • Instill confidence that you know what you’re doing (if that is the case) and that they don’t need to worry about the things you don’t draw their attention to
In general I try to make my review documents substantially shorter and put only a few bullets in writing on every slide. I think it provides a substantial advantage to start my presentation at a slightly higher level and then dive into the underlying KPI’s whenever necessary. In other words, if there really isn’t a quality problem I wouldn’t dive deep into low level quality metrics unless asked and in that case I would have those KPIs in a separate presentation. It (I hope) gives my colleagues the confidence that no matter what KPI they feel like drilling into, I know and have the data and that allows me to fast forward through some of the areas in which I have a strong believe that a lengthy discussion would be futile.
In summary I tend to stick to these basic rules
  • Provide reasonably few metrics that highlight problem areas (I provide 5-10)
  • Have the underlying KPI’s for each top level metric ready but don’t show them unless necessary (I try to have additional KPI’s ready in a separate presentation or dive right into the reporting systems)
  • Prefer meaningful graphs over tables
  • Weird domain specific acronyms that I don’t know, makes me feel like a jerk. I assume this is a general thing so I try to avoid them
  • Highlight risks
  • Listen! – This is your chance to pick the brains of the most expensive coworkers in your company. Don’t waste the opportunity
  • Be exceptionally honest (this is your chance to tell them that the multiple-inheritance multi-apartment threaded COM object based architecture that your architect came up with wont be supported in the next version of windows (btw: the version for which the next release is targeted at))

Monday, April 12, 2010

Motivation for going cloud

At Zmags we recently completed a move from a traditional hosting provider to a cloud hosting provider. The move was a pure business decision and was founded on quite elaborate analysis and considerations.

The evaluation process and an upcoming speaking engagement at Cap Gemini got me thinking about motivations for moving into the cloud. As it turned out, the factors that motivated us could be split into two buckets. One bucket containing defensive and one containing offensive business advantages. Somewhat like the hygiene factors of the two factor theory, the defensive business advantages are the features that have to be present in any hosting offering to keep customers on-board.

These factors include

· Stability / Availability

· Maintainability

· Security

· Reasonable cost

Although it isn’t always the case, the defensive factors should be present at any serious hosting provider and they need to be as they are the factors that will keep your environment coasting along without too much hassle. They are to the SaaS provider what a hammer is to a carpenter; a good stable tool that you can count on to bring bread to the table. Obviously, the basic tools of the carpenter aren’t decisive factors in building a million dollar housing enterprise, they need to be there but to really offer clients value for money (and thus grow the business) the offensive factors are needed. They are the factors that give you distinct competitive advantages. In SaaS it is often a distinct competitive advantage to be able to churn out more features faster but that also means being able to serve the influx of new customers that these new features rake in.

For us the decisive offensive factors where the ability to scale extremely fast and to be able to have an abstraction from the raw iron underneath our application. Cloud hosting provides us with the ability to continuously adjust our computing capacity to the needs of our customers which is a huge advantage to us because it saves us money and to our customers because it allows them to complete their work even faster. In addition we no longer have to worry about running specific applications on “one of the beefy servers”, we run it on the appropriate instance and if it isn’t available it can be started within a few minutes.

The next big advantage for us will come as we migrate our build farm and our test and staging environment to the cloud. By doing so we can achieve faster build process, better and more accurate testing and thus higher development velocity.

These factors mean that our hosting facility is completely aligned with the business and is able to expand at the increasing pace of the company.

We have barely scratched the surface of the potential of cloud computing and the offensive factors but we have already achieved huge (and recognized) advantages for our clients. In the future awaits substantial improvements and a more fun development cycle were we will be able to churn out features even faster and keep up with the pace of our customers.

Monday, December 28, 2009

Opportunity or crisis

While political leaders are struggling to agree on anything but the existence of the climate problem the private sector is already profiting from solutions.

Prior to the Credit Crunch only top line mattered. Cost was something that conservative accountants dealt with and something that only mattered for the declining manufacturing industry. Credit was so abundant and cheap that it made a lot more sense to optimize top line than to minimize cost. The Crunch changed all that, drastically and to the better.

While I’m not too happy about the Crunch in general, the renewed and very reasonable attention to cost has brought a lot of positive momentum into the technology sector. The “recent” buzz of cloud computing is just one of the areas which to some extent has been fueled by cost reduction efforts. It just doesn’t make any sense for companies to host and manage individual server farms. Another trend indicator is Microsofts new Operating System, Windows 7. It is the first version of Windows that does not require substantially more resources than its predecessor. Contrary to tradition, Moores law does not seem to have been a design parameter and it actually runs quite well on existing computers.

One of the reasons Microsoft seems to be faring better with 7 than Vista is probably that they where forced to listen to the consumers. Somewhere down the line, some consultant struck gold and came up with the idea that companies should probably produce what their clients where requesting. While user driven innovation sounds like common sense, it wasn’t. For years tech companies have been dictating requirements and assuming usage behavior. Look at many of the programs on your computer. They suck and you only use a minuscule fraction of the functionality they have.

It seems to me that the Crunch has forced us all to figure out and produce what we really need, not what might be nice but the bare bone essentials. It’s not that certain anymore that the general market growth will bail companies out nor is it certain that Moores law will ensure that bloated applications will run. This drastically changes the rules of the game. Resources are no longer unlimited but constitute real boundaries.

Fortunately we’ve been sloppy for decades so there is plenty of room for optimization and economic growth within the boundaries. Our computers are orders of magnitude more powerful than those of the Apollo 11 mission and yet we accept sluggish performance and poor user interfaces. There are still thousands of servers out there that are barely utilized or only utilized during an 8 hour work day but are kept running cool and safe 24/7 at immense costs.

There is a huge economic upside in optimization within the existing resource boundaries and there is tremendous opportunity for growth. The best part is that it consumers will get better products of higher quality that lasts longer while the environmental impact of consumption and production will be minimized.

Companies that understand this change of premise will see unprecedented growth in the new decade and big companies like Microsoft has already started the transition.

Tuesday, November 24, 2009

Wolf anybody? reports that millions of PDFs created from within Internet Explorer have privacy issues. The so called issue is that IF you load a local html file in IE and IF you then print that file to PDF, IE will give the document the file path as title. IF you then publish this PDF document, evil does will be able to obtain information from the path info.
So what can this information be used for?? According to the post, attackers could use it to obtain information about what operating system you are running and then use that information for malicious attacks.

PDF is not the perfect format and it has had flaws before but only the very neurotic needs to be concerned about this issue as the information given away should be easily available by:
1) Guessing: Anybody printing a HTML page to pdf and publishing it is very likely to be Windows user
2) Looking at the application (or producer) meta data in the PDF file that very often will tell you what program and what OS was used to produce the file

Long story short, unless you are printing PDF files stored at C:\Documents and Settings\Larry\Desktop\reports for my stupid and ignorant boss\Report1.html you need not worry. If you have security concerns in general, youre probably not using, PDF, Windows or IE.

No wolf here, large puddle at the most.

Thursday, October 22, 2009

Why scrum works??

The evidence indicating that Scrum is a more productive methodology is overwhelming. Companies report substantial growth in productivity and quality when transitioning from waterfall to agile. I am myself a strong proponent of Scrum and use it on a daily basis but I find the root causes of the experienced performance increases blurred.

A plethora of explanations for the effectiveness of Scrum have been offered, the most conspicuous of which is that the procedures, the planning and the artifacts in the Scrum framework constitute a more effective method of execution and that this is the primary contributing factor. Smaller teams doing their own planning and given tools for tracking progress is by this argument more effective than large teams in bureaucratic project formation.

The Hawthorne effect or combinations of the Hawthorne and the Placebo effect has been suggested as explanations for the recorded productivity increases. While the Hawthorne effect is usually quite short lived one could argue that the continuous improving and thus changing nature of the process could prolong or even perpetualise the effect.

If Placebo where to account for the productivity increases the argument would probably be that it is general knowledge that implementing Scrum is usually associated with a productivity increase and also that the implementation process and scrum master training is often littered with success stories told or written by industry experts. The implication being that if implementation does not result in substantial productivity increases, the Scrum is not done “Correct” and Scrum will, as a curious side effect, by logic convention always be successful . This should place strong expectations on the organization implementing scrum and could help making the success prophecies self-fulfilling.

In my opinion, Scrum is not driven by means of Placebo or Hawthorne although I do believe both effects attribute to the success of the methodology. Neither do I think that the methodology is the main contributing factor. My favorite is that the main reason Scrum results in performance increases is the immense positive effect it has on employee motivation. Herzbergs two factor theory claims that some factors, if present, contribute to job satisfaction while the absence of others lead to dissatisfaction. That is, a few basic things (hygiene factors) like fair salary and supervision will cause demotivation when not present but will not by themselves motivate employees while other factors (motivators) such as achievement, responsibility and personal growth will motivate employees. Given that the hygiene factors should be present in most modern well driven companies (even those using waterfall) any motivation based performance gains must be sought in the motivators. I find that the strong overlap between the values of the agile manifesto and Herzbergs motivators are extremely indicative as to the root cause of the experienced performance improvements.

To the best of my knowledge there is no strong research substantiating or quantifying the contributions of the many theories to the reported productivity improvements and I find this quite unsettling. We are faced with a brilliant framework that seems to work but we have no clear understanding of why.

We need this knowledge. Firstly because the scrum cake may not be fully baked yet, adding more chocolate chips may improve the outcome, but we don’t understand which ingredients result in the great taste so we are flying blind. Secondly, because Scrum and Agile are methodologies based on learning and empirical knowledge we should not accept basing it on assumptions.

It should be possible to design experiments that would allow for the quantification of at least some of the contributing factors and I believe that the next improvements of Agile requires this more specific knowledge of the contributing factors. I also think that this knowledge will help to further expand the use of Agile methodologies.