Saturday, December 29, 2012

Book Review: How We Test Software at Microsoft



ISBN: 9780735624252
Authors: Alan Page, Ken Johnston and Bj Rollison
 
The book provides an interesting vantage point on Microsoft's software development and testing methodologies. In addition to providing insightful understanding of the Testing methods and techniques; it throws light into the tools and practices which helps worlds one of the largest software engineering company to deal with the challenges of the quality across 100+ software product groups.
 
Some interesting facets were a story on how Microsoft stress tested the 'USB array' for the Windows 200 launch and then insightful story on the Halo 2 beta trials and how instrumentation helped calibrating the gamer experience appropriately.
 
Purely from a test technique point of view I thought the Equivalence Class Partitioning and Boundary Value Analysis gave a well explained example of how to conduct a good analysis and thus a good test design.
 
Even if you are familiar with Test techniques and testing practices its still useful for a good quick read to get a view on challenges at Microsoft.
 
 

Best Practices for New Test Organisations


 
10 best practices for new test organisations

Best practice document on the Test Assurance priorities in new organisations such as technology start-ups, small organisations and even in new programme initiatives to the deliver a predictable customer experience that will create market differentiation and result in continued business viability.



1.    Assess the test maturity & Develop of a test maturity roadmap

To cope up with your growing IT needs you need a good test organisation which will expand and mature with those needs. Therefore the first principle of best practice is same as start point of any other business improvements – as assessment of your test organisations maturity level. It is advised to use industry accepted standards such as TMMi or CTP. Essentially you are trying to explain a realistic view of where you are [however bad it is]. Then a time scale of getting to various milestones in the industry growth model. Nothing works in isolation so it goes without saying that you need a mapping to your business plans and investment availability. This is your signed off plan with your senior management, so you have the executive sponsorship and support in this journey.

“If you're relentlessly focused on lowering cost, you'll quickly become oblivious to opportunities to increase value.” Michael Bolton on Twitter.

2.    Develop a set of improvement metric

Once you have a plan in place you need to devise a few measures which you can use to articulate month by month [sprint by sprint in Agile world] progress of your test organisations’ capabilities. The simpler the metrics the better it is. We are not inventing mason particle here. We don’t need trunks of data. Simple measures which is appropriately contextualized for its accuracy, that is what we should be looking for. We don’t want to be slaves of our own makings. All we need is a medium to communicate.

“Storytelling strikes me as a more powerful tool than quantification or measurement for what we do“, Mr Alan Cooper, on Twitter

3.    Communicate the strategic nature of initiatives AND responsible/accountable

You need that ‘here we come’ email at some point in time to communicate the initiatives and how important they are to business plans. It doesn’t matter its stating the obvious and perhaps you tell people what they already know. This is the essential marketing campaign you need, to get the new test organisation going. The new team, the sponsors and what they are going to do in the next few months should be clear. It is important that it comes from one of your C-levels. Get the initiatives into the news letters at organizational level. Sprinkle the bits and pieces in all possible channels. The communication on who is responsible / accountable is more from a motivational and recognition standpoint rather than pin pointing someone’s responsibilities. It is the recognitions and accolades which makes the difference for your employees. We want to see our test owners inspired by the goals we set, and that inspiration comes from recognition of their efforts. 

It’s more important to have the right people involved than it is to follow the process exactly right – Rex Black

4.    Develop an integrated test approach [Organisation Test Policy]

Test Policy! Ask mature test organisations for this document and they will scramble around to get one and are more likely to say its somewhere in the attic and will get you when Santa is in the town next time. But that doesn’t mean that those organisations didn’t have one such document when they started. Its just that the processes and basic remits have formed the part of organisational collective memory and common understanding. In the new organisations we still need to create and cross reference it with various other policy documents such Release Processes and System Development Approaches. We have used the term integrated test approach to allude to the fact that you would need to articulate your approach to testing the service and customer development life cycle [acquisition to retirement; base to toppings; inclination for use to billing; validation to readiness]. This will cut across various test types and levels. The methodologies and standards to be followed put in place via this document. This document does is serving as a simple 10 pager for people to get a quick view of test assurance blueprint.

“The amount of formatting and verbosity applied to a test plan is inversely proportional to the amount of actual good testing represented by such plan.”, David Gilbert on his blog.

5.    Obliterate QA managers and Test managers; reincarnate them to Business Test Assurance Managers

