Advertisment

Hype, Hope, and Future

author-image
DQI Bureau
New Update

During the last two decades, enterprises have observed significant changes in

the software development landscape. The industry has grown from legacy-based

systems to Web-based systems that connect multiple applications spread across

geographies. Demand for accountability, new regulations for compliances, global

competition, and increasing customer expectations for consistency, and

seamlessly integrated products have raised the overall bar on efficiency.

Advertisment

The organizations IT teams and vendors are constantly challenged to develop

products and solutions that help businesses in better product development

planning, improving key product performance parameters, designing

differentiators, reducing failure rates, and increasing efficiencies.

Traditional solutions advocate reuse of organizational assets to improve

productivity. However, this approach suffers from limitations, and over a period

of time fails to meet stakeholder expectations.

Fortunately, our traditional manufacturing industries provide us with a

solution to overcome this problem. They implement what is called platforming

to achieve reduced time to market (TTM), reduced field defect rates, and

increased efficiencies. Of late, IT organizations and vendors have realized the

benefit and applicability of platforming and are attempting to implement this

in software development.

Advertisment

Software testing is a relatively unexploited area of IT for productivity

improvement. A software platforming approach is an ideal way of addressing the

need to create solutions that are agile, help reduce redundancy, are scalable,

and can maximize return on investment (RoI).

This article defines platforming as applicable to software testing,

elaborates on the need, defines a conceptual framework for platform

implementation, and identifies test processes where platforming makes sense. It

also elaborates on challenges faced during platform implementation from a

software testing perspective.

The Need for Platforming



In his book, Product Strategy for High-Technology Companies, Michael McGrath

states: A product platform is not a product. It is a collection of the common

elements, especially the underlying core technology implemented across a range

of products. In their book, Product Design and Development, Ulrich and Eppinger

define platform as The collection of assets, including component designs,

shared by these products is called a product platform. Planning the product

platform involves managing a basic trade-off between distinctiveness and

commonality.

Advertisment

While platforming as a concept has been well defined, implemented and proved

beneficial in the manufacturing sector, organizations in the software industry

are yet to derive similar benefits. Compared to other mature industries, the

software industry has historically suffered from and continues to suffer from

egregious inefficiencies, cost overruns, and late product releases.

Common objectives between the manufacturing and software industries (for

example, the need for reducing total cost of ownership (TCO), time to market (TTM),

and increasing ROI) create the need to understand and implement platforming in

the software industry. While software development has set precedence in

designing and creating platforming-based solutions, software testing as a

discipline is yet to embrace this approach. Software testing organizations that

consider platforming as an integral part of their overall strategy derive

benefits that outweigh the costs.

Advertisment

Since test organizations design and create test assets one at a time (also

called a development in the silos), the focus on individual customers and

products often results in a failure to embrace commonality, compatibility,

standardization, or modularization among different test assets. In effect,

rarely does the full spectrum of test assets get reviewed at one time to ensure

it is optimal for the business. The end result is mushrooming or diversification

of test assets with proliferating variety and effectiveness.

Platforming for software testing is based on a simple mantra: Create

organizational test assets once, and utilize them multiple times. This

methodology enables organizations to create custom-built core platform on top of

existing infrastructure. Such organization-specific platforms (OSPs) encapsulate

the software test assets that can be leveraged across business initiatives and

product lines. Evolution of test organizations toward OSPs results in a decrease

in planning, designing, execution, and reporting time of the test. This leads to

increase in business benefits such as agility, flexibility, rationalization, and

economies of scale.

Advertisment

Concerns



While the need for and benefits of platforming in software development are

well known and implemented as part of the OSPs, software testing in general has

not been receptive to this concept. Some common concerns expressed against

adopting platforming in software testing are listed below:

  • Platforming is related to technology, testing teams in general dont need

    to worry about technology (they need to worry about domain)
  • Platforming is the responsibility of enterprise architecture groups (EAG)
  • More than 80% of testing is manual in nature, and hence platforming is not

    applicable
  • Nature of deliverables (test plans, test cases, and defect reports) are

    application specific, hence cannot be reused across platforms of applications

A cursory look at the arguments makes one feel that platforming is not

applicable to software testing. However, further probing makes it evident that

the need for platforming of software testing is hidden in the argument against

platforming. One way to make a case for platforming software testing is by

looking at a software product line that is platformed and compare it with a

testing solution built on the platforming concept.

Advertisment

Adopting a similar approach, test organizations can create structured layers

that will enable testing teams to achieve consistency, better test coverage and

shorten time to test. If we consider these capabilities, a software-testing

platform would typically consist of decomposed layers of test assets. It would

include a clear segregation between organizational test assets that can be

reused across domains and applications, domain specific assets that can be used

across applications in the domain and assets that are specific to the

application under test.

When planning to test an application, availability of reusable test assets

results in significant reduction of test time. Further availability of such an

organized test platform removes the need to staff projects with experts, thus,

resulting in a low cost testing team with expert capabilities.

Advertisment

With this capability in place, testing organizations can further develop

their effectiveness by creating frameworks for achieving further efficiencies.

Such frameworks are built on top of existing software testing platforms.

Organizational Challenges



As with any initiative, organizations considering platforming can face

challenges. Even when an appropriate methodology is used and the platform focus

is used, implementation is generally met with resistance. This could be due to

inherent fear of failure or due to the need to work outside the comfort zone.

Lack of strategic importance, political environment in the organization, and

senior management support can also contribute to this resistance.

From a strategic perspective, platforming is sometimes not valued as much as

it should. Alternatively, platforming could mean different things to different

teams, resulting in each team implementing its own version of platforming. Only

when a broad and consistent definition of platforming is established, and all

aspects of platforming are taken into consideration, can the full benefit of

such strategy be recouped. From a political perspective, balancing interests of

different stakeholders (project/product managers, customers, marketing,

development and testing teams) can become a Herculean task that hinders

implementation of platforming. To align the interests of different stakeholders,

senior management needs to create metrics that properly measure each groups

contribution to the success of platforming initiative. Also, decision-making

processes need to be established and rolled out so that departmental differences

can be resolved in a manner that maximizes the companys bottom-line.

Risks Involved



While the benefits of effectively implementing platforming are evident

(reduced cost, greater productivity, better test coverage and reduction in time

to time), it has its own drawbacks. Test organizations implementing platforming

should be aware of the risks of over platforming and devise effective means to

overcome the culture of over platforming.

There are tangible benefits of platforming software testing (reduction in

time to test, reduced defect rates, greater test capability, increased test

coverage, etc). These benefits are real and can equip testing organizations the

strategic capabilities to meet the needs of multiple stakeholders. However,

aggressive platforming tends to remove the flexibility of the test organization

and can convert it into a rigid organization. This will result in poor quality

of testing solutions and finally lead to losing customers. Test organizations

implementing platforming should monitor the level of platforming and pay

attention to development capabilities in key areas. Keeping a watch on the

market trend and enabling the test organization to identify and adopt changes

will make platforming more successful.

If required, organizations should be ready to discard outdated platforming

and come up with new platforms that are more relevant to the changing

situations. Finally, platforming software testing needs commitment and support

from senior management.

Paresh Shrivastava,



LRV Ramana, Gerold Rajesh Srivastava is director, QA, while LRV Ramana and
Gerold Rajesh are senior managers, QA at Virtusa



maildqindia@cybermedia.co.in

Advertisment