Monday, April 13, 2015

Project Manager? Scrum Master? Can both the roles survive?

Many a times, consulting and IT service providers engage with customers from the stage of order inquiry or a phase called discovery, followed by order handover and then execution (order to cash) to the closure of the project. An effective agile organization will have a Product Owner identified who will be assuming the role of a traditional PM and a Technical Lead may fit into the Scrum Master role.  However, when an organization that runs a blend of different projects (from Scrum, Kanban, waterfall to support projects) based on the type of projects they get, they still may have project managers. So, if a PM is asked to assume the role of Scrum Master, what kind of activities will fall under Project Management vs Scrum Management roles? Here is some thoughts based on some practical experiences! Though far from perfect, it works, though.

Saturday, March 23, 2013

Greg Satell @ digitaltonto

Greg Satell has written insightful articles and analysis and every time he posts a new one, I dig in. Here are a few from his recent posting -
  1. The Usefulness of Useless Things :
  2. How to Manage Innovation :
  3. Why Marketing Has Changed… Forever :
Recommend checking out his @, or follow him in twitter @digitaltonto

Tuesday, November 18, 2008

Unit Test Patterns


Nice article on Unit Test Patterns by Marc Clifton:

Patterns he has listed:

·          Pass/Fail Patterns

·          Data Driven Test Patterns

·          Data Transaction Patterns

·          Collection Management Patterns

·          Performance Patterns

·          Process Patterns

·          Simulation Patterns

·          Multithreading Patterns

·          Stress-Test Patterns

·          Presentation Layer Patterns


Thursday, May 1, 2008

Estimation Techniques

Size and effort is all what matters eventually :-). Estimation of work is really a tricky job. Here are a few resources I think a good start point to gather estimation techniques:

Books and papers