Test organisations do not exist for themselves; they are part of the wider business case. If business can’t offer a good service or bring the services to market in time to differentiate from competition; there is no continuity for the business. In that wider context, the attitudes at the test organisations need to be aligned to that of Business Assurance Managers. This means that the test management needs to understand and be incorporated into the communications and business plan updates which is ongoing at the management level. Test managers can’t [Oops! Business Test Assurance managers] be the sensitive and support like people when they do not know the relevance and detail of the initiatives.

“If you're gonna manage testers or any highly cognitive work, then you need to participate in the work.” Interview with James Bach

6.    Envision a Test Tools Infrastructure and roadmap

This is quiet an obvious one. Test tools are required and none makes explicit case for them. The emphasis here is on the getting a holistic approach in place rather than evolving the tools landscape over a period of time by trial and error. A single, holistic, centralized test tools approach helps the tools with best functional coverage being selected [and avoiding investing on multiple tools with similar capabilities]. Think also in terms of the need for projecting the costs of building and maintaining a tools landscape which can be substantial for new organisations. Rather than piecemeal investment proposals to be submitted every quarter; a start proposal would be beneficial for management.

 

Test Tools seldom comes as direct pluggable components. They will require process changes to the way teams function. It will be particularly useful to have the tools with test process impact to be zeroed in first and implemented so that the later flux on changing the processes is reduced.

“(pure) ~Scripted and ~exploratory tests are two ARTIFICIAL ends of testing continuum. In real life I am doing neither. I just do testing.“, by Vipul Kocher on Twitter.

7.    Invest in a solid test automation approach 

Automation is not limited to testing alone, it forms integral part of the development approach in the form of unit test automation, code build, code deployment and configuration management. In the context of testing it refers to the element of testing you can automate so the manual test effort is reduced and the organisation has the flexibility to run them as and when needed. There are a whole suite of areas which can be automated for example; data comparators, functional testing, performance testing, device testing, security testing and so on. Automation is equivalent to a systems development in itself. It needs an investment in tools, frame work, specialists and automation effort itself. It needs to stay relevant to the build being tested therefore needs maintenance as well. We need a business case to be built to ensure ongoing executive sponsorship. It would be apparent that as the test needs grow the test organisation will not scale up without effective automation

“When it comes to automation - Under Commit and Over Deliver” – Anonymous.

8.    Develop a training Plan for your Test Engineers

New organisations need to ensure that they develop and support the training needs of employees in general, not just Test Organisations. An adequate and well laid out training plan will keep your test engineers focused on their jobs and enhance their speed of professional growth. In general a growing organisation is also one which learns or vice versa. Not just learn; but as well share the learning. Just to keep this simple you need an emphasis on the certifications and industry benchmarking for your work force. It should be rewarded; it should be recognized; to increase the overall employee loyalty and happiness.

“... we have as many testers as we have developers. And testers spend all their time testing, and developers spend half their time testing. We're more of a testing, a quality software organization than we're a software organization.”

 Bill Gates on trustworthy computing (Information Week, May 2002)

9.    Research & Develop a set of Test Libraries and Risk Weights associated

Surprisingly to our understanding the functionalities various businesses develop are lot similar. The way a mobile application or game will work has a lot of common functional elements regardless of the end use or business application. Similarly, there is lot in common for wireless devices regardless of the type of bandwidth or communication technology used. This is the starting point for the test libraries. Its beneficial to pro-actively look for sources of such libraries and start weighing the relevance to your application landscape. This is not to put the ownership of gathering business requirements onto test designers and test engineers, but to engage in understanding a variety of common usage situations for your applications or devices. The benefits are multifold; primary one is speeding up the maturity of your product in the market. We need to avoid or reduce the constant field reporting of functionality failings and ensuing panic. It goes without saying that the library built needs a good understanding of the impact of the failure should such scenarios occur, so Business Test Assurance Managers know that the potential fall out of not executing them and thus leads into the point on Risk Weights.

“In risk based testing, it's more important to have the right people involved than it is to follow the process exactly right.“, Rex Black

10. Develop an accounting token for every test activity to understand the cost of quality

Finally, testing needs is a business as much as an IT function. To be reckoned you need to ingrain the cost of the testing into your plans and projections. The token could be something as sophisticated as test point or man hours or man days. Test point token is preferred because it abstracts the relative value of each activity in test function and helps translating the financial cost of the testing at an appropriate management level. The token may not be optimal to start with; it will need calibration over few releases to get to a reliable measure of the cost. Once established it starts telling you where the test investments should go based on the complexity and business criticality of the function. More importantly every time management approves a testing budget its apparent what will be delivered at the cost. Certainly the method of adding up the test engineers and few other overheads is not an appropriate solution. At some point organisations think of what needs to be done in house and what needs to be outsourced and at such decision points a measure of test cost relating to the type and volume will be invaluable as well.

