Sunday, October 10, 2010

Risk Management in IT outsourcing: How much commercial risk is reasonable to shoulder

Risk management is defined as identifying, assessing the impact and prioritizing the risks associated with the execution of a project or program. There is a relationship between how risk is managed and the relationship that a service provider shares with the client. Sometimes risks can arise from the internal application of resources and sometimes they can come from external factors. From a service provider perspective, focusing on risks that arise due to external factors poses the question, “how do you decide on how much of the external risk should you shoulder?” For example, in cases where a client fails to meet its commitment on providing certain resources results in a schedule risk towards the delivery of the project. To me the answers seems to lie in the responses to the following two questions

1. Where do you stand in the current relationship with the client?

2. Where do you think the portfolio fits with your strategic goals?Where do you want to stand in the relationship in the future?

Relationship is an absolute must as a contract is neither self-enforcing nor self-adjusting. If engagements are driven through contracts, there is no trust and no relation. Although a transaction-based relationship can lead to future opportunities, the risks associated are very high compared to a relationship-based engagement. There is a higher sense of trust in arelationship-based engagement compared to transaction-based engagements.

Relationships can either be transactional, a partnership or a strategic partnership. As trust amongst the parties involved increases, the relationship moves from transaction oriented to strategic partnership. The catch is how we create the sense of trust with the customer.In my opinion, the answer is for the service provider to start thinking from a customer perspective and identifying the risks as the first step. Once risks are identified propose a structure where the service provider is sharing the risk with the client. Once risk is shared there will be enough focus on identifying ways to reduce the negative effect of the risk. The one most important thing that the service provider should not do is to transfer the risk if the intention is to take the relationship in the right direction.

Trackback URL for this post:

http://www.allianceglobalservices.com/trackback/719

Data Processing: Do you Map Reduce for Large Datasets

A common problem statement that customers talk about is being able to process large amounts of data quickly. Some of them have the ability to scale up horizontally and some of them have to come up with alternate ways to improve the processing time. Map Reduce implementations can be applied to any Cloud deployment model.

Map Reduce is a is a patented[1] software framework introduced by Google to support distributed computing on large data sets on clusters of computers. Hadoop Map-Reduce is a software framework based on Google’s map reduce for easily writing applications which process vast amounts of data (multi-terabyte data-sets) in-parallel on large clusters (thousands of nodes) of commodity hardware in a reliable, fault-tolerant manner. The 3 core pillars of Hadoop are Map, Reduce and HDFS (Hadoop distributed file system).

Large data sets are split into smaller units for processing and are processed by the Map tasks. Map tasks can run in parallel independent of other Map tasks or any other tasks. The output of Map tasks is normally referred to as “Intermediate output”. The output is always in the form of a map. The output of Map tasks act as input to the reduce task. The intermediate output is sorted by the Hadoop framework. The reduce task is then responsible for reducing the set of intermediate values which share the same key on the intermediate output. In general we find that both input and output are stored in some form or manner on a file system. Figure 1 below depicts map reduce processing. We can introduce a combiner operation in addition to Map and Reduce that will be responsible for local segregation of data based on key prior to the reduce task.

Figure 1

One of the core features of the Hadoop Framework is HDFS. HDFS stands for Hadoop Distributed file system and is the configuration that allows the framework to effectively schedule tasks on the nodes where data is already present, resulting in very high aggregate bandwidth across the cluster. The distributed file system can handle large files with sequential read/write operation. Files are split into smaller units and saved on local nodes.

Through Hadoop, you have the ability to run parallel, concurrent versions of the mapping and reduction code to generate the desired result in Batch processing mode. I have seen a typical problem of non-availability of server hardware in the desired environment whereas a lot of server hardware lying idle and the logic to process large amounts of data is very machine dependent. Major configuration implementation is required before we could use a server and as always Data should be delivered yesterday. This is a major advantage of the Hadoop implementation where Programmers familiar with the problem domain can write elegant solutions without worrying about the multi-processing nature of the task. As long as the infrastructure is in place to synchronize process execution across multiple threads, processors, or complete systems adding Hadoop can work wonders to utilize available capacity with very minimal configuration change.

One question I wanted to pose is how do you ensure that you have replaced the legacy home grown systems with logic embedded in code for both functional and non-functional implementation for data processing with a Map Reduce implementation appropriately. This problem is typical for Data intensive systems as to “How do you test a reservoir without filling it” in this case how do you know the data is correct unless you have tested the full data.

Obviously one question that follows data processing is how do you use it efficiently through a machine learning system. I am fascinated by the concept and implementation of Lucene Mahout and will share my thoughts around that later.

Trackback URL for this post:

http://www.allianceglobalservices.com/trackback/718

Sell Where Your Customers Buy

Many marketing or business planning discussions eventually hit on the seemingly self-evident notion that you should "Sell What People Are Buying." (For a humorous discussion of this, see this blog) In addition to this basic truth, it is also important to "Sell Where Your Customers Buy." Think of the sidewalk entrepreneurs in New York City selling ice cold sodas or bottled water out of a cooler on the corner in lower Manhattan on a hot summer day. These vendors are able to charge a premium for a cold drink because they are right where the people are walking and thirsty - they are selling Where their customers want to buy.

For Information Providers, this truth is becoming very important. Not only is the Information industry moving heavily from a print to an all-digital delivery model, and not only are the roles of intermediaries and centralized procurement "locations" (such as corporate libraries) being diminished, and not only do Information Consumers have more choices and more access mechanisms than ever before, but in addition the easy access to information is changing the notion of information gathering from a stand alone task to simply one small (and hopefully automated) step within a larger process. Let me explain what I mean in a little more detail.