o Brooks, F., The Mythical Man Month, Addison-Wesley
o COCOMO II Model Definition Manual, University of Southern California, 1991 (for more information visit \\
o Institute of Electrical and Electronic Engineers Inc., Glossary of Software Engineering Terminology, IEEE Std 610.12-1990, The Institute of Electrical and Electronic Engineers Inc.
o International Function Point Users Group: Function Point Counting Practices Manual, Release 4.1, Jan 1999
o Jones, C., A Short History of Function Points and Feature Points, Software Productivity Research Inc., Mimeo Version, 2.0, Feb 20, 1988
o Jones, C., Applied Software Measurement - Assuring Productivity and Quality, McGraw-Hill Publishing Company, 1991
o Jones, C., What are function points, Software Productivity Research Inc. (for more information visit \\
o MK II Function Point Analysis Counting Practices Manual, Version 1.3.1, United Kingdom Software Metrics Association, September 1998
o Pressman, R.S., Software Engineering – A Practitioner’s Approach, Fifth Edition, McGraw-Hill Publishing Company, 2001

Web sites

o A list of resources for software process metrics, including function points, is available at \\
o A resource for software engineering is the Software Engineering Institute, Carnegie Mellon University, \\
o A variety of lists with software engineering resources is available at \\
o Information on COCOMO and COCOMO II is available at \\
o Information on function points is available at \\
o The information on international standards and guidelines related to software from IEEE is available at \\
o The guide to the Software Body of Knowledge is available at \\


You Are Not Done Yet

Michael Hunter's this compilation of checkpoints is an absolute read for anyone into testing:


Wednesday, February 8, 2006

Joel Spolsky's writeups on Design

Tuesday, July 5, 2005

Rules of 'Zero-Defect Software Development'

Ten rules of 'Zero-Defect Software Development' by Steve Pavlina, CEO, Dexterity Software:

1. Test your product every day as you develop it, and fix defects as soon as you find them.
2. Review your code regularly.
3. Rewrite poor-quality modules.
4. Assume full responsibility for every bug.
5. Handle change effectively.
6. Rewrite all prototyping code from scratch.
7. Set QA objectives at the beginning of every project.
8. Don't rush debugging work.
9. Treat the quality of your code at the same level of importance as the quality of your product.
10. Learn from every bug; each one represents a mistake that you made.

Six Rules of Unit Testing

Check out this Six Rules of Unit Testing by Charles :

  1. Write the test first
  2. Never write a test that succeeds the first time
  3. Start with the null case, or something that doesn't work
  4. Don't be afraid of doing something trivial to make the test work
  5. Loose coupling and testability go hand in hand
  6. Use mock objects

Tuesday, June 28, 2005

Of names..

I have been quite off of the blog scene here for a while. The product I was working on has been released, a time for a breather now and so, starting on a lighter vein, here are some interesting trivia about names : -):

ADOBE> This came from name of the river Adobe Creek that ran behind the house of founder John Warnock.

APPLE COMPUTERS> It was the favourite fruit of founder Steve Jobs. He was three months late in filing a name for the business, and he threatened to call his company Apple Computers if the other colleagues didn't suggest a better name by 5 O'clock.

Compaq This name was formed by using COMp, for computer, and PAQ to denote a small integral object.

COREL The name was derived from the founder's name Dr. Michael Cowpland. It stands for COwpland Research Laboratory.

GOOGLE The name started as a joke boasting about the amount of information the search-engine would be able to search. It was originally named 'Googol', a word for the number represented by 1 followed by 100 zeros. After founders - Stanford graduate students Sergey Brin and Larry Page presented their project to an angel investor; they received a cheque made out to 'Google'

HOTMAIL Founder Jack Smith got the idea of accessing e-mail via the web from a computer anywhere in the world. When Sabeer Bhatia came up with the business plan for the mail service, he tried all kinds of names ending in 'mail' and finally settled for hotmail as it included the letters "html" - the programming language used to write web pages. It was initially referred to as HoTMaiL with selective uppercasing.

Hewlett Packard >Bill Hewlett and Dave Packard tossed a coin to decide whether the company they founded would be called Hewlett-Packard or Packard-Hewlett. Intel Bob Noyce and Gordon Moore wanted to name their new company 'Moore Noyce' but that was already trademarked by a hotel chain so they had to settle for an acronym of INTegrated Electronics.

Lotus (Notes)> Mitch Kapor got the name for his company from 'The Lotus Position' or 'Padmasana'. Kapor used to be a teacher of Transcendental Meditation of Maharishi Mahesh Yogi.

Microsoft >Coined by Bill Gates to represent the company that was devoted to MICROcomputer SOFTware. Originally christened Micro-Soft, the '-' was removed later on.Motorola Founder Paul Galvin came up with this name when his company started manufacturing radios for cars. The popular radio company at the time was called Victrola.
Sony It originated from the Latin word 'sonus' meaning sound, and 'sonny' a slang used by Americans to refer to a bright youngster.

SUN>Founded by 4 Stanford University buddies, SUN is the acronym for Stanford University Network. Andreas Bechtolsheim built a microcomputer; Vinod Khosla recruited him and Scott McNealy to manufacture computers based on it, and Bill Joy to develop a UNIX-based OS for the computer.

Yahoo! >The word was invented by Jonathan Swift and used in his book 'Gulliver's Travels'. It represents a person who is repulsive in appearance and action and is barely human. Yahoo! Founders Jerry Yang and David Filo selected the name because they considered themselves yahoos.

Wednesday, May 25, 2005

IBM Rational Testing Solution - The Next Generation

Attended a seminar on "IBM Rational Testing Solution - The Next Generation" today where IBM has unveiled their new set of test tools on Eclipse and Hyades framework:


Brief overview of the products they have showcased today:


1.      IBM Rational Manual tester:

IBM Rational Manual Tester is designed to support the diverse skill sets of the people often tasked with manual testing – business analysts, subject-matter experts, and testers. More on:


2.      IBM Rational Functional tester:

IBM Rational Functional Tester is an automated regression testing tool that lets users test Java and HTML applications running on Windows and Linux platforms and .Net applications running on Windows. More on:


3.      IBM Rational Performance Tester:

The IBM Rational Performance Tester  introduces easy-to-use capabilities for conducting load/stress/capacity tests. Features include Visual Text Editor, built-in datapool editor, automatic handling of variable data and low memory and processor footprint. More on:

Thursday, August 12, 2004

Lighter Strokes :-)

