Thursday, April 7, 2011

NVA - Overproduction or Overengineering

Over production or over engineering are considered a non-value add and a waste. When we try to add unnecessary steps to a process or make it more complicated than it is required we are creating more chances of creating defects in our work.

Photo Courtesy: Stephen w morris
A few examples are
  1. Having too many slides in a presentation. You loose the audience and are unable to get the right message across.
  2. Too many and too long reports - are you sending reports that take just too long to create and no one really looks at it? Then maybe its time to stop doing it.
  3. Creating too many copies of a report - are you customizing the report so much that you are creating multiple copies. Then look at how you can combine them. The more copies you have the more place you have to make updates where there are changes and the higher the likelihood of creating defects.
  4. Rewriting steps of a test cases - Are you writing the same steps several times in several places? If yes then try to create a test that can be called often. This will save a lot of maintenance time.

Tuesday, April 5, 2011

NVA - Defect or Rework

In my previous post I talked about customer value add and talked about non value add (NVA).
D.O.W.N.T.I.M.E is the word I used to talk about waste. The first one in the downtime is Defects or rework.

Customers don't pay us for rework. They don't expect defects and when they do find defects they are unhappy. To increase customer satisfaction we have to focus on preventing defects.

What can we do to reduce defects and rework?

Photo Courtesy: Michael Jastremski via openphoto

Its "self certification".

If I can certify my work then I can reduce the number of defects that escape. If business analysts make sure their requirements are accurate, software engineers make sure their code is unit tested and software testers can make sure they have good coverage during testing there are chances of fewer defects will escape to the customer.

To reduce waste and create more value to customer lets start looking at our work and see how we can reduce rework and defects. We can do this one step at a time.

Monday, April 4, 2011

Its All About Customer Value Add

Customer value add tasks are those tasks that a customer is willing to pay for. On a daily basis we maybe be doing several activities or tasks and some of them are tasks that business requires us to do and are referred to as business value add. There are some tasks that just don't add any value. These are called non value add. In lean six sigma concept business value add is also considered to be non value add. Eliminating waste/non-value add will save our customer money and also create a better return on investment.

Photo Courtesy: Chesi - Fotos CC

What are some forms of waste or non-value add?

  • Defects or Rework
  • Overproduction
  • Waiting (Idle Time)
  • Non-Value Added Processing
  • Transportation
  • Inventory
  • Motion
  • Employees Under Utilized
What can we do to add value to the customer? Look at everything we do on a daily basis and ask does this add any value for the customer. If they knew you were doing this would they pay for it? I will get into the details of each waste in my next post.

Sunday, April 3, 2011

Tester's Musings: Motivation to Test?

Our organization like a lot out there are going through a lot of change. Recession, doing more with less, hiring freeze, no raises, etc are just a few reasons as to why organization cant do better with motivating people. The traditional trends used to be give a bonus, provide, raises, give lots of time off, not ask people to work overtime or pay when people have to work overtime. With this new face of economic pressure there are very few options left.

I feel I am getting caught up in this where I am demotivated from doing my job. To pull myself out of feeling the misery I started looking for things that motivate me. Here is a list of few things that helped me
  • Good Team: Working with a project team that is motivating really helps. I feel that if my project team can support me and have my back that I will do anything to support them. Creating a good team is key to having engaged employees. The trend with spread of agile shows that companies have recognized this.
  • Rewards: yes I just said companies don't have the money to give rewards but then its not always about money. For me getting an unexpected half day off or not having to take personal time off when I need an hour or two to go visit a doctor speaks louder and tells me that my company cares about me. Working from home is another reward that I feel helps with in this economy and motivates me to give my best to my company.
  • Customer voice - we hear a lot from customers when things go bad and we get their issues as defects that we have to fix immediately. Our company asks us to look at why we missed a defect. Recently our product owner shared a letter from a customer who thanked us for the work we do. They said they depend on us to do their job. This letter motivated me to make sure I do everything I can so I will have a few more happy customers. I am glad they shared the positive note from customers. I needed that to get through a few long days that I had to put.
  • Employee Voice - President of our division met with each and every employee. I have been with this company for over 6 years. We had a lot of good years and this past year has been hard with all the financial changes (we are a lending based software company). When our president sat down for half hour with every one of us I felt like someone was there to hear my voice. He sat down and asked me what was working, what was not working and how can he help? Just the fact that he listened to my voice made a difference. I came out of the room feeling like the burden from my shoulders were taken. I don't expect miracles because I vented to the president. But just knowing that someone was there and can be reached if needed makes a big difference.