We all know that Print media is turning Digital. See the news stories about declining Newspaper readership, Amazon's (and BN's, and Border's, and...) push for digital books, the frequent discussion about the "Google Effect" on content providers, and the Open Access Initiative. The digital content is available on many platforms - the web, your mobile phone, smartphones, tablet computers, and e-readers. Information Consumers expect to be able to read the articles, analyze the data, and do their jobs on any of these devices, anytime during the day, on the train, in the airport, or wherever they are. This is what I mean by "Sell WHERE Your Customers Buy" - you need to be able to sell the article, or provide the data visualization, or the drill-down analysis on any device connected to the internet. If your valued, long-term Customer is sitting in the airport, curious about something she is not going to wait to get back to her office to use her subscription service to order a new report - she wants to download it to her phone, right now. If your service does not provide that, she will go to your competitor's app and get her Information right now. Your valued, long-term, trusted relationship goes right out the window because your Web 1.0 Information Delivery website cannot meet her expectation of instant information access.

The effect of this is to require every Information Provider to need an iPhone app. Well an iPhone app and an Android app. Oh, and an iPad app. And probably a Galaxy and Playbook app. And of course, a mobile friendly version of the web site. You can see, this quickly adds up.

Early attempts to create mobile apps usually involved creating a separate application stack, content collection, or Information Delivery Channel. This was the quickest, and least expensive approach to get the first mobile app out and does work. But the cost curve is not pretty, and you soon need to maintain and support 10 different applications, delivery channels, etc at 10x the cost for only marginal revenue increases.

The better approach is to build an API. Not just a dirty hack of a url that can be used to access content, but an actual, thought-out Service Oriented API that provides billing, metering, search, retrieval, and easy integration for apps. Now those 10 apps are just thin layers reusing the core SOA enterprise services and can be built and maintained cheaply. Better yet - if you have a loyal community who truly values your content, they will wind up building innovative apps on every platform you have never heard of to access and embed your content. This is because your customers are empowered to scratch their own itch, and build an application to solve their own personal or particular corporate need. And it turns out that a lot of times your customers know how to use your content better than your own product development team -- so the apps they build and the embedded data usage they put together are more useful to your customers than the pre-built website or stand alone applications you might design. Your customers become your distributors and open up entire new retail channels you were not even aware of.

So... you get more sales channels, at a cheaper delivery cost, with more customer value from enabling your content through an API. Sounds like a Win-Win-Win!

Trackback URL for this post:

http://www.allianceglobalservices.com/trackback/717

Enterprise Search and Beyond – Part 1

Did you know that Gartner is changing Enterprise Search from Magic Quadrant to Market Scope. Inclusion of this in the Magic Quadrant and moving it to Market Scope itself is a testimony that an organization or an enterprise if had not already included search as a business strategy or productivity tool, needs to make it available for its knowledge workers.

Enterprise Search can augment people, business and knowledge areas coupled with actionable items that directly impact profitability, business productivity and information awareness. With Microsoft’s acquisition of FAST, Google in a box Plug/Play Search Appliance, Lucene/Solr and many other vendors offering tools, this space has become a cynosure in the current day. Needless to say, the heterogeneous data in an Enterprise makes it even more compelling to have the capabilities to search for the needle in the haystack.

Knowledge worker is spending 9.5 hours a week searching using various tools and interfaces. Companies that are poised to leverage Search in their Enterprise are bound to experience newer horizons not only in terms of productivity but knowledge worker’s satisfaction and an Enterprises overall information awareness level by consolidating widely scattered data silos existing in structured, semi-structured and un-structured formats.

Why Enterprise Search? . Let’s take a real time example of the following error code (-81024) which resulted when a trial version of a HP product was tried using a Windows 7 client machine. An Internet search revealed that there was no clue even from HP other than the fact that it is a compatibility issue. The knowledge base from HP could have been a little outdated or could have been lurking in a data silo making it difficult to find the needle in the haystack.

Business Drivers :

1) A pre-defined business value should be the most important step in identifying the need to have an Enterprise Search Platform in a given organization. Example: A smart phone for a sales person Versus Enterprise Search Platform for Support Professional

2) Information that is available in silos namely individual desktops, emails, Intranet Portals, RDBMS, CMS is not projected via a single interface and employees need to run from pillar to post or get help from outside or re-invent the already existing information thereby duplicating efforts

3) Knowledge and Action are tied up and the results of the Search needs some actionable items geared towards monetization or improvement of job productivity of an information worker within an Enterprise

4) Right information to the right people at the right time improving business productivity

5) Different relevancy models for different users in an Enterprise facilitating anticipated discovery

6) Push-Pull model where Search provides related info via push that was not explicitly sought for

More to follow in a sequel to this blog...

Trackback URL for this post:

http://www.allianceglobalservices.com/trackback/716

Medline versus PubMed

Is it prudent to call the title of this blog ‘from Medline to PubMed’ which of course is the truth from a Data Structure perspective because the FIELD queries used for bibliographic searches are much more sophisticated than keyword search queries directly used in PubMed

PubMed is the FREE version of Medline which is maintained by US NLM (National Library of Medicine) and PubMed is the brain child of NCBI (National Centre of Biotechnology Information) in addition to Genbank and BLAST which I will cover at a later time.