(Collected from Internet)


  • Question: How many testers does it take to change a light bulb?                                                          Answer: None. Testers just noticed that the room was dark. Testers don't fix the problems, they just find them.


  • To the optimist, the glass is half full. To the pessimist, the glass is half empty. To the good tester, the glass is twice as big as it needs to be.

  • There was an software tester who had an exceptional gift for finding all bugs. After serving his company for many years, he happily retired. Several years later the company contacted him regarding a seemingly impossible problem they were having with one of their multi-million-dollar application. They had tried everything and everyone else to find the bug but the failure happened again and again. In desperation, they called on the retired software tester who had solved so many of their problems in the past. The software tester reluctantly took the challenge. He spent a day studying the application. At the end of the day, he wrote exact steps how to reproduce the problem and stated, "This is where your problem is." The bug was fixed . The company received a bill for $50,000 from the software tester for his service. They demanded an itemized accounting of his charges. The software tester responded briefly: One bug report $1. Knowing what to put in, $49,999.


  • When you have an "I hate my job" day try this: On your way home from work, stop at your pharmacy and go to the thermometer section. You will need to purchase a rectal thermometer made by Johnson and Johnson. Be very sure you get this brand. When you get home, lock your doors, draw the drapes, and disconnect the phone so you will not be disturbed during your therapy. Change to very comfortable clothing, such as a sweat suit and lie down on your bed. Open the package and remove the thermometer. Carefully place it on the bedside table so that it will not become chipped or broken. Take out the material that comes with the thermometer and read it. You will notice that in small print there is a statement: "Every rectal thermometer made by Johnson and Johnson is personally tested. " Now close your eyes and repeat out loud five times: "I am so glad I do not work for quality control at the Johnson and Johnson Company."


  • A group of managers were given the assignment to measure the height of a flagpole. So they go out to the flagpole with ladders and tape measures, and they're falling off the ladders, dropping the tape measures - the whole thing is just a mess. A tester comes along and sees what they're trying to do, walks over, pulls the flagpole out of the ground, lays it flat, measures it from end to end, gives the measurement to one of the managers and walks away. After the tester has gone, one manager turns to another and laughs. "Isn't that just like a tester, we're looking for the height and he gives us the length."


  • A man piloting a hot air balloon discovers he has wandered off course and is hopelessly lost. He descends to a lower altitude and locates a man down on the ground. He lowers the balloon further and shouts "Excuse me, can you tell me where I am?" The man below says: "Yes, you're in a hot air balloon, about 30 feet above this field." "You must work in Information Technology," says the balloonist. "Yes I do," replies the man. "And how did you know that?" "Well," says the balloonist, "what you told me is technically correct, but of no use to anyone." The man below says, "You must work in management." "I do," replies the balloonist, "how did you know?" "Well," says the man, "you don't know where you are, or where you're going, but you expect my immediate help. You're in the same position you were before we met, but now it's my fault!"


  • Two testers went into a diner and ordered two drinks. Then they produced sandwiches from their briefcases and started to eat. The owner became quite concerned and marched over and told them, "You can't eat your own sandwiches in here!" The testers looked at each other, shrugged their shoulders and then exchanged sandwiches.


  • Two geeks are talking over lunch. The first guy says "You wouldn't believe what happened this morning. A girl rode up to me on her bike, took off all her clothes, and said 'Take whatever you want!' ... So I took the bike" The second guy says "Good choice, her clothes probably wouldn't have fit you."


  • Why programmers often mix up Halloween and Christmas? Because OCT 31 = DEC 25


  • Software Development Cycle

    Programmer produces code he believes is bug-free.
    Product is tested. 20 bugs are found.
    Programmer fixes 10 of the bugs and explains to the testing department that the other 10 aren't really bugs.
    Testing department finds that five of the fixes didn't work and discovers 15 new bugs.
    Repeat three times steps 3 and 4.
    Due to marketing pressure and an extremely premature product announcement based on overly-optimistic programming schedule, the product is released.
    Users find 137 new bugs.
    Original programmer, having cashed his royalty check, is nowhere to be found.
    Newly-assembled programming team fixes almost all of the 137 bugs, but introduce 456 new ones.
    Original programmer sends underpaid testing department a postcard from Fiji. Entire testing department quits.
    Company is bought in a hostile takeover by competitor using profits from their latest release, which had 783 bugs.
    New CEO is brought in by board of directors. He hires a programmer to redo program from scratch.
    Programmer produces code he believes is bug-free.................

