Home > AS/400 Tips > WebSphere Strategies for iSeries professionals > Insourcing beyond outsourcing
iSeries 400 Tips:
EMAIL THIS
 TIPS & NEWSLETTERS TOPICS 

WEBSPHERE STRATEGIES FOR ISERIES PROFESSIONALS

Insourcing beyond outsourcing


Jim Mason
08.05.2004
Rating: -4.00- (out of 5)


Digg This!    StumbleUpon Toolbar StumbleUpon    Bookmark with Delicious Del.icio.us   



Jim Mason

In this article, we'll take a brief look at the value, risks and issues of offshore outsourcing for iSeries Java Web development projects. While any project can have challenges, there are some that appear more often with offshore outsourcing projects. We'll look at a new model that can address some of those risks and issues: insourcing.

Why offshore outsourcing looks good

In reviewing how any project management approach delivers results, there are usually examples of great successes, great failures and many projects with mixed results. Offshore outsourcing fits this pattern, also.

The model for an offshore team is to create a large pool of low cost developers billed on an hourly or fixed price basis -- depending on the project definition done up front. This offshore team designs and develops the application and the documentation.

The offshore development team usually has a small, onshore team that directs their work on projects. Usually this results in a part-time account executive, a part-time project manager and a part-time analyst. Sometimes the analyst will be on site at the company for long periods of time.