·Point your browser to http://www.ncbi.nlm.nih.gov/sites/entrez?db=pubmed which launches the PubMed home page. Entering a string such as ‘Leukaemia’ yields a sizeable count with author name, related citations and most importantly PMID (PubMed Id) which can be used at a later time

·A classic case to use the Fields would be to search for Down which could result in both Down syndrome and an Address containing the word Down. Here we could leverage MedLine fields Down[AB] or Down[AD] for Abstract or Address as applicable which will restrict the count and have meaningful result set

·Click on the display settings to see all formats such as XML, MedLine, Abstract, Summary etc… The option MedLine is an area of interest which is nothing but a pool from which PubMed gathers its information

·The essence of this blog is to use PubMed and the free articles which can be filtered from the LIMITS option available near the RSS icon. The LIMITS\Text option displays check boxes to choose from ‘Links to Full Text’, ‘Links to Free Full Text’ and ‘Abstracts’. Free articles will directly take you to the publishers site and of course, one could purchase anything that is of importance after looking at the abstract

·There are some limitations with PubMed however such as unavailability of Abstracts for references recorded prior to 1976 and no papers prior to 1965

I hope this simple primer will let the reader understand what PubMed is all about!

Trackback URL for this post:

http://www.allianceglobalservices.com/trackback/711

Project Management: Medium Raw

I’ve recently become a fan of Anthony Bourdain. Tony is host of ‘No Reservations’ – a travelogue for those who enjoy international travel, off the beaten path eats, and sarcastic, sinister, and always honest humor.

Tony started as a cook and worked his way up the ranks to owner of ‘Les Halles’ in New York City, through many highs and lows with a mix of cockiness and humility when needed. It wasn’t his cooking that put him on the map though; it was his exposé on what really goes on outside of the dining room in restaurant kitchens – a book called Kitchen Confidential.

In Tony’s recent book, Medium Raw, he declares it a shame that high schools across America stopped teaching Home Economics due to the rise of feminism. Instead of abolishing the class, Home Economics should have been modified to include both genders. Tony believes that everyone should know how to use a knife, how to cook a steak (and let it rest!), how to roast a chicken, and how to make an omelet. These are the basics, the essentials, which everyone should know how to do.

Like Tony, I get frustrated when I watch people ‘butchering’ a craft. In my case, it’s Project Management. I believe there are certain basics, certain fundamentals, which one must do in order to not cut their finger off, decimate the steak, and dry out the chicken. These fundamentals are as follows:

1) Plan. Create a Project Plan. Not just the MPP version which has all the tasks, dates and resources on it, but a real plan describing the project, explaining the deliverables, defining the methodology, documenting risks, special requirements, technology to be used, etc. This is the same as learning to use the knife. If you don’t know how to chop, you should get the hell out of the kitchen.

2) Understand the requirements. Don’t just depend on others to do all the understanding for you. It’s like the owner of a restaurant who has never rolled up her sleeves and cooked. I once worked with a manager who declared ‘I don’t work, I manage.’ And so he managed himself right out of a job.

3) Communicate. Open your mouth and holler when you see a risk. And you better write it down too in a Risk Tracker. You must communicate to your team and communicate to your client. And it’s a lot more complex than that. You need to know how to tailor your message depending on with whom you are speaking. Maybe it’s another Project Manager whose application will be integrating with yours. Maybe it’s your newly hired tester who needs a lot of coaching. Maybe it’s the President of the company. You better know what needs to be shared with each of these fine folks. Just like the chef at a busy restaurant better know when the fish is being delivered, that the dishwasher isn’t coming in tonight, and that the front of the house is getting slammed. And he better know how to communicate with each person to make sure that every customer walks out with a smile on his face.

4) Know your scope. What did you sign up for? What does the agreed upon statement of work between you and your client state? Are you following this? If not, have you put a change order in place and received signoff on it? If not, and you deliver something completely different than the customer asks for, weeks later than originally planned, guess who’s at fault? I don’t care if you added all those fancy bells and whistles… you didn’t deliver on what was promised effectively. You burned the omelet.

5) There is a term in the restaurant business called being ‘in the weeds.’ It’s basically when someone is in trouble and they are having a heck of a time climbing out. If you’ve seen the television show ‘Hell’s Kitchen’ then you have had a chance to see it each week. The ruthless chef, Gordon Ramsay, makes determinations of how to fix it ASAP before the entire restaurant crumbles. He triages the situation and determines if he can get a backup or needs to promptly kick someone out of the kitchen. A good Project Manager knows when her team is ‘in the weeds.’ And with experience can generally triage the situation and get things on the right path. The first step is knowing when there is a problem. The second is figuring out how to fix it. Like Bourdain, I get ready to pull out my hair when I see a green status report coming in every week for a project riddled with major, complex, issues.

And a final basic: Say Thank You. There are times when the team steps up to a challenge, and they need to know it is appreciated. It makes them far more likely to want to step up again when it is called for. It doesn’t need to be grandiose measures – sometimes it means taking the team out for a drink or giving someone a special award. A Project Manager cannot deliver the project by himself. Like the head chef in a restaurant who are dependent on a sous chef, line cooks, wait staff, etc. etc. If you don’t respect your team, how will they ever respect you?

Trackback URL for this post:

http://www.allianceglobalservices.com/trackback/710

The New CMOS - Cloud Mobile Open-source Social

CMOS is a well-known acronym in chip manufacturing meaning "Complementary Metal-Oxide-Semiconductor". According to Wikipedia:

"CMOS" refers to both a particular style of digital circuitry design, and the family of processes used to implement that circuitry on integrated circuits (chips). CMOS circuitry dissipates less power than logic families with resistive loads. Since this advantage has increased and grown more important, CMOS processes and variants have come to dominate, thus the vast majority of modern integrated circuit manufacturing is on CMOS processes.

In other words - because this way of designing and building chips has distinct advantages in improving efficiency and enabling new features, it has become the dominant approach to building chips. Any mainstream (non-experimental) chip manufacturer has settled on this process because of the inherent benefits.

There is a new CMOS taking over the software development industry - "Cloud Mobile Open-source Social." New applications, whether they are commercial software products, internal enterprise applications, or B2C web applications (think "Web 2.0", Linked Data and related) are - by default - leveraging the combination of Cloud, Mobile, Open-source, and Social technologies to enable rich feature, scalable, always on applications that are developed faster and cheaper.

Users expect 24/7 access. Consumers expect to be able to share and tag and link content. Readers expect to be able to access articles and applications on any computer, any device, anywhere. This is a fundamentally different mindset than "traditional" application development and traditional publishing models. It requires new ways of architecting applications and new ways of thinking about data and content. It's a heck of a good place to work!

Trackback URL for this post:

http://www.allianceglobalservices.com/trackback/708

Rules of the Conference Call

Anyone who has had to participate in conference calls, particularly ones that span several time zones, understands the frustration that they usually engender. And lately the conference calls that I've been on have started to get even more frustrating. This video encompasses many of the reasons why and I recommend that you watch it for a much needed laugh after your next conference call:


But on the off chance that the video is not enough to save your sanity, I have compiled this list of rules for conference call etiquette that you can use for your next conference call.

Be On Time: As you could see from the video people arriving late to a conference call can be a big disruption. It's even worse when the person who is late is the one who called the conference or who is critical to the discussion taking place. Lately I've seen a trend for those people to get dragged into an emergency and not send a note rescheduling the call. I think the thought is that since its a conference call people can be working at other things while they wait for the leader to attend. But that's not true for people who gathered into a conference room for the call and even for the people who are sitting at their desk, waiting for the call to start is a distraction. So out of respect for everyone else on the call, please be on time.

Focus on the call: When you are on the call, focus on the call. Don't check your email or have side conversations with the people in the room.

Do a Roll call: Unless the conference call is a company wide announcement where one person is speaking to a large group of people, do a roll call at the start of the call so that everybody knows who is on the call.

Announce Yourself: Unless you are on a small conference where everybody knows each other very well, announce who you are before you say something. That way people can associate the idea with the person.

Don't Engage in a Monologue: Unless the purpose of the conference call is for everyone to hear one person speak, try and keep your comments concise and leave pauses so that you can hear if someone else is trying to say something.

Know Your Equipment: A lot of problems around conference call revolve around people not understanding their own equipment, so I've grouped these issues together:

Make Sure That Your Phone Equipment is Working: Phones or bluetooth headsets that have a lot of background noise or make your voice sound faint, or make it hard for you to hear the other people on the call are all sources of distraction.

Use Your Mute Button: Make sure you know where your mute button is before you join the call and use it whenever you are not the person speaking. This will keep the other people on the call from being distracted by road noises, your children, your dog, the sound of your keyboard as you take notes, etc... By the same token, remember to take yourself off mute when it is your turn to speak.

Don't Put The Conference on Hold: I can't tell you how many calls I've been on where someone has put the conference on hold while they take another call or deal with something in their office. Of course, they don't realize that they've condemned the entire conference to listening to their hold music or the busy signal that comes on when they've hung up after their other call not realizing they put the conference on hold.

End the Call: Finally, when the call is over, formally end the call by wrapping up the meeting and hanging up the phone. I've been in meetings where at the end of the meeting, everyone gets up and walks out, forgetting the people who were on the phone.

I'm sure that this is not an exhaustive list of the do's and don'ts of conference call etiquette, so please feel free to add your own rules in the comments below.

-- Lisbi Abraham


Sunday, September 19, 2010

Interactive Prototypes using Silverlight Sketchflow

A picture is worth thousand words AND a prototype is worth thousand pictures. I have recently read a book by Tom Kelley who works with a leading design firm called Ideo from silicon valley which has been instrumental in designing many great products. The book also emphasizes on an early prototype that can be shared with the customer or end user to avoid an expensive last minute change or surprise.

In this blog I will touch upon Microsoft’s Silverlight Sketchflow Tool which offers an easy to build prototypes for Silverlight or WPF Applications. This blog is for Silverlight based application prototyping.

1) Launch Expression Blend and create a new Silverlight or WPF sketchflow application. A default node is created for you which could be changed to home page after right clicking on the node and selecting the option from context menu. Hover on the node and there are four options available. Selected the first one to create a connected screen

2) In the example below, I have created several connected screens from Home Page such as About, Careers, Products etc… Also provided different color options using the option ‘change visual tag’

3) I also used ‘connect existing screen’ option whose purpose we shall watch after running the project. This is primarly for related nodes(screens)

4) By double clicking each node, I am able to add objects, images etc… for presenting the interactive nature of prototype

5) Used the Sketchflow animation feature to record a simple animation that rotates the image for a given period of time. The sample animation was recorded via transform/rotate option from properties while leveraging the transition time and base state option. More on this can be found in my earlier blogs on Expression Blend