“If you don’t care about quality, you can meet any other requirement” – Gerald M. Weinberg

 

Tuesday, October 11, 2011

India's IT Policy & Telecom Policy - 2011

Communication and IT miniser Mr. Kapil Sibal has released 2 key policy documents in a span of 3 days. The vision and intent has far reaching impact on the high tech industry and economic growth in general. It could also be considered as UPA governments desperate attempt to over come the scandal taints its suffering from.

The last significant document on telecom came out in 1999 in the form of National telecom Policy of 1999 which opened up the circle level spectrum auction mechanism and technology priroties around GSM and also the foreign direct investment related directives. What followed was nothing but a revolution in India's communication sector, taking the telecom density from 2% to roughly 50% today. This policy at least in intent is similar. I cant see the elements of the plan in it - only a vision. But so far so good.

IT Policy-2011

I captured 2 major initiatives apart from the usual bits on e-governance and SME investments

India's IT service professional pool from current 2.5 million to 10 million by 2020!!
India's IT & ITES industry revenue to triple from current $88 Billion to $300 Billion
At least one e-literate indian in each household (we dont have one literate indian at each home save the e-literate part, but this is vision)

Telecom Policy-2011

In line with a demanding industry and direct competition from countries like China this document have evolved a much more strategic. It doesnt sounds as muc sound bytes as the above one.

Broadband Penetration