Every time I feel like giving up because I don't see immediate results or feel the work burden is going to kill me I am going to look back at my motivators. I have this listed printed out and posted in my office cube. I will not let this economy demotivate me. I am looking forward to better days but for now I am happy with what I can get.  

Saturday, April 2, 2011

Automation - Magic Robot

Do you have any test automation for your project? If so does your management think its a magic robot that can pretty much do anything and that too on its own?

We have been asked to automate our project. It has to test everything, catch all defects and need no manual over site time. We try to explain that creating and maintaining test scripts is really important and project will have to scope in time for this every release.

A fellow blogger in the post Automation: Oh! What A Lovely Burden! talks about automation being a lovely burden.

What are some automation myths and how to manage them?
  • Automation will test everything!
    • Automating every single test is not a good investment. There are some features of the product that might never be used or used very little. Spending time on automating them may not give good return on investment.
    • The more complex a test, the harder it is to automate it and the harder it is to maintain the test. If it takes a hour to manually test it during regression then just manually test it.
  • Automation will catch all defects!
    • Again this is a misconception. If something changes in areas that are already automated the automation test will catch it. If its in features that automation does not cover then we wont be catching it via automation. For example an automation test might check a box and continue with the test. A defect occurs when the box is checked and then unchecked. This defect was caught my a customer because its not a standard step that customers follow. It was a one off scenario.
    • Automation will not catch defects in new features since they have not been automated yet.
  • Once automation is complete no more time will be needed for maintaining those tests.
    • Any change in future releases can impact automated tests. Time has to be spent in maintaining these scripts. It wont take as much time as it takes when creating new tests but its still time that testers have to spend and this time has to be planned into the project plan.
Yes automation is great but its not a robot and it wont do everything we would like it to do. It makes manual testing effort easier and also gives time to explore and test other features that are new or need our attention.

Friday, April 1, 2011

SOP - Its Really About Quality

Most dictionaries define Standard Operating Procedure as
  • Established procedure to be followed in carrying out a given operation or in a given situation.
  • A specific procedure or set of procedures so established.
What does SOP mean?

SOP is a written document detailing steps or activities for a certain process. SOP can be created for any existing or new process. This document helps standardize the process. The goal is to really do the job same way every time we do it.

Why create SOP?
  • It details the activities that need to be performed and so there is a common understanding of the process among the people involved.
  • Someone new to the position will perform the same task the same way as someone who has been in the job.
  • It ensures the process is performed the same way on a continuous basis.
How to create SOP?
  • Start with the team who is involved in the process. Include people who will be performing the job to gain insight and details that might get missed.
  • Document current state of the process in the sequence it occurs.
  • Document terminologies and define them so there is no ambiguity.
  • Review the document with the team and get sign off.
  • Maintain the document and review on a continuous basis.
  • Establish a system for distribution and sign off when changes occur.
Bottom line: SOP are an integral part of creating quality systems. It provides information to perform a job consistently and properly. To get to a good quality output we have to have inputs that are predictable. For example I asked 10 non-testing people at work "What is regression testing?

Each one had a different understanding. One person said its "100% testing of everything" Another individual said "its automated testing". We have a Software Quality Control Handbook that defines our testing terminology but that is a document that we use internally. We also have explained regression testing to some extend in our Test Plan. This test plan is reviewed before every release. So then why is there a lack of understanding?

Well we haven't spent the time with the team to go over the process steps. We didn't define terms with context to the process steps involved within testing group. With a Lean Six Sigma project I am currently working on I am hoping to define the testing process and create an SOP that would make our lives a lot easier than it is today.

What this will then do is help with setting the right expectations from our testing processes and we can deliver a product that is tested and meets the expectations of the project team. Right now they expect us to test everything and catch all defects. Sure we did love to do that and then we would never have a release for any of our products.