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..