Saturday, November 26, 2011

Make a difference : Bring an edge to your project delivery ! [My Learning : #1]

[My Learning : #1]

How can you do more efficient project delivery ??
There are many instances when projects go in crisis. Mostly the crisis situations fall into 2 categories
  • Either the client expectation is not met on time or
  • There are delivery quality issues -  in other words client expectation is not met
A general observations that I have had around where slippages are mostly hapenning and can be easily corrected with more focus and attention are
  1. Requirement Freeze - Ensure that the requirements for test are clearly defined and signed off from all stakeholders.
  2. Code Freeze - Insist on a code freeze from Dev team and deployment to QA environment that is completely stable.
  3. Dedicated QA Environment - Ensure that a dedicated QA environment is available with latest and stable build deployed for testing. During the period of a testing cycle, this code should not be updated. Have all the release notes available handy against each new code update deployed.
  4. Risk Based Testing : The approach is one of the better ones to start testing on. It can be either used as a direct approach or can be used as a parallel approach to exhaustive testing that needs to be undertaken. It also helps to prioritize and build a strong traceability avoiding defect slippages.
  5. People Dependencies : People are the biggest keys for successful project deliveries. Understand the key people in your project. Understand what they are involved with and what are they doing. Help them improve with your experience and do better.
  6. People Competency - Invest in your people and their competencies. Give them space to develop their skills and create scenarios where they can upgrade and learn.
  7. Reaction – only after crisis - Do not react only after crisis has hit you and you get into either multiple blame games or cover-up activities. Pay close attention to track deliverable against expectation matching for cleaner output in sync with desired client expectation.
  8. Role of a Team Member as a 'TESTER' - As a tester, don't be a checker be a tester ! Try unconventional testing. Look for avenues to do the exploratory. Keep a keen eye open for critical defects. Bring in a thought process as end user. This will help you crack the hidden issues and potential defects.
  9. Role of a Team Lead / Test Manager - Be innovative in building your test strategy. Gather your application / product details technically as well as functionally. Show your team members how to be innovative in test approach. Build your test oracles strong. Do not hesitate to ask questions. Neither hesitate to insist on logging an issue and not sweep it under carpet on behest of development team.
  10. Role of a Manager - As a manager don't just sit there and watch. Only metrics numbers will not give you a better and cleaner tested product or app. Don't also just fall into the trap where you feel that few web apps and trackers that you maintain or the jazzy reports that you can stir up with MS office packages will take you and your teams to places with clients. Make your hands dirty along with your teams and lead from front to deliver a better tested deliverable.

Lessons of Learning : from leaves of experience

I intend to start writing a series of posts that will be in the tag line "Lessons of Learning - My learning #".
These will mainly be focused around my experience in life as I have evolved through my journey of testing experiences.
These will primarily be short notes to start with and will slowly grow into bigger writing pieces.
Will look forward to comments from you to add on your experience leaves to the same :)