6) Finally, for some of the objects placed on the design mode were componentized by right clicking the object and choosing the option ‘make into component screen’ and re-using the same as appropriate and applicable for a different node/screen instead of re-doing the same feature for a given screen. The reason shall be justified once I run the project and when the Sketchflow player is launched. (Note that you need to draw the connector from the component that needs to reuse )

7) Let’s look at the Sketchflow player that is launched once the project is compiled and ran. As seen from the below image, all the nodes are represented along with Home icon, Sketckflow Animation option and a Feedback option. The Feedback option can be interactively used and exported for a later review which is a real cool option to capture notes during the prototype demo

8) Click on the Sketchflow animation and one can see the animation that was recorded in step #5 above

9) Click on careers and click on the different location sub-menu items. Observe that by using the component feature from step #6, we could re-use the control. Click on the About and see how the contact menu persists which is a resultant of the step #3 above in that a connection to existing screen option was leveraged

With these simple steps one could express the design intent and obtain early feedback from the customer. Most importantly, some of the prototype elements could be re-used during the design/development of the actual application development . For instance, the animation part.

Trackback URL for this post:

http://www.allianceglobalservices.com/trackback/706

Avoid Dropping the Baton: Use a RACI

At the Beijing Olympics in 2008 both the US men's and women's relay teams failed to advance past the first round of the 400-meter relays. In both instances, the reason was that someone dropped the baton.

In track and field, the incoming runner must work hard to avoid dramatic changes in speed and stay in their predetermined part of the lane. In the nonvisual exchange, it is the responsibility of the incoming runner to place the baton in the hand of the outgoing runner. The outgoing runners position themselves in a stance that will allow acceleration and will allow them to see the incoming runner approach. As the incoming runner hits the mark, the outgoing runner turns forward and begins accelerating. At the predetermined point, the outgoing runner moves the receiving hand into position and leaves it there-keeping it as still as possible-until he has received the baton. The outgoing runner must avoid "fishing for the stick" and should keep the hand steady. The incoming runner can see the hand, and it is this runner's job to put the stick in the right place. But even Olympians seem to have trouble with these complex handoffs.

How many times in our project delivery, do we determine that someone "dropped the baton"? The issues we find in root cause analysis might say "code did not meet standards," "missed requirements," or "bugs not identified until after production release," but what this really means is someone did not do something.

Why? Generally I have found that the key reason is an improper handoff because of a lack of understanding or poor communication. The tester didn't cover this new piece of functionality in his test cases. Oops. The business requirements specification was never signed off by the business. Oops. The project manager failed to communicate the change in date to the client. Oops.

To avoid all these "Oops", I have a suggestion. And I cannot promise it will solve these failures, I can share with you that on projects where this activity has been completed, the handoffs are much crisper because communication has greatly improved.

My suggestion is that the project team takes the time early in the project to complete the RACI Matrix together. For those of you who haven't heard of a RACI (were you sleeping through that in your PMP class? J ), this is a document (usually in Excel) which defines for each project activity, who is Responsible, Accountable, Consulted, and Informed. It's a simply grid but it goes a long way in clarifying team members' roles and ensuring that everything the team needs to do in the project is taken care of. Some of you may be thinking - but everyone knows their role. They have a title and a bullet pointed list of things to do. How nice. And I'm sure everyone on your team read each other's role description in detail and know exactly how they can work together effectively too, right? Good luck with that.

We've started using the RACI on multiple projects at Alliance and I have seen the benefit of teams having open conversations about who is accountable, who the ‘doers' are and who needs to approve artifacts before they are complete.

My top 5 tips to facilitate the completion of the RACI are as follows:

  • 1. Make sure you have clear definitions of each letter of the RACI. There are quite a few deviations on the letters. Whatever you agree to, make sure the team understands each letter before starting the exercise.
  • 2. List all team members across the top of the matrix (give each one a column!) and make sure each person attends the meeting.
  • 3. This should NOT turn into a project plan. List major tasks, deliverables, activities - but know when to stop.
  • 4. Allow the (sometimes uncomfortable) conversations to happen between the team members - especially about who is accountable and responsible. What may happen is that the team realizes where they were dropping the baton. It's really important to determine who is going to take it. A person in the group may realize during the meeting that they were the person dropping the baton. Leave that behind. You are now establishing the new rules of the road.
  • 5. Do this at the start of the project - once you know enough about the scope and deliverables to be effective. Revisit it from time to time - especially when you are starting to see deviation.

Trackback URL for this post:

http://www.allianceglobalservices.com/trackback/705

Zombieland and Rules for Customer Service

(As I proofed this blog, I became concerned people would think I was calling my customers zombies. Far from it. I am only using the current pop culture theme of zombies humorously to portray some of my heartfelt rules for customer service. Please keep this in my as you read my first blog entry…)

The main character in the movie Zombieland, named Columbus, has mastered survival in a post-apocalyptic zombie world largely due to his obsessive compulsive traits.He attributes his unlikely survival to a list of “rules” he authored to survive a place where zombies significantly outnumber humans. Columbus' ability to remain alive is the reason he is one of my customer service heroes.

Columbus’s Rule number two is “Double Tap”, meaning one gun shot to a zombie is usually not enough and should be followed up by a second pop. This sums up one of my main customer service rules which I now call “Double Check”. After correcting a technical issue with a customer, I always try to check back a second time to make certain the issue did not re-occur and to see if there are any follow up questions. Any question I can answer often averts a major issue in the future or reveals a new problem that hasn’t become crippling for the customer…yet.

