Thursday, December 13, 2007

Top Five challenges for Web based applications

I came across this good relevant material for future referrence and reuse.

Read full article at:

Take Care

Monday, October 01, 2007

10 Things to die for...

I came across this unique philosophy, thought of sharing. Maybe this is the reason for What Google is TODAY.

Have a go at this:

Keep (Re)discovering...

Tuesday, September 18, 2007

How to win BIG outsourcing deals

Day in and day out we are hearing the M&A (Mergers and Aquisitions) and to add to the fire, the declarations of the BIG (HIGH $ value) outsourcing deals.

How these are done ? i donot care. But i do care - How they are achieved. Pondering this, i thought of spending time penning the challenges and even strategies i would think would be the reciepe for success.

Disclaimer: These are purely my thoughts from my small experience. Please pardon if so.

My heart said there are always two things which go into the deal - one in initial phase (Sales Team) and second in implementation (Delivery Team). So here i segregate the two and put in my 2 cents....

Key impediments in winning BIG outsourcing Deals - For Sales Team

1.External Political Problems
2.Outsourcing Backlash in European and North American markets.
3.Capabilities of Sales/Field force in terms of Market understanding.
4.Marketing Execution Support system for the Sales/ Field force.
5.Knowledge about the solutions and services offered, Vision and Foresight.
6.Cross Skill sharing and skill enhancement.
7.Market responsiveness.

Strategies for success

1.Segregate and Create 5S.
- Marketing Strategy.
- Sales Strategy
- Offering Strategy
- Vertical/ Industry Strategy
- Geographic Strategy

2.Develop a Business Intelligence System for Sales and Marketing.
3.Create a Cross Functional Consultative Team.
4.Shake the Team dynamics to create a wave of Entrepreneurship within.
5.Innovatively create a customized pricing Model.
6.Inject Flexibility.
7.Develop an innovative Deal closing process.

Key Impediments for Delivery Teams

1.Huge shortage of talent, Infrastructural and Logistical deficiencies.
2.Innovation to solutions, service lines and even operating processes.
3.Service Quality - Going beyond the SLA’s – Value to customer.
4.Cross Skill sharing, Domain Knowledge, Skill enhancement.
5.Data Security – in wake of recent Data breaches.
6.Lack of people with knowledge of essential foreign languages esp – French, German, Japanese, Spanish.
7.Find ways to reduce the total costs.
8.Provide better cost savings for customers

Strategies for success

1.Fuel and Leverage Innovation
2.Inject Quality
3.Create rapid action teams to upgrade the MTP( Manager Thought Process).
4.Target Quantitative Project Management.
5.Pledge to offer four colours to Customer -
- Expertise: We will give top experts in business.
- Rigor : We will help you build a roadmap of success.
- Speed : We will enable you to achieve results FAST.
- Impact : We will be vested in your complete success.

Can we take the plunge --- NOW.

SOAP - for starters

Let me challenge myself to integrate my old thoughts and recreate the basics of SOAP for you all - The Starters.

In a decentralized and distributed environments, SOAP is a simple and lightweight medium thorugh which the information (maybe structured and typed) is exchanged between peers using XML....aah thats nice definition.
Ok enough of a hiatus. Lets continue...

SOAP in itself doesnot specify any kinda application semantics, rather defines the mechanism for same by providing a modular packaging model and encoding mechanisms for encoding the data within the modules.

Probably because of this SOAP can be used for varied systems - from Messaging to RPC.

It consits of three parts primarliy:

1. SOAP envelope construct
This defines an overall framework for expressing what is in a message, who should deal with it and whether it is optional or mandatory

2. SOAP encoding rules
This defines a serialization mechanism that can be used to exchange instances of application-defined datatypes.

3. SOAP RPC representation
This defines a convention that can be used to represent remote procedure calls and responses.

All these are togather yet they are functionally orthogonal in nature.

The design goal for SOAP has been simplicity and extensibility. Features which DOESNOT form the part of core SOAP include
• Distributed GC (garbage collection)
• Batching of messages
• Objects-by-reference
• Activation