Wednesday, May 4, 2005

User Interface Engineering

Friday, April 8, 2005

Definition:Gold plating

Steve Miller (President of Pragmatic Software) has defined Gold Plating the following way:
Gold Plating - Similar to scope and feature creep, programmers can also incur risk by making the feature more robust than is necessary.  For example, the specification for the Logon page contained a screen shot that showed very few graphics, it was just a simple logon process.  However, the programmer decides that it would be really cool to add a FLASH based movie on the page that fades in the names of all the programmers and a documentary on security.  This new movie (while cool in the programmer's eyes), takes 4 hours of additional work, put their follow-on tasks are n jeopardy because they are now behind schedule.

Another Definition:
Adding more to the system than specified in the requirements. Gold plating is not a bargain. It can increase operation and maintenance costs and reduce quality. Gold plating indicates project processes are out of control. Gold plating can also be accomplished by adding unnecessary requirements. Risk adjusted cost-benefit analyses can help avoid this form of gold plating. \\  

Multiple Builds and Testing

The product Version I have been working is nearing release and the work has been going at break neck speed, especially with bug fixing and its validation schedule taking a real upward curve. Getting builds thrice a week and for quite a few builds, we have primarily been doing fix validations. Already through 3 regression cycles (cycles are generally pretty long), and am amazed to find how bugs creep in some areas even when so unattached to the areas of fix. Regression makes sense really, it’s not always easy to ascertain the areas affected by a particular fix and a full regression can act as a cure for that. A small test team, thrice a weekly build, a build having 7/8 fixes, what’s the best way to deal with a situation like that, when if you have to do regression on a particular build say on bld05 and then the next build you pick up is bld09(due to elapse of time for the whole duration of regression) with all practicality taken into consideration!!

Tuesday, March 29, 2005

Reverse and Re-Engineering

Reverse Engineering:
A method of recreating software system components for which the source code is missing, out of date, or is otherwise not in agreement with existing components. Disassemblers and decompilers are examples of Reverse Engineering

The process of analyzing an existing system to identify its components and their interrelationships, and to create representations of the system in another form or at a higher level of abstraction (

Reanalysis and radical redesign that is not bound by previous obsolete solutions. (Contrast TQM - incremental improvement)

Coined by management guru Michael Hammer, it's a quality improvement tool: start from scratch, question assumptions, and radically redesign what people do and how they

Monday, March 14, 2005

Another good work done by Vamseedhar . He has moved Interview Questions to a new dedicated site with comments option and no registration required and the url is

Check this out.


Wednesday, February 23, 2005

Vamseedhar has been doing a great job, first with and now, he has come up with, its a site with different ebooks, tutorials, articles, code samples, ceritifcation questions etc. Good job done. Check out this site.

Friday, August 20, 2004

Tutorials/Help/Tips/Notes on different Testing Tools

Here are a few links to tutorials, help, tips or notes available on different testing tools on the net:  




1. WinRunner User Guide:

2.      Abridged WinRunner User Guide is available at:


3.      A WinRunner Tutorial is available at:


4. WinRunner Tutorial:


5. TSL (Test Script Language) Reference Guide:


6.   Another Winrunner site is:


7. WinRunner Sample Code:


8.  Winrunner Tips:


9. WinRunner Faqs:


10.     Abridged LoadRunner User Guide:


11. Another WinRunner FAQ:


12. ToolKit for WinRunner:


13. WinRunner Tools:

14. LoadRunner Vu Scripting:


1.      Online SilkTest Tutorial Series and Coding Standards Document:




1.     Rational Solutions for Windows Online Documentation:


2.  Getting Started Guide for IBM Rational Robot:


3. Rational testing products documentation are available at:


4.      An outstanding site on robot is:


5.      SQA Robot Resources:


6.      Carl Nagle's Data-Driven Test Automation Site

(Data-Driven Testing methodology for SQA Robot):


7.      SQA Basic coding conventions:


8. Information on Rational Tools:


9. Robot Coding Guidines:


10. Extending Rational Robot for ActiveX:


11. Java proxies for Rational Robot:


Automated testing resources:

This is a good compilation on Automated testing resource links:



Wednesday, February 9, 2005

Choosing a test automation framework

Check this write up by Mike Kelly ( on choosing a test automation framework, with explanations on:

Test Script Modularity Framework,
Test Library Architecture Framework,
Keyword-Driven or Table-Driven Testing Framework,
Data-Driven Testing Framework,
Hybrid Test Automation Framework. 

Tuesday, January 11, 2005

Seven Basic Principles of Context-Driven Testing

Check this out, 'The Seven Basic Principles of the Context-Driven School ': 

Monday, January 10, 2005

10 tech terms to watch in 2005

Check this out -> TechTarget's 'Paul Gillin' offers top 10 trends to watch in 2005:,,sid9_gci1042466,00.html

Monday, January 3, 2005

Joel Spolsky’s advice for Computer Science Students

Check out Joel Spolsky’s (Fog Creek Software, Inc) advice for Computer Science Students:


Here are Joel's Seven Pieces of Advice for Computer Science College Students:

  1. Learn how to write before graduating.
  2. Learn C before graduating.
  3. Learn microeconomics before graduating.
  4. Don't blow off non-CS classes just because they're boring.
  5. Take programming-intensive courses.
  6. Stop worrying about all the jobs going to India.
  7. No matter what you do, get a good summer internship.

Wednesday, December 15, 2004

Free OpenSource Test Management Tool

Check out this free OpenSource Test Management Tool-"QA traq":

QA-Traq can manage test plans, test cases and recording of test results and also, provides revision control for all test documentation.


Friday, November 26, 2004

Key Considerations in Performance Testing

Check out this write up by 'Leslie Segal', President, Testware Associates, Inc.,on 'Key Considerations in Performance Testing':

• Determine the performance testing objectives
• Set pass/fail criteria
• Establish profiles of expected real users
• Determine the proper ratio of real to virtual users
• Create test scripts and executed
• Gather and correlate the data from the test tool and Web/application/other servers.

Tuesday, December 7, 2004

Top Five Career Mistakes

By Trina Mukherjee in \\

Illustrations By Dominic Xavier


Here are the mistakes one can make while deciding about a suitable career.


1. Going by scores

This is the most common and biggest mistake one can make. "Many factors determine one's choice of career -- aptitude, personality, interests and skills -- apart from scoring high marks in one subject or the other. You cannot let your one-time marks decide your whole future.


2. Succumbing to parental/ peer pressure

Your best friend has decided to study engineering and you blindly follow suit without taking into account your interest or aptitude for such a technical stream. A wrong career move based on parental/ peer pressure may lead to disastrous results.


3. Lack of focus or back-up plans

You must have clarity of vision or a fixed goal when it comes to pursuing career plans.

"Planning -- be it for the future or a viable back-up plan -- is the key factor in planning your career in today's job market".


4. Resistance to change/ non-flexibility

Change is a constant factor in your career; you must be prepared for it. If you can sniff out the right opportunities and incentives within the prevailing conditions, you need not look beyond your immediate sector of specialization. Change need not be only lateral or only vertical. It can combine both, and more!


5. You need not work before you specialize

Gaining some work experience before enrolling in a specialized course might not be extremely popular in India, what with the current scramble to enroll in management, computer and other institutes catering to specialized streams. Mere theorizing does not really help you get there.