Archive

Rural Sourcing - An Alternative to Outsourcing

Many people in the IT industry have seen the rapid growth of outsourcing as a threat. Reactions cover a wide gamut of feelings but for IT professionals whose roles are subject to outsourcing, fear and anger seem to be the prevailing sentiments; fear of job loss and anger at companies/management for outsourcing. Emotion aside, the viability of the outsourcing business model is typically analyzed from a cost savings perspective. The cost analysis has matured since the arrival of outsourcing and now takes into account many of the “hidden” factors which eroded or eliminated the value of outsourcing. Still, with maturity does not come ease; outsourcing is not something you dabble in and requires a well crafted, long-term strategy to realize savings. Ok, I’m a little off track.

From an economic standpoint, there is a strong argument for outsourcing. A couple of excerpts from Daniel W. Drezner’s article “The Outsourcing Bogeyman” provide compelling evidence in support of the economic benefits:

Catherine Mann of the Institute for International Economics conservatively estimates that the globalization of IT production has boosted U.S. GDP by $230 billion over the past seven years; the globalization of IT services should lead to a similar increase. As the price of IT services declines, sectors that have yet to exploit them to their fullest — such as construction and health care — will begin to do so, thus lowering their cost of production and improving the quality of their output.

and

McKinsey Global Institute has estimated that for every dollar spent on outsourcing to India, the United States reaps between $1.12 and $1.14 in benefits. Thanks to outsourcing, U.S. firms save money and become more profitable, benefiting shareholders and increasing returns on investment. Foreign facilities boost demand for U.S. products, such as computers and telecommunications equipment, necessary for their outsourced function. And U.S. labor can be reallocated to more competitive, better-paying jobs; for example, although 70,000 computer programmers lost their jobs between 1999 and 2003, more than 115,000 computer software engineers found higher-paying jobs during that same period. Outsourcing thus enhances the competitiveness of the U.S. service sector (which accounts for 30 percent of the total value of U.S. exports). Contrary to the belief that the United States is importing massive amounts of services from low-wage countries, in 2002 it ran a $64.8 billion surplus in services.

My understanding of the benefits of outsourcing has improved but I am still concerned that the impact is not without ill effects. What ill effects? I’ll leave that discussion for another time but for now I’ll just say that the impact of globalization and the increasing pace with which we need to adapt to globalization (e.g. outsourcing) may not be best for a balanced society.

Is there an alternative to outsourcing that can yield cost savings while supporting regional economic development? Possibly, and its called rural sourcing. Rural sourcing is defined as follows:

“Sending work to service providers in domestic locations where salaries and operating expenses are lower (such as the Midwest for the United States). An alternative for companies that want to avoid the negative aspects of offshoring.”
http://www.sourcingmag.com/dictionary/Rural_sourcing-158.htm

Ever since I heard about rural sourcing I have been enticed by the business model. On the surface, the cost savings may not appear competitive when contrasted to outsourcing, but when all the “hidden” outsourcing costs are factored in, rural sourcing may provide a serious offering. Will rural sourcing stop outsourcing? No. Can rural sourcing help revitalize regional areas that are in need of an economic boost? Can rural sourcing help retain high-skilled workers while allowing companies to save on labor costs? Yes, according to a rural sourcing company called, not surprisingly, Rural Sourcing Inc. Rural Sourcing claims to offer “…low-cost, high quality information technology services at 30%-50% cost saving while supporting Regional Economic Development“.

Technorati Logo , , , ,

Zero Feature Release - The First Iteration

I was recently in a meeting to discuss and help refine my company’s solutions approach when I mentioned the importance of having a “zero feature release” (ZFR). Some people in the meeting were not familiar with the meaning of a ZFR. I went on to explain that a ZFR is essentially the release of the project’s first iteration that includes all components of the project’s architecture and infrastructure (or as many as possible), but “no features”. Why is this so important? Because highlighting and addressing architectural issues early, is significantly easier than addressing them during later release stages. Leaving core architectural pieces to later release stages can dramatically increase project risk in terms of time, quality, and costs.

A couple of quotes from Kent Beck’s book Extreme Programming Explained highlight the focus of the first iteration:

…the first iteration must be a functioning skeleton of the system as a whole… For the first iteration, pick a set of simple, basic stories that you expect will force you to create the whole architecture. Then narrow your horizon and implement the stories in the simplest way that can possibly work. At the end of this exercise you will have your architecture.
(Beck 113)

The first iteration puts the architecture in place. Pick stories for the first iteration that will force you to create ‘the whole system,’ even if it is in skeletal form.
(Beck 134)

Deployment and configuration issues (like architectural issues) must also be identified as early as possible. Too often, deployment and configuration issues arise later in the project lifecycle creating project delays, increasing costs, and risking the quality of the deliverable. Therefore, in addition to an architectural focus, a zero feature release must also be focused on validating the deployment and configuration of the system.

Technorati Logo , , , , ,

HL7 Insight

Do you work with HL7 2.X messages and need to decipher field content? Ever spend time counting segment fields in HL7 2.X messages trying to locate and understand content of interest? If so, then HL7 Insight will help save you time, giving you quick insight into your HL7 message content. Summary of features:

  • Load an HL7 message, point the mouse at segments and fields of interest, and receive instant tooltip-style feedback, including: segment ID, field number, field length, optionality, and detailed data type information;
  • Supports all HL7 2.X versions up to and including version 2.5;
  • Supports HL7 message “batches” (note: the BSH and FSH segments are not currently supported and must be excluded from the batch before displaying in HL7 Insight);
  • Colorizes the HL7 message text;

Sample HL7 Insight screen shots:

HL7 Insight Screen Shot 1

HL7 Insight Screen Shot 2

The HL7 Insight tool is currently in beta and has not yet been extensively tested with all HL7 2.X versions. Please let me know if you encounter any bugs/issues or if you have any questions and/or suggestions. After installation please see the file “ReleaseNotes.txt” for a list of known issues.

You can download beta 1 of HL7 Insight here.

Technorati Logo , , ,

Experiences with Team Build

Charles Young has written a very nice article on his experiences with Team Build and Team Foundation Server.  His summation on software builds is precisely what I’ve been saying years:

Build is difficult.  To this day, it all too often remains the Cinderella of dev team activities with too little awareness of the importance of properly resourcing this requirement.  Developers, who should be coding, instead spend much of their time struggling to try to achieve and maintain a stable build process, with really damaging consequences to the health of development projects.

Technorati Logo , , ,

HTML Generator Stylesheet for BizTalk 2004 Maps

One of the frustrations with BizTalk 2004 maps is the obscurity of functoids when viewing maps in Visual Studio. Depending on the volume of functoids in a map and/or depending on the degree of functoid chaining, easily understanding functoid usage can be impossible without diving into the functoid properties. So, I’ve written a stylesheet that transforms a BizTalk 2004 map into an HTML view containing the following information:

  • The node links between source and destination schemas.
  • All functoids used in the map are displayed with their parameters.
  • Chained functoids are displayed as nested “function” calls.
  • For HL7 schemas where source and desitnation are the same message type, links between different nodes are highlighted. The way I do this is not reliable as it depends on detecting a pattern in the root node name; looks for node names ending in ‘GLO_DEF’. Is there a more reliable way?

The other advantage to having HTML views of your maps is that HTML is a much more friendly format to share with non-developers who need to understand the transformations (e.g. testers) and who may not have access to Visual Studio.

You can download the stylesheet here. Consider it a beta version as it has not yet been fully tested (e.g. haven’t tested against all functoids, haven’t verified that all links and functoids are being reported correctly, haven’t tested against a wide variety of maps, etc).

At the moment I’m running the stylesheet using the Microsoft command line transformation utility (msxsl). Other more seamless approaches would be:

  • A right-click explorer context menu for “.btm” files that would present a menu item to transform the map into an HTML view.
  • Integration into Visual Studio so that you can choose to open a map as an HTML view (can’t remember how best to do this but I’m sure it can be done).

I’m sure there are a number of improvement/enhancements that can be made (e.g. including the functoid/link label attributes in the output). So please feel free to provide any feedback/ideas you have.

Following is a sample screen shot of an HTML view of a BizTalk HL7 map (click on the image to see the actual HTML):

Technorati Logo , , , , , ,