Wednesday, August 27, 2008

Processes, Best Practises and Open Ended Questions...

Background


Recently I had attended one automation test conference in Pune...Of Course it was sponsored by my employer...;-)
This conference talked a lot about test automation frameworks and associated best practises. It has also one session on test process maturity and test process review measurements.

Initial Thought Process
I was very happy to listen to all these best practises and talks on how test organization can review and improve on its test management processes. But when I started to draw an analogy with the current processes and automation work I was doing...I surprised to see that we are not following any standard guidelines, best practises of automation and still all of our projects are successful to this date. This started triggering lots of questions like why there is an hype in using Best Practises in IT, why there's so much emphasize on test process improvements even though its not being followed nor even suited to most of the projects context...

Discussion and Findings


I started looking out for answers and so talked to different people in the test field just to get an idea of how they have/are implementing/following the standard test guidelines for given automation or implementing test process. Did they really find it useful or they found its outdated and no longer applicable to current testing requirements/projects? I looked for the answers for "why are they using these guidelines?" and got a loud answer saying "These are being standard practises based upon experience of other projects". Few of them followed these blindly even though they were not knowing why should they follow it. Few of them said its compliance for effective test project management so they followed the suite. That was a poor answer!
Few of the folks has not followed the same path. They tweaked the processes as per their requirements and needs and completed the delivery on time. That's smart approach they used. Those are the people who believes in project context and application of processes as per its needs. I am trying to get more details how to do this and will have a post on this soon.

Open Questions:

  • How do I know what is best suited practise for my current assignment?
  • Whats definition of Best Practises? Does it help me in long run?
  • Which process/skills will make my project successful?


Final Thought[Still looking for inputs to complete it...]


Change is the constant keyword which applies to Life and so is to software development and testing. I am not sure how these so called best practises will help us to do better software development as ways to build software's development and testing are changing frequently.

Do you have any better input?

3 comments:

Anonymous said...

There are two points here.

1. Let us say that the test organization has been around for some time and over the period of time, it has executed some test processes repeatedly (with success).
In such a test organization, you might find that there are some practitioners who firmly believe in the suitability of these processes. Additionally, not having to design a test process from scratch in every project could save effort.
Even so, the project team should not blindly implement and follow the processes. Every project is unique and based on the project context, the project team should identify the processes it would require, whether or not to use the defined processes and if a defined process is used, whether to use it in its standard form or to modify the process depending on the project context.

2. Various projects are executed by the test organization and each project team is free to choose the test process it wants to follow.
Things are simpler in such a test organization. It would help the project team to be aware of the various test processes used by other organizations. Depending on the project context and their awareness, the project team could design the test processes it would require.

It is hard to define a “best practice”. For a particular practice to be “best”, the following data should be known about it:
1. It is “best” in which respects e.g. speed, responsiveness to customer’s requests or any other factor?
2. It is “best” among which processes?
3. It is “best” for which types of projects, in which domain and for which type of clients?
4. What tests have been conducted on this process and other processes in the same category?
I think that sometimes, a particular process/ task is labeled as a “best practice” without the necessary data required supporting its “best” qualifier.

subodh said...

My Views.....

Dinesh,

Since you are talking about Processes, Best Practises, i will skip org below CMM 5.
Ok. You enter any CMM 5 and on the day you are introduced to Process Dept, you will see whole lot of processes which are all Best Practices for that Org.
So if you join as a proj manager or QA Managers, no need to worry for your project execution as org would claim processes are sound enough. Of course everyone has to believe this. Atleast i would believe......( Say you enter TCS, Infosys, Wipro ... wont you believe ?? )

So yes Best practices are in place..
But this is Static thing. ( Discovered Processes )

Now comes real - Project Dynamics....

You consider any proj - manual testing, Automation any tool, dev proj....
I would say each proj has its own way of operation and 50% static approaches as decided by your org would be applicable but Project owner ( Manager / Analyst) should be innovative enough to design the process which should give most benefit to team and client as well which necessarily need not be effective for other proj....
( This is invented process )

So this is all relative and subjective matter to the specific project and Project's operating style.

So if your process is effective enough , discuss with process team , have justification for the process to be included at org level and include it.

That is the base of any CMM 5 - Continuous Improvement on processes.

depending on various External factors like Test Environment, People Skillsets, technology, client expectations, there is dynamics involved in the Project.

So one who designs the processes ( and of course take help of Org Processes - Static Processes ) to contain this dynamics and satisfies the Client are Best practices.....
I wont bother abt Org processes or rest of the Best Practices in the world as the project timeline does not allow you to do a review of all these Best practices and implement.

Anonymous said...

Sorry for my bad english. Thank you so much for your good post. Your post helped me in my college assignment, If you can provide me more details please email me.