huff huff...hope that the above list includes all it should ...

Friday, September 14, 2007

Quantitative Process Management

Quantitative Process Management
- Whats this?
- Does it have any applicability ?

Let me try and answer these...

- Whats this ?
QPM is mainly Articulation of the main process of the project totally based on the projects shared vision and even as well as the Business goals.

This primarily targets at
a) Deriving the goals for the sub-processes based on the identified measureable project Objectives
b) Use possible performance Models to derive the goals for the projects process and sub-processes.
c) Track,Analyze the actual results and then take the corrective actions.
d) In case of some earch shattering results or unforseen results, using some of the commonly available techniques such as - Parreto analysis,Control charts, RCA diagrams etc.
e) Last but not the least - Analyzing the actual performance of project using statistical techniques and taking suitable corrective action

- Does it have any applicability ?

Some experts may contest my view that applicability is always vision based. If i need Highest quality and Customer satisfaction i need such Management techniques, isn't it ?

Whats affects productivity the MOST?

Have we ever wondered at nailing down the factors that affect our productivity. I also always did but never tried. So today i thought let me pen my thoughts.

From my past experience i am collating all the parameters that affect the productivity:

a) Availability and stability of the development environment
b) Team capability, skill and experience
c) Team stability / manpower turnover
d) Maturity of the processes
e) Reusable software available to the project
f) Reusable software to be built by the project
g) Extent of communication possible with users/customers
h) Extent of automated tools used for software development and maintenance
i) Extent of degree of detail of the required user documentation
j) Cohesion of stakeholders and teams

Agree or disagree ?

SilkTest Coding Standards part -1

Off late i was scrambling to understand the code one of the self proclaimed experts wrote. I really had to negotiate my way through.Finally i did.
Therafter i realized how narrow the available expertize is. And this has catapulted me to come up with my series of MG (Masala Gyan) on best coding standards for Automation scripts. I should generalize them but i feel on the contrary because all tools have different set of languages so why not separate standards. Hence i am sticking this series to ONLY silktest.

OK..enough of MG, here i start off with the first thing to be taken cared : "Naming Conventions"

Silk Reserved Words
There are some Silk keywords (if, while, etc.) that must be lower case. The Silk reserved words that do not fall into this category (string, anyType, etc.) should be mixed case where the first letter is lower case and each new word is capitalized. For example:

if (var1 == var2)
listMerge(list1, list2)

Variable names should be descriptive and should be mixed case where the first letter is lower case and each new word is capitalized. Variable names should include the standard prefixes or suffixes describing the type of variable.

These include:

· i = integer
· s = string
· lx = list of something (li = list of integer, ls = list of string, etc.)
· rec = record
For example:

integer iNumberOfAccounts
list of string lsStringList
string sName


Constant names should be descriptive and should be all upper case with words separated by underscores.

const string TIER_PRODUCTCODES = “ABC014” // Global constant

Functions/Test cases/Methods

Function names should be descriptive and should be mixed case where the first letter is lower case and each new word is capitalized. For example:

createNewAccount(string sAccountName)
boolean accountExists(string sAccountName)

To be contd...

What the heck is "Web 2.0" ?

Change is law of nature and technology is no immune system to avoid this.Our beloved internet is also undergoing the similar change.Remember the .com bust that was actually the web 1.0 which was governed and comprised mainly of the static web pages.This is not being transformed into the user driven content aggregation and management websites and desktop applicatoons through whcih we can share the data across network.

All in all is should say web2.0 is a space which primarily involves the AJAX based web applications through which the user can share, skim,remix,customize and consume the data that too over the network.This is with the intent of facilitating the architecture of participation.

Most common and prominent of the Web 2.0 applications are

• Widgets: Springwidgets
• RSS (Really Simple Syndication) feeds – a medium of sharing information across websites.
• Blogs – Should really write anything on this :-)
• Social Networks – Facebook,Orkut,Phoja,Bebo etc and many more.
• Project Management - Basecamp
• Wikis – websites which allow users toadd & edit data.

