Sunday, July 20, 2008

Is Business Continuity Management a priority in the Software Development Industry?

44% of the Companies in India have faced some form of disaster since 2006. Companies that promise 24*7 services, are heavily dependent on IT and data management. Let us look at a survey to get more information

In April 2007, Market Pulse, on behalf of Business continuity Management Institute, conducted a Survey. This survey gives us an insight into BCM practices in fifty-four organizations, having the most progressive BCM programs in India. Let us look at some of the findings.

More than half the respondents reported at least one significant business disruption in the last year.


Over half the respondents felt that their organizations were not sufficiently prepared to face business disruptions.



Following are few more stats:
• As many as 17% of the respondents report that their organizations do not have Business Continuity Plans. Most of these expect plans to be formalized within a year.
• The maximum loss reported due to a single disruption was Rs 100 crores (USD 24.4 million) and the average reported loss due to disruptions was Rs 7.7 crores (USD 1.89 million).
• Most organizations do not feel secure about their level of BCM preparedness. More than 80% have not planned for all four of these situations - loss of facility, prolonged power or communication breakdown, disruptions from service providers/suppliers and mass absenteeism due to reasons affecting the masses (like strikes, bandhs, epidemic situations etc).
Conclusion: It makes common sense to implement business continuity management solutions.

What is ideal tester versus developer ratio?

There would not be one single answer to this question. It depends on many factors namely environment, culture and intended use of software. For a gaming software the tester verses developer ratio would be low while for critical medial equipment software it would be high.

Let us look at what can be a possible ratio for a software development project which is neither a mission critical nor just gaming software.

Project needs both black box and while box testers. The testing activities to happen include functional testing, regression testing, acceptance testing and performance testing.

- One black box tester to test the source code developed by 3 engineers
- One tester to write the functional & regression (automated) test cases for the code developed by 3 engineers
- One tester to write the performance test cases for the code developed by 4 engineers
- One tester to write the acceptance test cases for the code developed by 6 engineers

The final ratio which comes out from the above is 13 testers for 12 developers. This is not an ideal ratio but certainly one which can be used to ensure that various quality controls are in place.

Sunday, July 13, 2008

Why Greene is gone?

The unexpected exit of Diane Greene, co-founder and CEO of VMware, is one of the biggest events of the year. This is end of an era. VMware is at such a big stage in virtualization market because of Diane Greene.

Diane is considered by many as one of the greatest visionaries of last 20 years and a great leader. Many of us might not know about her but a quick reading would be good enough. Read the following link to know about Diane Greene.
http://www.networkworld.com/includes/ads-pre.html

I too was one of those who did not know about Diane Greene and VMware but the recent event created enough curiosity in me to dig further.

I found that the departure of Diane is not a small event but would make a big impact. It has already made a big negative impact on the company’s share price. The share price has already moved down by a big margin in two days. While reading, I also learnt that VMware IPO was one of the most talked IPO in recent past (only second to Google IPO).

Diane is technology freak and gave birth to a new wave called virtualization by starting VMware in 1998. VMware’s first product “VMware workstation” was almost magical. It was amazing to run an operating system on a virtual machine. It was not heard before. VMware went ahead with their further offerings called GSX and ESX servers which consolidated on server consolidation and service isolation.

By bringing such products, VMware became not only the front runner in the virtualization market but became so big that it had more than 100000 customers and nearly 14000 partners which made it one of the fastest growing companies on the globe.

Now with the time, competition increases in every business and VMware too started to feel it. Few major competitors of VMware in virtualization market are Microsoft, Sun and Citrix.

In technology space when luxury becomes the basic need you never know? In last few years virtualization has become such a buzz word that every company wants to virtualize. Linux now has a virtualization support in the name of KVM (Kernel Virtual Machine). Intel and AMD made sure that hardware platforms are compatible and even thinking further whether virtualization can become part of the platform itself. This new thinking is so radical that would change the face of virtualization at all.

Microsoft is already planning to ensure that its recently launched Hyper-V hypervisor is part of Windows server 2008. And who is not aware of aggressive marketing campaigns of Microsoft.

Oops, you might be thinking that I am digressing from the topic. But I thought to give you a brief of Virtualization market before coming back to current event.

Now Greene is removed from VMware’s top post at a time when the company needed her most. She, being the technology champion, could find ways to consolidate company’s position in such a competitive world.

She has been replaced by a business person, Paul Maritz who spent most of his time with Microsoft and was crucial contributor in the aggressive marketing of Windows 95 and NT. I would not talk about his accomplishments in detail J

EMC has around 85% of the stake in VMware therefore it can take such aggressive decisions but I seriously doubt whether such moves ever help. If we agree with what market forces are talking about, VMware (or Greene) was not able to take certain forward looking decisions because the decision makers (board of directors) were not willing to cooperate. Diane was looking for a free hand while EMC chief Joe Tucci was against such freedom.

