APAC CIOOutlook

Advertise

with us

  • Technologies
      • Artificial Intelligence
      • Big Data
      • Blockchain
      • Cloud
      • Digital Transformation
      • Internet of Things
      • Low Code No Code
      • MarTech
      • Mobile Application
      • Security
      • Software Testing
      • Wireless
  • Industries
      • E-Commerce
      • Education
      • Logistics
      • Retail
      • Supply Chain
      • Travel and Hospitality
  • Platforms
      • Microsoft
      • Salesforce
      • SAP
  • Solutions
      • Business Intelligence
      • Cognitive
      • Contact Center
      • CRM
      • Cyber Security
      • Data Center
      • Gamification
      • Procurement
      • Smart City
      • Workflow
  • Home
  • CXO Insights
  • CIO Views
  • Vendors
  • News
  • Conferences
  • Whitepapers
  • Newsletter
  • Awards
Apac
  • Artificial Intelligence

    Big Data

    Blockchain

    Cloud

    Digital Transformation

    Internet of Things

    Low Code No Code

    MarTech

    Mobile Application

    Security

    Software Testing

    Wireless

  • E-Commerce

    Education

    Logistics

    Retail

    Supply Chain

    Travel and Hospitality

  • Microsoft

    Salesforce

    SAP

  • Business Intelligence

    Cognitive

    Contact Center

    CRM

    Cyber Security

    Data Center

    Gamification

    Procurement

    Smart City

    Workflow