Rule number 8 is “When in Doubt, Know your way Out” refers to making certain one knows the way out of any building or room, so that it is faster to escape zombies. Zombies can pop out anywhere at any time. If you are prepared with an exit plan, you have one less thing to worry about. Same is true for customer service issues. One time I received an urgent tech support call while in the men’s room. The caller needed the password for the encryption software and was on the way to meet with the client. I was able to address the issue at that moment because I had already put the credentials into my Blackberry.

Rule number 10 is “Check the back seat”. In a zombie infested world, it is a common escape tactic to jump into any car and speed away from a horde of ravenous undead. However, the effectiveness of this is negated of there is already a zombie in the back seat. Checking the back seat is also a wise customer service move, and can lead to more customer service satisfaction if done on a regular basis. For example, if you find yourself with a client correcting an issue, always check to see if there are any other problems you can fix while you are there. This is particular stunning when you fix an issue the customer knew about and another one they missed.

Rule number 11 is “Enjoy the little things”. Surviving in a world full of creatures that want you to be breakfast, lunch, dinner, and snacks is demoralizing and can make you crazy. This, at times,is the world of customer service. So take the time to enjoy customer service successes and the praise from a satisfied client.

I am not saying that customers are zombies (although many would argue they sometimes act like them – I am getting to this point soon) nor am I saying customers are soulless and hell-bent on eating customer service reps alive (well, maybe deep down we all feel that sometimes but I will discuss that in a later blog.) I am saying all of us can act like a zombie when facing a crippling issue. If my hard drive crashes I cannot do any work and I am consumed by this one need to get back to work; any delay in resolution makes me more and more crazy, much like a zombie.

Please post any experience you have had in which you helped a zombie or became one yourself.

Trackback URL for this post:

http://www.allianceglobalservices.com/trackback/704

Managing Customer Expectations

As I had mentioned in my post on defining project success, one of the potential measures for project success is Customer Satisfaction. And one of the most powerful ways of achieving customer satisfaction is to manage their expectations - not only at the start, but throughout the entire project. In order to manage their expectations, it helps to do the following:

Ask Questions!: The best way to understand what your customer is expecting is to ask questions. Lots of questions! Not only do you need to capture their explicit expeciations, but there will always be implicit expectations that a customer will forget to mention. It's up to you to ask enough leading questions to capture those expectations. To figure out what questions you should ask, you need to put yourself into the customer's shoes and think about what your expectations might be.

Pushback!: Not every customer expectation is going to be reasonable. It's up to you to let them know what is achievable. That doesn't mean you should say no to what they want, it means that you should work with your customer to meet as much of their expectations as possible, and be honest with them about what is not.

Set up a Feedback loop: Take as many opportunities as you can to ensure two-way communication with your customer that allows you and them to provide feedback to each other. For instance:

Document: After you think you understand your customer's expectations, document them in your own words and provide them to your customer for review. When something changes, as it inevitably will, document that as well.

Build a prototype: As I discussed in a previous post, prototypes are great for fleshing out requirements and making sure that you are on the same page with your customer.

Provide interim releases: The great thing about Sprint based development is that at the end of each Sprint, the customer has a working system that they can use and explore, and most importantly provide feedback on. This feedback can be incorporated into the next Sprint. This cycle allows you to keep in synch with the evolving expectations of the client.

-- Lisbi Abraham

Trackback URL for this post:

http://www.allianceglobalservices.com/trackback/703

Monday, September 13, 2010

The Role of the Product Manager

As we discussed in the last two posts, one of the key factors in the success of any project is ensuring that each team member is clear about their own roles and responsibilities, as well as the roles and responsibilities of those around them. This time I'd like to focus on the role of the Product Manager. They may also be known as the Functional Representative, and sometimes even as the Subject Matter Expert (SME). However, in the case of the SME, their responsibilities typically don't cover everything that I consider to be integral to the role of the Product Manager. So, here we go - these are the basic functions the Product Manager should be expected to perform on a project:

TAGS:
Program Management
Product Manager
Project Success
Roles and Responsibilities

Monday, September 6, 2010

Website Hacking

Hacking is hackneyed for the hacker, but is a serious issue for corporates whose websites happen to be the face of the company to the external world. Corporate websites are also the point of sale for ecommerce activities.

US.gov websites are the most highly targeted web sites when it comes to hacking. Others are not an exception. A lot of security centric companies invest resources towards ethical hacking to understand a hackers mindset and counter measures thereon.

With hosting service providers being the de facto standard for most of the SME’s web site needs, some amount of control or total control is provided to the customer which might vary as per the contract.

Consider a situation wherein your house was burgled and you lost something which is very priceless such as an old photo album or a bottle of wine that was aged for 15 years and of course cash and expensive jewellery that were the main items of concern. You were procrastinating to get a security system installed or get the Rottweiler or the Doberman to guard your house.

The analogy can be applied to corporate websites as well which if gets hacked could lose price less information as well as information having monetary value. On the priceless front, it could be a prospective partner trying to access your site for potential tie up and on the monetary front : source code, prospective customer visits or any other internal assets. Denial of Service is one side of the story followed by revenue impact and angry users who may never re-visit the site.

Certain fundamental steps shall insure and safe guard your internet site from a potential hacker. These are in addition to what you could insure after using a threat modelling tool coupled with SQL Injection, Cross Site Scripting verification amongst other things.