This post would not be complete if i donot write about AJAX - heart of web2.0

Technically AJAX is Asynchronous Javascript and XML - a technology which helps transforming the statuc HTML pages into rich,interactive,reposnive web applications,where the browser can exchange only the needed data with server and not update the whole page.

How about the characteristics of such web applications:

• Direct interaction with page elements e.g inline editing,drag-and-drop etc
• Partial page update instead of reloading of whole page.
• More content on single page
• In-page feedback and confirmation.

Hope that was quite a Gyan masala..

Take care..

Tuesday, August 21, 2007

Power packed simplicity

I came across this

It really is amazing to see how simple yet powerful the algo / thought process could be.



Tuesday, July 24, 2007

When to go for Re-engineering of your Test Suite?

A test suite will need to be considered for a re-architecture when one or more of the following criteria are true –
a) When there is no standard process for defining, organizing, managing, and documenting the testing activities
b) When testing efforts are non-repeatable, non-reusable, and difficult to measure
c) When test cases are redundant and repetitive
d) When the test results and metrics captured are of little or no value in qualifying the product/application
e) When the test suite coverage is inadequate
f) When the most important of defects are not uncovered in the initial stages of testing
g) When the test suite needs a lot of manual intervention during execution, or when there is scope for automation
h) When the application technology becomes obsolete or undergoes change

The test suite after re-engineering should have met the following criterion –
a) Contain a stable core set of tests
b) Remove tests that are redundant, repetitive or un-needed
c) Achieve better testing flow
d) Minimize execution time and user interaction
e) Maintain and improve dynamic testing ability
f) Improve maintainability and portability
g) Enhancing coverage readability
h) Structure enhancements for maintaining parallel and independent test development

Thursday, June 21, 2007

How to categorize a mainframe application

Most of the times we need to analyze and categorize the Mainframe application into simple medium and complex. What do we do?
Here are snapshot questions we can rely on:

Key questions :
a) What the Business Functionality.
b) What are the key interfaces are there.
c) How many key interfaces are there for the application.
d) What is the data and information flow,
e) What are the data attributes for all system interactions.
f) What is the cycle time for complete accessing of the applications.
g) What are the backend data verification [DB2 tables] through Spufi (SQL Processing Using File Input), QMF (Query Mgmt Facility) or any such means and even through Batch runs.
h) Does the application involve CICS or any other information control system from testing per se.
i) How many batch jobs are required to run the application successfully.
j) What is the order of batch runs and the order of their execution
k) Does the application involve any kind of Data collection system. Also are there, if yes, how many batch runs for activities such as – Audit, Resync and Data Archival, Data Retrieval, DB2 load and Unload operations etc.
l) Are any Test Data management systems being used in the application(s) e.g utilities like FileAid (from Compuware) etc.
m) What is the mode in which the tables are available (RW,W,R etc)
n) How many tabels does the application support
o) How is the DB schema designed
p) Which forms (from RDBMS per se) it support. E.g Form -1,2,3 etc.
q) What is the archiving and purge cycle
r) How long is the archiving and purging cycle.
s) What is the support system that the application uses
- hardware platform
- O/S
- Language support
- Database / File System
- Messaging/Middleware/Online Environments
- Tools/Development Environments

Tuesday, April 03, 2007

Walmart's secret - Sam walton's Golden Rules

I came across the list in an article in newspaper. How about adopting them...

Rule # 1. Commit to achieving success and always be passionate.
Rule # 2. Share your success with those who have helped you.
Rule # 3. Motivate yourself and others to achieve your dreams.
Rule # 4. Communicate with people and show you care.
Rule # 5. Appreciate and recognize people for their efforts and results.
Rule # 6. Celebrate your own and other's accomplishments.
Rule # 7. Listen to others and learn from their ideas.
Rule # 8. Exceed the expectations of others by setting high standards.
Rule # 9. Control your expenses and save your way to prosperity.
Rule # 10. Swim UpStream, be different and challenge status quo.

My Rule - consider above rules your bible to become the NEXT Sam walton and in process create your behemoth. No jokes, serious thought.