1. The new policy has set a traget of 175 million broadband connections by 2017 and 600 million connections by 2020.
2. It has also revised broadband download speed from 256 Kbps to 512 Kbps and subsequently to 2 Mbps by 2015.
3. Even broadband connectivity to all 2.5 lakh village panchayats through optical fiber cable has been extended from 2012 (as per government of India's Bharat Nirman Program) to 2014.
4. The rual teledensity is planned to increase from 35 to 60 by 2017 and 100 by 2020.
5. IPV4 to IPV6 migraiton by 2020 in India

Boost for Manufacturing of Telecom Equipments and User Devices

1. The draft policy on manufacturing aims to meet 80 percent of Indian telecom sector demand through domestic manufacturing with a value addition of 65 percent by the year 2020.
2. Plans are to also create a corpus fund for promoting indigenous R&D, intellectual property right (IPR), and entrepreneurship.
3. Telecom Finance Corporation as a vehicle to mobilize and channelize financing for telecom projects in order to facilitate investment in the telecom sector.

Spectrum & Licensing

1. the government has made available additional 300 MHz spectrum for IMT services by the year 2017 and another 200 MHz by 2020.
2. Overall to bring a roadmap for spectrum releases, spectrum trading, spectrum usage efficiencies. Acknowledgement that this is the critical resources in government hands
3. "One Nation, One license" across service and service areas.
4. The policy also talks about making Roaming free.
5. The concept of full mobile number portability is also taking shape in the draft policy.

Other interesting clauses

1. undertaking legislative measures to bring disputes between telecom consumers and service providers within the jurisdiction of consumer forums and consumer protection act.
2. Deploying cloud computing technology, the government is identifying areas where existing regulations may impose unnecessary burden and is planning to take consequential remedial steps for propelling India to emerge as a global leader in the development and provision of cloud services which will help in benefiting enterprises (including central and state governments) and consumer
3. The emergence of new service formats such as Machine-to-Machine (M2M) communications (e.g. remotely operated irrigation pumps, smart grid etc.) represent tremendous opportunities, especially as their roll-out becomes more widespread.

MVNO, NRP, MVNE - Telecom value chain

Some key terminologies in the telecom value chain space


- MVNO`s - a mobile operator that does not own its own spectrum and usually does not have its own network infrastructure. The Partner will have a business arrangement with Three to buy minutes for sale to their own customers.

- NRP - National Roaming Partner: normally have a network that includes a range of MSISDN`s and IMSI`s to connect customers. The National Roaming Partner would normally have a number of business arrangements with traditional mobile operators to allow customers to roam, and buy minutes for sale to their customers.

- MVNE - A Mobile Virtual Network Enabler is a company that provides services to mobile virtual network operators, such as billing, network element provisioning, administration, operations, support of business support systems and operations support systems, and provision of back end network elements to enable provision of mobile network services like mobile phone connectivity. A MVNE does not have a relationship with end-user customers. The MVNE provides infrastructure and services to enable Mobile Virtual Network Operators (MVNOs) to offer services and have a relationship with end-user customers. MVNEs offer the ability for a MVNO to focus on their core strengths of brand, customer loyalty and marketing and leave the back-end enablement and operations, to MVNEs. They also have shared risk-reward arrangements with the MVNO with various kinds of revenue sharing models, usually tied to the number of subscribers that the MVNO has projected in their business plan.

Monday, October 10, 2011

Augere and LightSquared stories in affordable inclusive broadband

Sanjiv Ahuja, ex CEO of Orange PLC (his feat include growing orange from 40m customer base to 100m customer base in the last 4 years of his association. In the same time frame he also extended it to 23 countries up from 17 countries. Of which 14 countries were from Africa). No wonder he pursued his competency, experience and passion in similar direction. He is now incubating 2 major 3G/4G communication network companies globally.

Augere is wireless broadband provider in India, Pakistan, Rwanda and Bangladesh. Obviously with further plans to roll it out to third world coutries. He has purchased licenses at fraction of the metro level license costs in rural areas.

Lightsqaured is a extra terrestrial satellite network for providing broad band into rural areas.. particularly in south america, easter europe and south asia. SkyTerra Communications is acquired by Harbinger Capital Partners in 2010. Sanjiv Ahuja further is invited to become CEO and chairman of this initiative. The organisation is at various stages of getting approvals from FCC and European Communication Commission. This is not an entirely new concept. The differentiator is timing and also the fact that this is coming along with similar initiatives from the same group so there is always collaboration.

The universal need for broadband is one thing, but the business acumen to build founding markets in rural lands of Africa and Asia is another thing. they are cheap at the moment for picking, growth in next decade needs to come from this space etc. We will need to see how this story develops in next 2-3 years time frame.

Potentially Sanjiv has the reach and experience of running a multi national telco specifically in the same countries he is trying to set up rich broadband networks. He has the financial backing of the VCs. And above all timing. This should win :-)

Sunday, October 9, 2011

Middle Manager - The changing fortunes

Came across a term called Middle Manager (MM)- and instantly it sounded something as fundamental as 'Knowledge Worker' termed by Peter Drucker in 1990s and which paved way for a new era and people realising the significance of the change business was facing.

As per Collins dictionary; Middle Managers have been described as ‘executives or senior supervisory staff in charge of the detailed running of an organization or business and reporting to top management.

Why middle manager so important suddenly.. this was a role which was vulnerable to all the offshoring discussions, all the recession stories and eventually to younger generation who will do it at half the cost what the experienced middle manager will do stories?. It certainly wasnt a group which was positioned as powerful or seemed to be achieving bargaining power in todays market place.

Things seems to be changing. The arche-typal portrayal of middle managers as fathers struggling to keep up with the increasing costs of young family and ever threatened by prospects of losing his middle class jobs seems to be changing for a more favourable image. This is not just in developed countries, but also in the relatively under developed countries like india, philippines and Brazil.

The increasing outsourcing engagements require people who make the contractual terms and the financial commitments come to life day by day. The traditional jobs which deal with design / develop / implement of software systems needs to be changed to be more cross organisational engagement and most cases cross country to get it done outside organisation boundaries. The skills this situation demands can not be produced in factories or educational institutions. It needs to be gained out of experience in multi supplier environments, targeted training and coaching from senior management . Organisations are struggling to cope with the demand for this multi skilled robots with human minds.. they are so less to find and so difficult to train upon in quick time. MMs are storages of organisational experience (where you have outsourced competencies and retained the most distilled understanding), they are interfaces to the wide number of suppliers in the function they operate (need tact and discipline to engage them). They create relationship chemistry with suppliers and they also protect the organisation interests and obligations at the same time.

They need to be good at

Delivery competency sees the supplier providing a cost-effective, improved service performance against contractual terms and conditions and metrics.

Transformation competency is needed where a supplier has agreed to deliver radically improved services in terms of cost and quality.

Relationship competency is essential. A customer wants to engage the supplier‟s capacity and expects the supplier to align itself with the customer's values, goals and needs to support long-term, critical business direction and change.

Middle managers need to work with suppliers to ensure that the vision behind the outsourcing initiative comes true and business case potenital is reached. This demands middle mangers not just in clients but also suppliers. Both sides need to work in collaboration,understand the priority set by management and compromise / adapt on situation where conflicts exist. The bed rock of outsourcing engagement success are these fellas who takes management calls far from the 'top'
management especially on multi year deals.

Accroding to the paper published by Professor Leslie Willcocksis Professor of Technology Work and Globalization at London School of Economics and Political Science, the middle managers need to be capable of specialising in some areas and general skills in most areas. he organises them into 9 key areas,

1. Leader–identifies and delivers success. In practice, leadership is required at middle as well as top management levels because modern outsourcing is full of adaptive challenges requiring experiments, discoveries, adjustments and innovations from many different parts of the organizations involved.

2.Business manager –delivers in line with service agreements and business plans.

3.Domain expert –retains and applies professional knowledge. Needs experience and knowledge not just of call centre work, but also of the industrial sector e.g. insurance, and the specific client organization e.g. Allianz, Royal Insurance.

4. Behaviour manager –motivates and inspires people to deliver high-level service. Responsible for transitioning staff to the supplier and recruiting and retaining new staff.

5. Sourcing Specialist –accesses resources, for example technology, people, other suppliers as needed.

6. Process engineer –designs and incorporates improvements to client processes and procedures.

7. Technology exploiter –swiftly and effectively deploys new technology on the client‟s behalf.

8. Programme manager –delivers a series of interrelated projects.Customer developer –helps customers make informed decisions.Planner & contractor –delivers „win/win‟ results for customer and supplierOrganizational designer –designs and implements successful organizational arrangements.

9. Governance specialist –tracks and measures performance.

So many outsourcing deals dont realise the potential or original goals because of the human element that need to implement these changes and keep the origanisation gears meshing and moving. Look at the plethora of skills.. this is not just about a 'knowledge worker' and special expertise. Its more that we need the deal makers needed. I dont think lot of managers will be required, but so diverse are the skills market will always be ready to pay premium for them.

So com'on middle managers life is just changing for you, dont be so broody, just wake and spread your eyes its all opportunities everywhere :-)

The original paper from Leslie Willcock in the below link.

http://www.purplecowmedia.net/download-files/middle_manager_essay_1278944295.pdf.

Friday, October 7, 2011

Cognizant Tech Services Growth Story

Just look at the single statistics on growth in the past decade+ - A $100,000 investment in its IPO held through May 4, 2010 would be worth $10,298,202.60 for a compound annual return of 47.9%. (more than 100 times that is !!). An equal $100,000 investment in the S&P 500 over the same period would be worth $103,276.80 for a compound annual return of 0.30% (three-tenths of one percent). I wish I had subscribed to it. if indications are right, its still not too late to get invested in CTS.

How many Indian players would have the conviction to play on the margins to reinvest in the business.. while being a 'price' play CTS realised the importance building long term competencies.. which even after decades of existence several other Indian competitors are still hoping to build and some of them will find it ever harder to build.

First one is deep client relationships: the operating model is the 2 in 1 box principle which simply implies that each client will have 2 dedicated leads to reach out to - client account lead and delivery lead.. CTS made the priority on building the client relationship over short term margins. The client relationship is not left to the delivery manager or country sales director....its a role more than just sales.. now this is now further enhanced with sprinkling the consulting resources across the accounts, thus making the model to be 3 in 1 box model. The strong emphasise on the value add is perhaps picked up from the Accenture who has played the 'packaged' consulting services a key differentiator.

Second is the focus on few growing verticals and building strong expertise in those areas and thus fending off the competition. While this is always very familiar principle, so few people follow it. For example the Health vertical is the second biggest for CTS by revenue (first is finance). Not just that, it makes CTS the biggest player in this vertical, commendable achievement for CTS against much bigger players such as Accenture and IBM. In finance CTS possess good assets to the extent that deliverables are predone even before they go to the client. Credentials built so far are so specific to the client products and the process that CTS doesn struggle as much to break into new clients and areas.

Third would be the deep focus on partnership is the other key differentiators - Oracle, SAP, IBM, Microsoft - CTS has got privileged gold / premuim certifications and access to best in class support.Important for its 'go to' market strategies and client perception.

All this is possible because of its willingness or the 'strategic choice' to reinvest its profits back into the game. In an industry where 30%+ margins were norm, CTS decided to play with ~20% margin, leaving the remaining for price play if needed or strengthening of their onshore / account management organisations. This long term investment proven to be crtical in winning rates and thus the revenu growth.

As CTS look forward, its trying to spread forward into newer geographies (from too narrowed focus on North America). It has initited global delivery centers outside India. The key account management principle is further enhanced (its 30% of revenue comes from top 10 clients). The story still looks stronger for CTS, more on that as it comes by.