There are many variations, but the life-cycle of a typical outsourcing project may look like this:

  • A period of heavy up-front design with the customer to capture requirements
  • A long period of offshore development that may be phased for delivery of software modules
  • A period of integrated system testing with the customer

    There may be a period of transition to an in-house administration team for support or the support of the application may stay outsourced.

    Compared to local consulting companies, the offshore outsourcing team has a significantly lower hourly rate in most cases making them attractive for larger projects.

    Compared to using existing, in-house teams trying to learn Java on their own, the offshore team has many advantages:

  • Skilled, certified Java developers
  • Knowledge on how to manage Java Web development projects
  • Experience delivering Java Web applications
  • Lower hourly programming rates

    Usually offshore teams follow many standard IBM Best Practices models and solutions. IBM services teams have implemented many types of e-business solutions. As a result, they promote the theory that the pattern for a solution they've done for one business should apply equally well to your business.

    There a wide number of examples where offshore outsourcing has delivered Java Web applications that meet the customer's requirements and cost less than many traditional in-house development options.

    Issues with offshore outsourcing

    Sounds good so far. What are some of the issues with offshore outsourcing?

    It's a significant effort to setup an offshore outsourcing project in most cases so smaller projects are rarely outsourced overseas. They're either done in-house or, if the skills don't exist in-house, they're done by local consultants.

    Recently I was hired as a technical project manager to rescue an offshore project gone bad. Forget the normal problems that can crop up in ANY project: poor design, poor project management, poor coding, poor testing, and poor documentation and so on. I found other, specific problems more common with offshore development. Auditing all the hours that were billed by an offshore team on a recent project, I found that:

  • A lot of hours could have been eliminated altogether as programming tasks
    There wasn't a strong incentive to do better than standard J2EE Best Practices so many items were programmed that could have been other ways: by users, by better tools, by better engineering.

  • Most of the development could have been engineered to use less skilled developers
    As skilled Java developers, the offshore team didn't worry about engineering a simplified software architecture that could easily be built and maintained by developers new to Java. Lowering the required skill levels needed, supplying beans that simplify development and using tools like WebSphere Development Studio Client (WDSC) that can generate, visually edit and script Java code make it a much easier task for existing iSeries developers to learn enough Java to make real contributions on projects quickly.

  • The reusability of software developed on future applications was lower than expected
    While Java offers much greater potential for reuse than RPG or COBOL can, it isn't automatic. On this project, many Java applications were hard-coded for a specific purpose, much like RPG is today. Like many Java projects, there were a wide variety of subsystems to be completed on the project. Most of them could have been built as powerful, generic utilities that would be reusable on many projects instead of the hard coded approach used by the offshore team. In many cases, this could have saved hours even on this one project!

     

    Work item

    Issues

    Requirements

    Requirements were done with users as use cases following standard procedures but never validated

    Engineering

    Best practices were really an excuse not to spend sufficient time engineering an optimal solution for this company

    Design

    Design practices meet current standards.  Struts and hibernate frameworks were used.  The database model was a rich, well-normalized model

    Development

    The coding was generally good, consistent and reasonably tight in style.  While some tools were used to help productivity, more could have been used that weren't

    Testing

    Testing was really unit testing although the offshore team insisted it was system testing

    Documentation and training

    Truly an after thought.  When I arrived near the end of the project, none had been done

    Administration

    No real thought toward this deliverable

    Maintenance

    The offshore team assumed they would do all maintenance so there was no need to document the system or make it easier to maintain

    Support

    No real thought toward this deliverable

    iSeries expertise

    This wasn't the first iSeries project done by the offshore team.  They claimed they understood the iSeries well.  They knew nothing about how the iSeries works differently than other platforms.  The database access methods were wrong.  The processing of batch applications was wrong and so on.

    Work item Issues Requirements Requirements were done with users as use cases following standard procedures but never validated Engineering Best practices were really an excuse not to spend sufficient time engineering an optimal solution for this company Design Design practices meet current standards. Struts and hibernate frameworks were used. The database model was a rich, well-normalized model Development The coding was generally good, consistent and reasonably tight in style. While some tools were used to help productivity, more could have been used that weren't Testing Testing was really unit testing although the offshore team insisted it was system testing Documentation and training Truly an after thought. When I arrived near the end of the project, none had been done Administration No real thought toward this deliverable Maintenance The offshore team assumed they would do all maintenance so there was no need to document the system or make it easier to maintain Support No real thought toward this deliverable iSeries expertise This wasn't the first iSeries project done by the offshore team. They claimed they understood the iSeries well. They knew nothing about how the iSeries works differently than other platforms. The database access methods were wrong. The processing of batch applications was wrong and so on.

    Beyond the technical issues, the project manager failed in many basic areas. When I got involved, the project had already taken almost twice as long as originally promised and development was only about 80% done.

    While clearly a lot of the problems listed above aren't repeated on many offshore projects, the basic challenges of minimizing programming hours, better user integration in the project, better engineering, better reuse and better design for maintainability and skills transfer are critical for many offshore projects.

    Insourcing model for Java Web development

    The goals for insourcing are really the same goals you have for any development project:

  • Meet the user requirements
  • Reuse existing software assets wherever possible
  • Create applications that are easy to use, maintain, administer and support
  • Minimize overall project costs from design through implementation
  • Create application components and modules that are reusable on future projects
  • Develop in-house skills to maintain and build e-business applications productively

    The insourcing model we use for managing iSeries Web development projects meets these goals by bringing project control back in house. As an insourcing provider, we meet the goals listed by supplying the skills sets and staff needed for this project after first reusing a customer's resources (developers, staff and software) wherever it's cost effective. Our consolidated insourcing team approach effectively brings project management, training, engineering, application development and testing under in house control.

    In the ideal model, the company has a highly skilled project manager available in house. Our company supplies technical project management, application engineering and design, custom training workshops for in-house developers. Our goal is to use your developers and administrators wherever we can make them productive on the project. Our insourcing team uses our staff for the balance of the more advanced development and administration tasks.

    To subcontract as much development to your staff as possible, we:

    1. Engineer the application to require simpler development skills
    2. Use better tools and frameworks to simplify development
    3. Create custom training workshops to get your staff up to speed quickly

    Of the five Java development skill levels, we train in house staff to use level one to three skills ( wizards, visual editing and Java application scripting). We engineer the application, design it and build the key components and frameworks needed that allow the customer to do more of the work themselves. On some first projects, we've been able to get the customer to build as much as 70% of the first real application themselves. This, of course, depends on the specific application, our engineering and components and the workshop training the customer developers go through.

    Insourcing benefits over offshore outsourcing

    With the insourcing team managing the overall and technical project issues, the project life cycle is different:

  • Requirements are defined with use cases again.

  • We use QuickWebWorkshops to build small, proof of concept prototypes that teach the in house staff how to do development and validate the user requirements clearly.

  • The custom application engineering for the company's project beats generic best practices solutions by lowering total development hours dramatically in many situations.

  • In design, we use all the company's existing software that can be reused along with IBM tools for iSeries such as JTOpen and WDSC and a wide variety of open-source and other third-party tools.

  • Instead of a few big code drops during the project, we have smaller, iterative drops for user testing and feedback with the in house staff providing tighter control to the project.

  • During the development stages, the in house staff is actively involved both in design, lending their application knowledge to our designers, and developing significant portions of the application.

  • With tighter communication, the company is involved in most of the engineering and design detail decisions even where we are building the frameworks.

  • Throughout the project, the in house staff that will inherit the application is involved in documenting and testing it using automated tools wherever possible.

  • Leveraging the broad market of open-source tools lowers the total project hours a lot and provides no-charge, flexible licensing for software components.

  • If we have large amounts of application coding that can't be done by in house staff we have the option of doing that with hourly offshore resources under the control of the insourcing team to keep costs low.

     

     

    Work item

    Insourcing Improvements

    Requirements

    The use case model is validated with simple mockups or working prototypes on key items.  It takes longer BUT helps prevent the discovery of requirements during system test

    Engineering

    With strong iSeries, e-business engineering support involved in detail project design with the users and using a wide variety of tools, there are great opportunities to eliminate and cut programming hours, lower development skills required, increase productivity, create reusable routines and drive solutions to fit the company's real needs well instead of defaulting to generic, Best Practices models are only a starting point here.

    Design

    With better engineering, validated requirements designs are simplified in many cases.  Additional frameworks and tools would be added to those that were chosen at the time making designs even easier.

    QuickWebWorkshops

    Our QuickWebWorkshops are used to build small, proof of concept prototypes with in house staff to validate requirements accurately, train in house staff on development tools and get user feedback avoiding larger design mistakes that occur in projects

    Development

    Development productivity would be much higher.  The only place where hours wouldn't be reduced significantly is on some of the subsystems.  For instance, the 6 weeks spent hard coding a few data migration programs could have generated a user-driven utility to convert any data files. No reduction in hours here.  Just a powerful conversion utility that would pay off many times

    Testing

    With the project locally controlled, the system test plan was really just an extension of the validated requirements use cases and scenarios.  The problems of having 2 different testing models, offshore and local, is easily eliminated.

    Documentation and training

    Instead of doing all documentation by hand and then creating HTML pages, the new model was to capture user documentation during system testing, edit it and then publish it into the application.  The model is to have users, not developers, do this because documentation will always need to be updated. 

    Administration

    Key issues beyond setup and configuration are troubleshooting procedures, tools and performance management

    Maintenance

    The new focus is to structure the application for easier maintenance using better tools and lower skill requirements.  In addition, the application models will be documented offering the option of moving maintenance to another team if needed

    Support

    There are a number of enhancements we've been adding to help improve support.  For instance, we added an audit feature making it easy to tie a user's Web session to the database job servicing it at any point for easier troubleshooting on database access issues.

     


    A couple of summary points on insourcing benefits:

  • Any project, insourcing or offshore outsourcing, can fail with poor management, lack of skills and the wrong resources.

  • It may not deliver a first application faster than current offshore outsourcing models although the project delivery dates are probably more realistic.

  • Subsequent applications should be faster with an insourcing model.

  • A first insourcing application may have similar overall costs to the offshore outsourcing model. While the overall development hours are usually significantly lower, the average insourcing team hourly rate is higher.

  • Subsequent applications should be less expensive with an insourcing model since many frameworks exist that are normally reused and the team may be more productive with better tools.
  • Without the right insourcing provider and the right in house staff and resource commitments, an insourcing project can fail, also.

  • Overall our insourcing model probably offers more value over the long term with less risk than the normal offshore outsourcing model.

    Ultimately your opinion matters more than mine on this. Let me know your thoughts and experiences. Send me an e-mail.

    About the author: Jim Mason, president of ebt-now, is an iSeries WebSphere architect, trainer and developer. ebt-now provides iSeries WebSphere, WebFacing engineering, development and training services. You can reach Jim at jemason@ebt-now.com.

    Jim's creating a self-study course for iSeries programmers that teaches "hands-on" rapid visual development with WDSC for all types of iSeries and e-business applications -- without the need to become a Java expert. The course will be published by Rochester Initiative this year.

    Rate this Tip
    To rate tips, you must be a member of Search400.com.
    Register now to start rating these tips. Log in if you are already a member.




    Digg This!    StumbleUpon Toolbar StumbleUpon    Bookmark with Delicious Del.icio.us   


    RELATED CONTENT
    Web Tools
    Search400.com Products of the Year 2008
    Application modernization strategies for System i
    Natively supported Web applications for Power running i
    System i PHP authoring tool tries to fill void in Web-coding know-how
    Lazy coder: What does PHP on the i5 mean?
    IBM WebSphere Portal Primer, Second Edition -- Chapter 2
    Make WebSphere work for you
    WebSphere for System i tutorial
    Users gain from Red Hat's JBoss buy
    Choices for running Web workloads on iSeries

    Web Development
    Application modernization strategies for System i
    RPG application modernization for i5
    Web skills crucial to iSeries programmer professional development
    System i Web interface could boost the platform
    Free System i development tools rebuttal
    COMMON product round-up: Modernizing the IBM System i
    Top 10 System i white papers
    Enterprise open source basics
    Make WebSphere work for you
    WebSphere for System i tutorial

    Web Servers
    System i no longer the stepchild of IBM's world
    Connecting WebSphere to AS/400 for image retrieval
    Weaving in WebSphere
    SOA enhancements drive IBM WebSphere feature packs
    SOA means money for IT workers
    Enable J2EE app on WAS to access DB2
    Securing Apache: Keeping patches current
    IBM runs USOpen.org on Power boxes
    MoMA's IT makeover a mix of old and new
    How does RPG talk to a browser?

    RELATED GLOSSARY TERMS
    Terms from Whatis.com − the technology online dictionary
    WebSphere Development Studio Client (WDSC)  (Search400.com)

    RELATED RESOURCES
    2020software.com, trial software downloads for accounting software, ERP software, CRM software and business software systems
    Search Bitpipe.com for the latest white papers and business webcasts
    Whatis.com, the online computer dictionary

    DISCLAIMER: Our Tips Exchange is a forum for you to share technical advice and expertise with your peers and to learn from other enterprise IT professionals. TechTarget provides the infrastructure to facilitate this sharing of information. However, we cannot guarantee the accuracy or validity of the material submitted. You agree that your use of the Ask The Expert services and your reliance on any questions, answers, information or other materials received through this Web site is at your own risk.



  • iSeries Security - Security Tools, Physical Security and System Security
    HomeNewsTopicsITKnowledge ExchangeTipsBlogsAsk the ExpertsMultimediaWhite PapersProducts
    About Us  |  Contact Us  |  For Advertisers  |  For Business Partners  |  Site Index  |  RSS
    SEARCH 
    TechTarget provides enterprise IT professionals with the information they need to perform their jobs - from developing strategy, to making cost-effective IT purchase decisions and managing their organizations' IT projects - with its network of technology-specific Web sites, events and magazines.

    TechTarget Corporate Web Site  |  Media Kits  |  Reprints  |  Site Map




    All Rights Reserved, Copyright 1999 - 2008, TechTarget | Read our Privacy Policy
      TechTarget - The IT Media ROI Experts