Saturday, April 23, 2016

Privacy and Ethics in the digital world

Social media sites process millions of photos and videos every day. CCTV cameras record a person’s movement the moment he leaves the door. Personal information is no more personal in the digital world. Its interesting and sometimes alarming to see how the personal information is handled by digital companies. Local Tabloid had a column recently on how the consumers are vulnerable to exploitation because of unethical practices followed by certain websites. Some specific cases are such as the sites inflate the price of a product or service based on customer’s demographics and financial status by tapping in the location information. Few online travel portals show a false demand by projecting few seats and urge user to book quickly. Ability to lift a website up the search rank and pull down the competitor’s without necessarily improving the product features or service quality is possible through digital marketing tools.


Strong ethical practices accompanied by a careful access to user information without compromising the privacy, remains the significant challenge to be managed by the digital companies. Its is critically important for the concerned watchdogs to gear up and control the breaches. Software knows more about the individual than by his family, to the extent more than what the individual knows about himself, a possibility through analytics.

Tuesday, March 8, 2016

DevOps readiness

‘DevOps’ (note: no gap between Dev and Ops) is as exciting as a T20 cricket format compared to a Test match. In the immensely competitive and innovative software industry, DevOps is certainly a buzz word to understand. Before an IT organization invests in DevOps practice, below are the key questions for self assessment, in order to mark a successful entry into the continuous IT delivery.


  1. Are there really walls between Dev, QA and Ops teams in the organization and Why? People do not collaborate among themselves? Processes does not communicate to each other? Tools does not integrate between them?
  2. Does your business has enough appetite to consume the agility you intend to produce? What does your customer want? Do they want 10 deployments/day? Will they be confused on the pace of change?
  3. Are the current IT, QA and Operational processes repeatable and optimised to the maximum in their respective engineering functions? Are they ready for synergy between them?
  4. High quality and Faster time to market are trade offs and requires maturity over a period of time to balance the value. Do you really want to deliver software faster by taking a risk on quality? What does poor quality means in your business?
  5. How complex is your IT delivery team structure? If they are geo dispersed and multi vendor based then there are enough challenges to optimize and warrants current state maturity first, for engineering process optimisation.
  6. How mature is the organization's automation maturity? Is it scalable and robust? What is the organization’s tool strategy? Decision making and tool selection to implementation quick enough?
  7. What is the current feedback cycle from Ops back to Dev? DevOps will not define one, but can accelerate.
  8. What is the current level of Dev quality evidenced in the organization? Poorer the quality, more time needs to be spent in improving the core IT engineering processes before joining the DevOps movement.

Sunday, February 28, 2016

Preparing for the 4th Industrial revolution - going Digital

In the recently concluded World Economic Forum - Davos 2016, one of the top subscribed panel discussions was on Digital Transformation of Industries. Large and old companies started thinking deep on digital transformation. How companies need to build trust with its employees, partners and customers in on boarding them into the digital journey, will be the key driver for the 4th industrial revolution, the Digital one.


Below given are key Enablers for digital transformation, which will form the theme for companies to lay out a plan and join the digital revolution.

  1. Orchestration of departments by focusing on value chain with user in epicentre through increased collaboration between staff, customers and partners. Digital is not a separate department by itself, rather each department should think digital in improving the customer and partner experience.
  2. Careful selection of technology platforms to support integration of solutions across the supply chain. Technology should not be the bottleneck in bringing speed to the business, speed - the new currency of business that differentiates from competitors.
  3. Intuitive mindset within company, across all levels of staff and leaders to convert the data (abundant!) to a meaningful information to a pattern that can be translated to a business case to provide better services/products to the customers and generate revenue or optimise cost.
  4. Selecting and promoting disruptive initiatives yet stick to core business purpose of the company. In the digital roadmap, mismanagement of initiatives will only create unrecoverable losses to the company reputations.
  5. Be informed on the well informed customer. Digital customer is getting smarter day by day. If the companies are failing to be smarter on where the customer is heading to, they fail.
  6. Balancing the resources to transform current business processes to digital roadmap and keep investing budget to identify new channels/opportunities is key.
  7. Providing safety and security around digital platforms through digital assurance in order to build partners and customers adequate trust, to gain the best in class experience, a result of digital transformation.

Saturday, February 6, 2016

Digital Assurance - The future is Now