1) Have a strong password policy for the root user. This should not be limited to special characters, combination of upper and lower case. It is more of a pass phrase. Avoid predictable names such as companyName123, companyName123$, companyName~1. These are easy to crack

2) Disable all unwanted ports such as FTP, Telnet as these could make your site vulnerable for data siphoning

3) Have captcha mechanism where user is expected to fill in information to circumvent automated spam programs

4) Have logic built into your code to identify suspicious IP Addresses OR use a fire wall mechanism by the service provider

5) Make sure, there are no executable links available from the view source option. Media Files that could make a call to the server is one such example

6) Optimize the code to insure media files are not calling the server for content every now and then

7) If using a Linux environment, make sure to have the upper limit of numprocesses, numfiles set to a higher and a realistic value after looking at the lsof output to counter spam hits

8) Peer review of the code OR use a code analysis tool

These simple steps might let you avoid a burglary like a situation that I quoted earlier!
Application Development Services

Sunday, September 5, 2010

The Role of the Executive Sponsor

As we discussed in the last post, one of the key factors in the success of any project is ensuring that each team member is clear about their own roles and responsibilities, as well as the roles and responsibilities of those around them. This understanding of their role extends beyond the immediate members of the project team and even to the Executive Sponsor. For all projects, but especially for large projects, the Executive Sponsor is critical. He provides the vision, and usually the funding and some of the key resources.

For the Executive Sponsor, these are the basic functions they should be expected to perform on a project:

Visionary: The Executive Sponsor needs to provide the vision for the project. He needs to have a view of how the project aligns to the corporate goals and benefits the organization. He should also be able to articulate the project's overall objectives.
Champion: The Executive Sponsor needs to be the project champion. Especially for projects that require a change in the organization or a change to a business process, the Executive Sponsor needs to be the champion who reinforces to the entire organization that the project has executive backing and that they are all expected to support the change in the interest of the project goals.
Fullback: The Executive Sponsor will be the fullback for the project team in general and especially for the project manager. He will block obstacles and distractions from impacting the project team, and he will clear the path for the team to succeed.
Quartermaster: The Executive Sponsor needs to ensure that the project team gets all the resources they need to succeed. The project manager will identify the resources, but the Executive Sponsor needs to provide the backing that ensures that the resources are allocated quickly.
The Pig: The Executive Sponsor needs to be the person who is ultimately responsible for the success or failure of the project. In the adage about the pig and the chicken and their involvement in the making of a breakfast of ham and eggs, the chicken is invested in the breakfast - but the pig is definitely committed. Similarly, the Executive Sponsor needs to be committed to the project, because only then will the project have the attention and focus from the Executive Sponsor that it needs.

Do you know your Net Promoter Score?

As the IT industry as a whole matures, metrics are becoming increasingly important in order to track performance and determine organizational goals around quality and productivity.We spend a considerable amount of time at Alliance measuring what we’ve defined as the RightMetrics: items such as Schedule Variance, Resource Utilization and Defect Density.

I will assert that most companies, especially in Information Technology, DO NOT spend enough time listening to their customers.Equally, if not more important, is what Fred Reichheld coined as ‘The Ultimate Question’ in his book, published by the same name.("The Ultimate Question" was ranked #1 on the Wall Street Journal's Business Best-Sellers List and #1 on USA TODAY's Money Best-Sellers List.)

The single question is as follows:

"How likely is it that you would recommend our company to a friend or colleague?"

The answer to this question can be divided into three categories:

1)Promoters (9-10 rating)

2)Passives (7-8 rating)

3)Detractors (0-6 rating).

To calculate the ‘Net Promoter Score’ NPS®, the percentage of Detractors is subtracted from the percentage of Promoters.

We have adopted the Ultimate Question into our Right Experience customer loyalty program.This is a question we are passionate about asking during our customer online satisfaction surveys as well as the site interviews we conduct face-to-face with clients.

At Alliance we scored a 60, scoring nearly 2x better than our closest competitor. And we won’t stop there.We’re very focused on improving our performance to move every customer into the ‘promoter’ category.

Do you know your score and how you compare to your competitors?

We’d love to hear your questions /comments about Net Promoter and the Customer Experience.

Wednesday, August 4, 2010

Alliance Global Services Announces Outstanding Results from Bi-Annual Client Satisfaction Survey

Conshohocken, PA, USA – August 3, 2010 Alliance Global Services, a premier global software solutions firm, today announced that it has successfully completed its first half of 2010 Client Satisfaction Survey with outstanding results. Alliance’s approach to client relationships involves setting accountabilities as in all of the company’s areas of business. The Client Satisfaction Survey program measures performance through data collection, metrics, actions and follow-up progress.

“Throughout the relationship, we ask our clients, ‘how are we doing and what can we do better?’ The Client Satisfaction Survey puts a formal and measurable program around those questions,” said Lauren Feehrer, VP of Delivery and manager of the program. “After receiving our clients’ results, we set up a comprehensive plan to follow up on specific areas and to continue overall improvement, a commitment outlined in our business strategy.”

Alliance measures performance areas including Delivery, Account Team, Project Management and Products and Services through an online survey to each of our clients. A key metric adopted by Alliance is the Net Promoter Score (NPS), a standard in gauging a client’s perception of the success of the relationship. Alliance scored a 60% NPS, over four times the industry average of 14%.* In addition to checkpoints throughout the life of the engagement, the Client Satisfaction Survey is conducted twice a year.