I have few doubts in the entire event

- Is it justified to remove somebody like Diane who is not just a founder of the company but ensured that VMware is such a big name in the market?
- Is it justified to replace her by a person who is new to virtualization market?
- What would be morale of VMware’s executives who are so closely associated with humble natured Greene?
- Did this change happen on the personal grounds?
- Would there be further consolidation between EMC and VMware?
- EMC and Microsoft maintain a healthy relationship. EMC even won the 2008 Microsoft partner of the year award. Did this partnership trigger this move?

We have not heard anything from Greene or her husband on the turn of events and when they share their side of story (if they?) we would get more clarity. Eagerly waiting!

I would like to end my thoughts on a funny note. When such an event happens anyone can quickly refer to the following joke

Joke:
The new CEO is given three letters by his ousted predecessor, and told to open them in times of crisis. Six months later, when things are not falling in place, new leader opens the first letter which reads 'blame everything on your predecessor'. So he issues a press release denouncing the former director and disaster is averted.
The following six months brings more problems, so he reads the second letter which tells him to reorganize the company, and he promptly fires a lot of staff making shareholders happy again.

A year later analysts and press are still demanding his blood, so he opens the last letter and reads 'time to write out three letters'.

Business requirement specification document?

Following question was raised in one of the forums on LinkedIn.

What do you expect to see in a business requirement specification document?

Here is what my reply was:
As per the 2003 metagroup report (later on metagroup was acquired by Gartner), 60-70% of the projects fail because of poor requirement gathering. In other words these projects fail because the Business requirement specification documents do not describe what they are supposed to. Or may be this is what happens
- SRS is written the way customer described the requirement
- Project manager reads this document and understands it in his own way
- Architects take inputs from project manager and SRS document and design it in their own way
- Programmer takes the design documents as inputs and program it in their own way

At all the above mentioned stages humans are involved!

Humans involved?
Two different people would understand and interpret a document in a different manner. This happens to requirement specification documents and therefore to software being developed rarely meets customer’s need.

Keep in mind that the customer does not want software. Customer needs a system which would help him in solving a business problem. It is always hard to articulate on paper what type of software would help customer.

More statistics – On an average 20% of the features described in SRS document would carry more than 80% of business value. Why not work on these 20% features first? How to come to know about those features? Would customer involvement help?

In most of the cases customers too do not know what they want. But because they have only one chance to mention (through SRS), they would write about everything which might be helpful even if not mandatory. Most of these features are nice to have but not must have.

Most of the time, when we look at SRS document, it looks like these requirements are fixed, while should not be so… Requirements evolve with time and there SRS document should not be written in blood.

Customer collaboration?
For me, the more than SRS document, involvement of customer (or customer representative) is important who can really keep a check on whatever is being developed is usable. This involvement should be from the beginning because changes at a later stage are difficult to absorb.

It is better to have SRS document having clarity of user stories which can be evolved by the continuous involvement of product owner. On high level, product owner would be responsible for the following:

- He would be the voice of the customer
- He would describe, prioritize and refine the requirements continuously
- He would be with the team and would ensure that the development team understands his (or customer’s) needs
- He would be responsible for the ROI and release plan

Opps, I gave the discussion a totally different direction but I thought to mention what came to my mind.
Vikas Hazrati , who is an active figure in Agile community in india, has come up with his thoughts on the effectiveness of seminars and webinars conducted to create Agile awareness. Please read his views at http://vikashazrati.wordpress.com/2008/07/12/spreading-agile-awareness/

Here is my point of view:
I agree with Vikas's thoughts. Whatever awareness we can create by conducting seminars and workshops would reach mostly to “decision followers” and to some extent to “decision influencers”.

But situation is not as bad. “Decision makers” are well aware with the fact that Agile is need of the hour. These days’ Venture capital firms are hesitant to invest in firms not using agile development. Decision makes are facing this fundamental change and are working towards that.

Agile is a revolution (revolution?) and mass public has to play a significant role for the success of it. A grassroots movement, motivated by these seminars and workshops, is required to increase the agile awareness level. I believe that not more than 20% of software world is aware of agile methodology at present.

As it happens with every good change, people first embrace the easiest part of it. The organizations (which started to follow agile) have gone through the agile methodology and started using it in parts. Therefore they do struggle and not able to see the real value behind it.

These seminars and workshops would ensure that the grass root level is very much aware of Agile methodology and would help in embracing methodology in its full form.

On using word revolution:
For me Agile is a revolution against those practices or rules which ensured that companies deliver what is written in requirement specification document but rarely delivered what customer actually wanted.