“Business is exposed to exponentially increasing global market”

World internet usage was less than 1% in 1995. Today, around 40% of the world population has access to internet. A billion user base increase from 2010 and 2014 only. Developed countries such as United States, United Kingdom, Japan and France has more than 85% of the population with Internet. While we reach a state sooner where every other human being will be in internet, the digital world becomes more prominent. With the transparency in internet system and globalization evident, a business can reach out to half of the world population just by being in the internet, at least technically possible keeping aside policies.


“New businesses and Entrepreneurship culture fuelling digital growth” 

Thomas Friedman in his ground breaking book ‘The World is Flat’ has well explained why developing countries has an edge over developed countries in embracing technology. Put it simply, a developed country has to follow upgrades to their technology which is complex and thus costlier than a developing country directly picking a technology. For instance, it was easy for India population to go for mobile phones as most of them were first time users while developed world has to convert their telephone lines to mobile users. A need for unlearning arise. This applies to companies those run on legacy and complex software systems as supposed to the new generation companies getting into the digital world. With less and less of capital cost through Social media and Virtualization, starting a digitally aligned business is possible in couple of hours where as it takes a transformation journey for a brick and mortar company to thrive.


“Digital is in every department, gone are the EDP days”

In 1980’s computer was in clean room and constrained to specialist EDP departments. Gone are those days and industry recognizes the shift where every department in a company is thinking of a digital strategy. Travel companies spend millions for paid search, Celebrities rely more on twitter handles than personal PROs, Marketing departments hire email marketers, Sales teams buy enterprise products, Warehouse linking to a logistics aggregator, Universities distribute laptops, e-Books outsells hand cover books. We have seen how digital strategy in political campaigns played its pivotal role. Digital value chain is unlimited and going strong.

“Keeping pace with digital speed and agility”

Though more businesses are exposed to global users and easy to go digital, it is abundantly clear that the expectation of the digital customer too is increasing. Business demands agility in keeping the products, service and customer satisfaction to world class. Retaining a digital customer and building a brand image across multiple channels yet stay ahead of global competition is the top corporate challenge and requires frequent changes to the way companies run the business. Robust software processes, suitable technologies and round the clock operating model is required. Decisions have to be quick, IT change has to be agile and studying consumer behaviour has to be real time and what not.



“Test the software for Anything - Anytime - Anywhere IT solutions”

While software testing by itself is an assurance function, unless a robust digital vision and strategy exists for an organization, a digital QA strategy is a vehicle without a driver. However, reducing time to market and bringing agility in software testing should be cared. Breaking conventional thinking of testing against the requirements and adapting to the software release process that is of desired agility is essential. Testers with technical skills around Social, Mobile, Analytics, Cloud and the Internet of Things will makes him relevant in the digital world. Tester’s understanding of the product from consumer and business point of view is required. Analytics on user behaviour and user experience, studying his pain points would help assure the quality by keeping user at the centre of test strategy.

Ever growing user channels built to consume a product or service and the ability for the company to stay robust in placing the product or service without confusing the customer and slicing the brand equity will keep a company live in the digital age. We will no longer search for products or services, they will find us in this digital world. Companies failing to leverage the digital graph will only be squashed by it, so is the Tester.

Thursday, January 28, 2016

Simple checkpoints for a Test Manager to self assess cost of quality, am I betting too much or too low?

Cost of quality is relative. There is no high or low cost of quality as it completely depends on project to project. However, there are few simple checkpoints which you can ask yourself to gauge where you stand, in delivering quality assurance through testing.
  1. Study your project plan for critical path. Understand those testing tasks occupying the critical path. More it is on critical path, more will be the case that cost of quality will be higher.
  2. Understand stakeholders involved in the project. It will help you understand their views on quality, their risk appetite. Lesser their understanding of quality and lesser their risk appetite, more will be the cost of quality.
  3. Understand your operating model - have you put your best model and team to action? Lesser the operating levers being invoked, more will be the cost of quality.
  4. Understand the system that is getting built. Less it is critical, less will be the cost of poor quality.
  5. Understand the delivery processes. Less it is stable and mature, more will be the cost of quality in controlling the processes.
  6. Study the history of past failures and look for a prevention plan. More the past failures and no prevention plan, higher will be the cost of quality through failure costs.
  7. Understand the tools landscape. More your team is equipped with right tools, less will be the cost of quality.
  8. Understand the project governance. Poorer the governance, more will be the cost leaks.