Tuesday, March 27, 2007

Benefits of Automation ...Once again plz

The most obvious Benefits from automation are :

1. Speed and Accuracy – Automation testing is faster and more accurate than manual testing. It can be as much as 50 times faster depending upon the speed of the application to process information. Tools are much more accurate than manual test input. Research suggests that the average typist makes 3 mistakes for every 1000 keystrokes. Also, automation tool never tire, get bored, take shortcuts or make assumptions of what works.
2. Accessibility – Automation tools allow access to communication protocols, lower level objects of systems & operating system that manual testers can not access. This allows for a test suite with much greater depth & breadth.
3. Reusability – Once tests are developed, long term benefits are derived through reuse. Over the period of time, application changes and gains more complexity. The number of tests always keeps increasing as application matures. Testers have to constantly add new test scripts and need not write same scripts again or test the same area manually over and over again.
4. Manageability – You can group the test scripts according to functionality & prepare ready to use test suits. Depending on the change of code, you can pick up the test suite for testing. It is also possible to test different functionalities altogether or one by one using test suits.
5. Discovery of issues – Automated testing assists discovery of issues early in the development process, hence reducing the costs.
6. Repeatability – An automation suite provides repeatable process for verifying functionality of functional side and scalability on the performance side.
7. Availability – As they are automated, scripts can run any time ,any where that too unattended.

...Wow thats a real Ready reckoner...isn't it ?

Why Automation....eek... Fails ?

Following points are major cause of failure in automation.

1. After creation of automation suit, customer does not maintain the suit for future builds.
2. Lack of structured automation methodology.
3. Test automation is not treated as a project with proper project planning.
4. Testing is performed at the end of development cycle.
5. No modularization in automating scripts.
6. Test engineers are not trained in tool interface & programming.

Automation intresting angle to it


When the test scripts are executed there is chance that more than one test scripts require the same resource to operate on. Moreover as the test scripts are executed in parallel they will try to modify or make use of the same resource.

If a certain test script is written to make use of a particular environment and will only pass if that environment is available. Some other script which is executing before this script changes the environment will surely fail the former script.
Also if the scripts are not properly cleaning up the environment they changed it becomes difficult for other test scripts to expect the environment in a shape.

Preconditions are used for individual test scripts to set up the environment required for a particular test script. Post conditions are used to cleanup the environment modified by the test script. Preconditions and Post conditions can itself be separate test scripts. So there can be quite high dependency between the test scripts. One test script is expecting to setup the environment for itself and some other test script changing the environment set for it.
Such test automation will lead to chaos and will not provide the correct results even though the product is flawless and code for test script is correct.

a) Execute each test script individually.
b) Sequencing of the test scripts which will be executed in parallel
c) Locking of shared resources which act as an environment for the test scripts.
d) Cleaning up the environment.

Saturday, February 17, 2007

Do’s and Do-not’s of the Interviewing

In-Person Interview:

Follow these simple rules and you should achieve success in this important phase(s) of interview.