Menu
    • Full Stack Development
    • Cyber Security
    • Hotel Management
    • Workflow
    • E-Commerce
    • Business Intelligence
    • MORE
    #

    Apac CIOOutlook Weekly Brief

    ×

    Be first to read the latest tech news, Industry Leader's Insights, and CIO interviews of medium and large enterprises exclusively from Apac CIOOutlook

    Subscribe

    loading

    THANK YOU FOR SUBSCRIBING

    • Home
    Editor's Pick (1 - 4 of 8)
    left
    Modern Software Development Methodologies

    Kevin Glynn, VP and CIO, DSC Logistics

    A Virtual Path to Collaboration, Innovation and Agility: It's All About The End-user

    Martin Schneider, CIO, VF Corporation

    Go #Design First# to Hit Business Goals and Attract Talent

    Bjorn Bohme, Chief Technology Officer, ANZ for CTM

    The Role IT has to Play in the Ever-Changing World of Retail

    Oleg Leksin, Head of IT in Fix Price

    Robotics to Propel Productivity

    Todd Dickey, Engineering Coordinator, Honda Engineering, North America

    The Robots are Here! Behavioral Science, Innovation, and the Rise of Chatbots

    Charlotte Blank, Chief Behavioral Officer, Maritz

    The Changing Role of Software Testing in an Agile Environment

    Brad Boemmel, Director of Quality Assurance, Morningstar, Inc. [NASDAQ: MORN]

    A Step toward an Autonomous Future

    Radovan Miucic, Technical Fellow/Team Lead, Changan US R&D Center, Inc.

    right

    Quality Software Derived through Incremental Changes

    Niel Nickolaisen, CTO, O.C. Tanner

    Tweet
    content-image

    Niel Nickolaisen, CTO, O.C. Tanner

    1. How has your software testing operating model changed during the last five years? I started my career outside of IT and was something of a lean-manufacturing nerd before transitioning and becoming an IT nerd. One of my favorite mottos from lean manufacturing is: “I don’t take junk. I don’t make junk. I don’t pass junk along.” I recall this motto whenever I think about software testing because, for way too long, the attitude towards software testing was for software engineers to – unintentionally – take, make, or pass along junk (in the form of bugs) and then hope that someone else (usually the QA team) would find and fix the junk. There are a number of issues with this approach. First, any rework (and fixing mistakes is rework) is much worse than getting it right the first time. Second, the longer it takes to find and fix the bugs, the higher the cost and more negative the impact. Third, we improve our processes and practices if we have really short feedback loops and, for a software engineer, the feedback loop on the quality of the code is at least twice as long if that feedback comes from QA rather than from the software engineer. This is all prologue to what we have done over the past five years to improve our software testing model. Our new model is based on a couple of key ideas. First, software engineers are responsible for the quality of the code they write. That means they are also responsible for testing their own code (to keep the feedback loop short and the learning and improvement high). This leads to the second key idea—the QA team uses their expertise to define the processes and tools the software engineers will use to ensure quality code. The QA team sets up the automated testing tools, defines the unit and system testing standards and assists the software engineers as the software engineers are responsible to not take junk; not make junk and never pass along junk. 2. What do you think are the biggest challenges that technologists face in working in a more agile and outcomes based model? In my experience, the biggest challenges are those that come from changing attitudes, behaviors and practices around agile. For example, a couple of years ago a software company asked me to assess their agile development practices. They were not getting the results they needed. I spent a number of hours with the teams as we followed and mapped out their processes. They were using agile methods and breaking the work into time-boxed sprints.

    We embedded the QA teams in the software teams and had the QA members of the teams focus on the process and provide the engineers the tools they needed to test their own code

    In each sprint, the engineers wrote code, threw the code “over the wall” to the QA team and then worked on their next stories. The QA team did their testing but when they found bugs the engineers were doing other work that they did not want to interrupt by fixing the bugs and so the bugs tended to pool up. To resolve this issue, they fell into a cycle in which one sprint was used to create new code and another sprint to fix bugs from previous sprints—this not only lengthened the feedback loop between bug creation and bug fix (which also delayed the learning that happens with short feedback loops) but also resulted in a high level of churn from task switching. The engineers would have to recall the stories they were working on the past sprint, become familiar with the code and then think through the integration points. All of this took much more time and effort than integrating the coding and testing activities. Our solution was to do just that—integrate the process. We embedded the QA teams in the software teams and had the QA members of the teams focus on the process and provide the engineers the tools they needed to test their own code. We have taken a similar approach with our teams. We have integrated teams (software, QA, design and product management) and have placed a lot of emphasis on test automation so that it is simple and easy for the software engineers to test their own code, find their own bugs and fix their own code in near real-time. For this to work, we needed to shift from manual to automated testing and in order to be effective at automated testing, we had to have written test cases we could load into the testing tools. Early in our agile sprints, the QA members of the team assist by moving the test cases into the testing tools. This brings up one more potential issue. For portions of our legacy code, we do not have written test cases. That put us in the dilemma of wanting to use automated testing but not being willing to allocate large portions of the team to write test cases for hundreds of thousands of lines of code. In our case, we assessed our legacy code and identified large swaths of that code that we agreed we would never change. In effect, we built a fence around that code and declared it off limits except for vital, must-do changes. We did a comprehensive system test to make sure that the off-limits code was performant. As long as we do not make any changes to that legacy code we treat any tests of that code as being passed. We write test cases for any code we write around the legacy code and use automated testing tools for that and thus avoid having to stop work on everything else for months or years to write legacy test cases. 3. What set of skills do you think is required for the technology leaders to be successful in the new approach to software testing? I think more than skills in things like test automation, an IT leader today needs to have a desire to find and resolve root cause and a continuous improvement mindset. In my example above, the teams tried to solve the code quality problem by creating their testing-only sprints. However, they did not find and understand the root cause of the problem before implementing their solution. Thus, their solution did not make really make things better and only shifted things to a different problem. Getting to and resolving root cause requires understanding the entire process, defining the process goals and thinking through the cause / effect relationships among the process steps. Then, rather than trying to fix everything in one fell swoop, we identify the highest value process change, make that change, validate that it made things better and then move to the next improvement. In many cases, it has taken us lots of time to dig the software quality hole we are in. We should expect that it will take us time to dig back out.

    Weekly Brief

    loading
    ON THE DECK

    I agree We use cookies on this website to enhance your user experience. By clicking any link on this page you are giving your consent for us to set cookies. More info

    Read Also

    Cultivating a Sustainable Future through Collaboration

    Cultivating a Sustainable Future through Collaboration

    Jiunn Shih, Chief Marketing, Innovation & Sustainability Officer, Zespri International
    Mastering Digital Marketing Strategies

    Mastering Digital Marketing Strategies

    Tasya Aulia, Director of Marketing and Communications, Meliá Hotels International
    Building a Strong Collaborative Framework for Artificial Intelligence

    Building a Strong Collaborative Framework for Artificial Intelligence

    Boon Siew Han, Regional Head of Humanoid Component Business & R&D (Apac & Greater China), Schaeffler
    From Legacy to Agility Through Digital Transformation

    From Legacy to Agility Through Digital Transformation

    Athikom Kanchanavibhu, EVP, Digital & Technology Transformation, Mitr Phol Group
    Change Management for Clinical Ancillary Teams: Aligning Practice with Policy and Progress

    Change Management for Clinical Ancillary Teams: Aligning Practice with Policy and Progress

    Ts. Dr. James Chong, Chief Executive Officer, Columbia Asia Hospital – Tebrau
    Digital Transformation: A Journey Beyond Technology

    Digital Transformation: A Journey Beyond Technology

    John Ang, Group CTO, EtonHouse International Education Group
    Building A Strong Data Foundation: The Key To Successful Ai Integration In Business

    Building A Strong Data Foundation: The Key To Successful Ai Integration In Business

    Richa Arora, Senior Director Of Data Governance, Cbre
    Transforming Tollways Through People, Data and Digital Vision

    Transforming Tollways Through People, Data and Digital Vision

    Carlo Cagalingan, Chief Digital Officer and Chief Information Officer, Metro Pacific Tollways Corporation
    Loading...
    Copyright © 2025 APAC CIOOutlook. All rights reserved. Registration on or use of this site constitutes acceptance of our Terms of Use and Privacy and Anti Spam Policy 

    Home |  CXO Insights |   Whitepapers |   Subscribe |   Conferences |   Sitemaps |   About us |   Advertise with us |   Editorial Policy |   Feedback Policy |  

    follow on linkedinfollow on twitter follow on rss
    This content is copyright protected

    However, if you would like to share the information in this article, you may use the link below:

    https://full-stack-development.apacciooutlook.com/cxoinsights/quality-software-derived-through-incremental-changes-nwid-7095.html