Saturday, January 23, 2016

Cloud Testing - a Hype?

Those were the 1990s, the time of internet penetration when people were hesitant to give DOB and gender in their mail account profiles. We have come a long way. With social media in picture, a lot of private information is sensibly posted for public views by the millennials in the world of increasingly insecure technology. Software is getting into a similar transformation through cloud computing. Companies are no more looking into in house capabilities for running IT shop in a tighter security mindset. Serious thinking to leverage external computing power beyond their data centre walls is going on in every IT Strategy discussion. Cloud computing is evolving into a normal. Let us look at what it means to software testing world in brief.


Cloud testing is the broad word used across the testing community and the exact definition of what it is, is notably absent or least explained. While the definition of Cloud computing itself is of much debate and doesn't seem to add up, let us look at how a test manager need to adapt himself into the new realm. Utilising a public or private infrastructure in hosting a software, run a platform or the environment as an on demand / pay as you go basis is Cloud computing. When it comes to Cloud Testing, it would primarily mean any of the below and more.


  • Testing a product that is built as SaaS (Software as a Service)
  • Testing a product that is developed and released in a PaaS (Platform as a Service)
  • Testing a product to be hosted in IaaS (Infrastructure as a Service)
  • Testing an in house product in cloud hosted test environments (non production IaaS)
  • Migration of an in house product into XaaS (X implies a Software, Platform or Infrastructure)
  • Migration of software/platform/Infrastructure from one Cloud service provider to another
  • Integration of an in house software into cloud hosted business services
  • Testing Cloud Management products


Perhaps nothing much changes for the tester, as the requirements, design and environment usage will consider and factor in cloud specifics any ways. System testing could be a straightforward way to deal with, like how a functional tester does not bother if the code is in Java or .Net as long as the software speaks for the business requirements. That said, there are some additional dimensions the testing community has to think through.


Performance testing - while the infrastructure is scalable in Cloud, but note that it's only on demand or what has been subscribed for. The service provider may only allocate what is signed for. The real advantage could not necessarily the scalability but the ability to scale up in short time. As a testing team, challenging the NFRs and testing against the same to rightly size the capacity with Cloud service provider along with anticipated capacity to invoke on demand is required.


Security and compliance Testing -  Testing team should have a good hold on the security related NFRs. With access to the Cloud service provider contract clauses, it is essential to inspect the same for NFRs. Can the production data reside in another country where the service provider data centre is? Who (from Cloud service provider) has access to the production sensitive data? Is it compliant by local law?

Operational Acceptance Testing -  How the requirements are addressing the availability, business continuity and maintainability elements of the software in Cloud?


Regression testing - how the upgrade and other software maintenance is going to happen post live? How the Cloud service provider is going to maintain / upgrade their capacities?


Test Management - How the efficient deployment schedules and high reliability of test environments are going to positively impact the test execution? While the test environment and release management gets optimised by reducing capex, shortening time to market and brings flexibility it may not directly influence the testing and if so, senior management has to be rightly managed for expectations.


Good news is that cloud computing is not as disruptive to testing community as it is for Dev or Infrastructure teams. The test philosophy remains the same. While it's easy for new companies to directly jump into cloud solutions, it's bleak enough for existing companies to decide and migrate/integrate their legacy systems into cloud. However, they may be forced to do so with more and more enterprise software getting into IT strategy and the providers offer lucrative on demand cloud solutions, at least the IT industry ostensibly appears to point to this direction.

Tuesday, January 19, 2016

Shift left or right?

Most of the test managers are familiar with implementing 'Shift left' approaches in Test Strategy to deliver upfront quality. Typical ways of doing shift left is to apply inspection techniques in reviewing the requirements and design artifacts, doing white box testing along with development while the components are getting developed etc. Shift left approach brings in early time to market by pulling the test schedule to the left and so is the value addition by identifying defects as early as possible there by reducing the cost of quality.

Test Managers need to be conscious of what to test late in the game, it is 'Shifting Right'. In particular, when it comes to regression testing of certain common/shared components, it makes sense to test as late as possible to ensure the code that goes live is regressed against the latest merged code base. In case of non functional testing, its better to do the soak tests as late as possible. Striking the right balance on what to test early and what to test late elevates an ordinary test manager into a master test strategist.