* Do your research and know the details of job/position you are taking interview for and also the tentative types of candidates you will be encountering.
* Don't memorize or over-rehearse your questions.
* Do dress the part for the job, the company, the industry. And do err on the side of conservatism.
* Do greet the candidate with courtesy and respect.
* Don't chew gum during the interview.
* Do greet the interviewee by title (Ms., Mr., Mrs) and last name if you are sure of the pronunciation. (If you're not sure, do request the interviewee about the pronunciation before trying yourself.
* Do shake hands firmly. Don't have a limp or clammy handshake!
* Do offer a chair to candidate before sitting. And do remember body language and posture: sit upright and look alert and interested and in control at all times. Don't fidget or slouch.
* Don't tell jokes during the interview.
* Do make good eye contact with your interviewee.
* Do show enthusiasm and keep the interview as lively as possible.
* Don't smoke beforehand so that you smell like smoke. And do have a breath mint before the interview.
* Do avoid using poor language, slang, and pause words (such as "like," "uh and "um").
* Don't be very soft-spoken. A forceful voice projects confidence.
* Do have a high confidence and energy level, but don't be overly aggressive.
* Don't act as though you would take any candidate or are desperate for having people on board.
* Do avoid controversial topics.
* Do make sure that your good points come across in a factual, sincere manner.
* Don't ask questions with a simple "yes" or "no."
* Don't bring up or discuss personal issues or family problems.
* Do remember that the interview is also an important time for candidate to evaluate the interviewer and the company (s) he represents, so be very cautious.
* Don't answer cell phone calls during the interview, and do turn off (or set to silent ring) your cell phone and/or pager.
* Don't inquire about salary, vacations, bonuses, retirement, or other benefits. Be prepared for a question about the salary, but do try and delay salary talk until you are sure to make an offer.
* Do close the interview by telling the interviewee about the next step in the process.
* Do immediately take down notes after the interview concludes so you don't forget crucial details.

Phone Interviewing:

Here are the keys to successful phone interviewing.

* Do know what job you are interviewing for.
* Do ask the candidate if (S) he is comfortable before starting the interview.
* Do practice, if possible. Have a friend call you to do a mock phone interview so you get the feel of interviewing over the phone.
* When interviewing by phone, do make sure you are in a place where you can read notes, take notes, and concentrate.
* If you cannot devote enough time to a phone interview, do suggest a specific alternate time.
* Do consider keeping some note-cards or an outline in front of you to remind yourself of key points you want to cover during the course of the interview. Do also have the resume in front of you so as to frame questions around candidates experience and accomplishments.
* Do ensure that you can hear and are being clearly heard.
* Do consider standing when interviewing on the phone. Some experts say you’ll sound more professional than if you’re slouching in an easy chair.
* Do create a strong finish to the phone interview by allowing the interviewee to ask questions.
* Don't snuffle, sneeze or cough. If you can’t avoid these behaviours, say “excuse me.”
* Don't chew gum or food, or drink anything noisy.

Happy Interviewing....:-)


The Rational Unified Process® is a Software Engineering Process. It provides a disciplined approach to assigning tasks and responsibilities within a development organization. Its goal is to ensure the production of high-quality software that meets the needs of its end-users, within a predictable schedule and budget. RUP enhances team productivity, by providing every team member with easy access to a knowledge base with guidelines, templates and tool mentors for all critical development activities.

RUP's activities create and maintain models. Rather than focusing on the production of large amount of paper documents, the Unified Process emphasizes the development and maintenance of models—semantically rich representations of the software system under development.

RUP is a guide for how to effectively use the Unified Modeling Language (UML). The UML is a industry-standard language that allows us to clearly communicate requirements, architectures and designs.

The Rational Unified Process is a configurable process. Mind you, No single process is suitable for all software development. The Unified Process fits small development teams as well as large development organizations.

Wednesday, February 07, 2007

Six Sigma...What ??? - Part 2

Zooming in to the Six Sigma further lets talk about the various Synergies it bring forth vis-a-vis ISO, TQM. Here goes the List:

1. Focus on Money
- Everybody's favorite :-) and But only 6Sigma target this, others :-(.
2. Leadership and Top-Down Support
- Yes all three Support this.
3. Continous Improvement
- Bingo - yet again all three.
4. Deployment Strategies and Guidelines
- Only ISO and 6Sigma support.
5. Measurement Crietria for Quality Goals
- Only ISO and 6Sigma support
6. Performance Targets
- TQM and 6Sigma
7. Application of Statistical Tools
- TQM and 6Sigma
8. Quality Career Path
- Only 6 Sigma
9. Extension to Cost,Cycle Time and other Business issues
- Only 6 Sigma
10. Intehration of other business goals with Quality
- Only 6 Sigma
11. Functional Focus
- ISO and 6Sigma
12. Project Approach
- Yet again 6 Sigma.

So from above donot you think "6 Sigma really scores over ISO and TQM". Should we not adopt this baby ?

Friday, February 02, 2007

Six Sigma...What ???

I carry one quote from Mr. Azim Premji (for who Eats business, dreams business and sleeps business). Quote " Successful leaders have made Six Sigma their way of conducting business" / Unquote.
I really agree to his flow of thoughts,But i guess its THE most underrated and least tapped way of executing business. You bet, it is a real volcano, gathering enough power, Gases etc (read proponents) to engulf whole IT world.
But thats future, i thought of coming up a Six Sigma series to give back/ share what i have learnt being a practising Green Belt.

Clarification : Six Sigma is way beyond 3.4 defects per million oppurtunities. It actually targets to return process efficiency of 99.99966%.
In other words process Standard deviation should be so low that it can fit into client performance limits without any hassel.Believe me it aims at such a process in which no matter what target deviation happens it still is within the customer demands. 6Sigma is actually a variance based thinking and where mean is meaningless.
It has three main advisors - USL - Upper Specification Limit (Anything above this is a defect), LSL -Lower Specification Limit( Anything below this is a Defect) and Target (Usually the middle point of USL and LSL).
Six Sigma super set contains - Metric, Culture, Way of Life,Locomotive, Benchmark and of course GOAL.

Thursday, February 01, 2007

Hire for Attitude

Now,when India Inc is really going *gaga* with economic Boom,every industry from FMCG to IT to Automotive to whatnot are feeling the crunch in skilled people. There is a real Demand supply (D&S) Gap. And with every moment its just widening. Another reasons for the cause of concern are - increasing attrition rates,wrong people getting hired etc. But then instead of going into Why's How's. I thought to start off with the basic principles of hiring. Even though the D&S gap exist still everyone does get candidates (prospective employees). So whom should be hiered. Now every organization have their own basic parameters for filtering in-eligible candidates. Lets stick this section on eligible people. So from among them whom should be hiered.
I believe, if i were the interviewer, i will give Attitude 80%, 10% their knack for problems and rest for their skills. Can you think Why Lalu prasad Yadav is an eye candy for Big Business houses. Why NRN,Ratan Tata etc are not ? Its simple because of the free and smart attitude he has for any given problem / scenario. These things cannot be taught in our degree colleges / business schools. Its comes naturally. Now consider this - Steve Jobs is a drop out, still he created a giant called - Apple, Bill gates a similar story - a drop out and i think i need not pen anything on the machine which has everything from his stable. These examples may be rare but its only one thing which differentiaties these folks - Their attitude. Mind you Risk is a suppliment to Attitude.
So coming back to main point - Attitude really rules the roost. It really doesnot matter whether i have the required skills or not, But if i have the attitude i can do whatever new i need to or is expected out of me.
Along with checking persons attitude, we should also check if they have the tongue for Risks. Is yes, i would say donot think twice and just go ahead have the person on board. Believe me, You will never repent for this investment in entire organizational future.

So - Do you all really agree ?

What is orthogonal Array Test Strategy ?

Orthogonal Array Test Strategy is a systematic and statistical way of testing pair-wise interactions. In simple terms, Orthogonal Arrays are special set of Latin squares, constructed by Taguchi to design the test sets. It provides representative (uniformly distributed) coverage of all variable pair combinations. OATS provides a test set that guarantees, testing the pair-wise combinations of all the variables. It creates an efficient and concise test set with very few test cases rather testing all the combinations of all the variables. It also exercises some of the complex combinations of all the variables. Following are some of the key concepts used in Orthogonal Analysis.

Factors: Number of variables whose pair-wise combinations to be arrived at.
Levels: Maximum of the number of values, each of the factors can take.
Strength: Number of columns it requires to visit each of the levels possibilities equally often.
Runs: Number of rows in the Orthogonal Array.

Usually an Orthogonal Array is represented as Lr (f ^ l) where, r is the number of runs, f is the number of factors and l is the number of levels. So L9 (4^3) represents an Orthogonal Array with 4 factors, 3 levels and 9 runs.

Wednesday, January 31, 2007

Crisp and Intresting

Apology for much delay in coming back. Now on i will maintain my updates.

Hey while surfing i came across this interview. This is really short, crisp and intresting. Mind you it is thought provoking.