“I am extremely proud of the outstanding results and our team members who continuously receive excellent scores,” said John Castleman, President and CEO of Alliance Global Services. “The success of the program lies in the transparency and trust we have with our clients to openly share feedback so that we can perform at the highest level of customer service.”

Additional highlights include the following percentage of our clients scoring us excellent or good in the areas listed below:

• Business Alignment – 93% of our clients believe we are excellent or good at understanding their goals and objectives.
• Communication – 94% of our clients believe we are excellent or good at communicating effectively.
• Delivery – 91% of our clients believe we are excellent or good at achieving the statement of work.
• Effort – 96% of our clients scored us excellent or good on our willingness to go the extra mile.

To find out more about the Customer Satisfaction Survey, a part of the RIGHT Experience program, please visit us at http://www.allianceglobalservices.com/about-alliance/our-philosophy.


About Alliance Global Services
Alliance Global Services is a software solutions firm providing the full life cycle of capabilities from strategic guidance through product development, quality assurance - testing, and application maintenance outsourcing. With our proprietary RIGHTLINE methodology, we focus on cost effectively building and maintaining software products and applications for software, content and data intensive companies whose businesses depend on software innovation. Founded in 1994, Alliance is headquartered in suburban Philadelphia, Conshohocken, PA. The firm's worldwide offices include: Boston, Chicago, Bridgewater and Hyderabad, India. For more information, visit www.allianceglobalservices.com.


http://www.allianceglobalservices.com/news/alliance-global-services-announces-outstanding-results-bi-annual-client-satisfaction-survey

Friday, July 2, 2010

Institutionalizing IT Knowledge – More Critical Than Ever July 15, 2010 at 2 P.M. EDT

OVERVIEW

In 2009, many IT organizations were faced with the challenge to do more with less, leading to decreased staffing and consequentially to key internal resources focused solely on activities designed to keep the lights on. In 2010 IT hiring has returned to 2007’s pre-recession levels and is expected to go higher with the IT sector leading the way. As we emerge from this period of survival, it is more critical than ever for IT organizations to retain knowledge from their key resources, knowledge that is critical to the success of your business.

Few organizations recognize the true costs associated with attrition and allow valuable corporate assets (knowledge) to disappear with the individual. With attrition expected to be 22% or higher in 2010, effectively transferring knowledge from the individual to the organization is more critical than ever. You may not be able to retain all of your employees but you need to develop a proactive plan to retain their knowledge before it walks out the door.

During this webinar, we will discuss mitigating the risk of attrition through institutionalizing knowledge and the key role an Application Maintenance Outsourcing (AMO) program can play in this initiative. Further, we’ll discuss tools, techniques and processes designed to facilitate this knowledge capture and how to effectively use an AMO in your organization to successfully accomplish this while rewarding key employees for their loyalty.

This webinar will answer several key questions:

  • What is the real cost of attrition?
  • How can I mitigate risk by institutionalizing knowledge? How can an AMO help?
  • How do I proactively capture, store, and maintain this critical corporate asset - knowledge?
  • How should I effectively use AMO in my IT sourcing playbook?

WHERE
At a webinar accessible from a desktop, laptop, iPad or smartphone

WHEN
July 15, 2010 (Thursday), at 2:00 PM EDT for 45 minutes including Q & A


FEATURED SPEAKERS

  • Scott Niness – Vice President, AMO Practice
  • Sharon Lee (Host) – Director of Marketing

WHO SHOULD ATTEND
C-level and IT Executives

Saturday, March 13, 2010

Radian Group Inc. chooses Alliance for providing a multi-year application maintenance and support services agreement

March10, 2010,Conshohocken, PA, USA: Radian Group Inc. recently signed a multi-year agreement with Alliance Global Services to outsource their application maintenance and support efforts for all the applications supporting their Financial Guaranty business. The decision was made in an effort to institutionalize knowledge and utilize Alliance’s proven Application Maintenance Outsourcing (AMO) model and Perfective Maintenance methodology.


“We have been working with Alliance for several years and the driving force behind this decision was to tap into their AMO best practices and proven capability to institutionalize knowledge for business solutions that support the model. We needed a way to mitigate risk and ensure the systems would remain stable and Alliance fit the bill nicely. We chose them because they have a deep understanding of the AMO market, had a methodology designed to meet and exceed our existing service levels and proved they were willing to do what it took to make us successful” said Lawrence DelGatto, Executive Vice President and Chief Information Officer, Radian Group Inc.

About Alliance Global Services

Alliance Global Services is a software solutions firm that delivers across the complete software lifecycle from strategic guidance, application development, quality assurance & testing, through ongoing optimization and maintenance. Founded in 1994, Alliance has provided more than $1 billion in services since its inception while supporting hundreds of unique applications on a daily basis. Utilizing its unique RightLine methodology the firm has proven a unique ability to deliver technology initiatives that drive measurable business impact across clients and industries. Headquartered in suburban Philadelphia, Conshohocken, PA, the firm's worldwide offices include: Boston, Chicago, Bridgewater and Hyderabad, India.

About Radian

Radian Group Inc. (NYSE: RDN), headquartered in Philadelphia, provides private mortgage insurance and related risk management products and services to mortgage lenders nationwide through its principal operating subsidiary, Radian Guaranty Inc. These services help promote and preserve homeownership opportunities for homebuyers, while protecting lenders from default-related losses on residential first mortgages and facilitating the sale of low-downpayment mortgages in the secondary market. Additional information may be found at http://www.radian.biz.