Pages

Showing posts with label Tools. Show all posts
Showing posts with label Tools. Show all posts

Friday, December 31, 2010

Developing competency using Open Source

Despite the rapid strides made by IT industry, if you ask any project manager to list the top three challenges, competency gap is most likely to be one of them. I summarize the approaches adopted by the industry so far and suggest novel ways in which open source can help.


The industry focused initially on the process competency. This is done through a training program with workouts. The technology competency development is attended more as a by-product of year end performance appraisal mechanism. HR department collates all the needs and does an analysis. It provides a training calendar for the courses that are in demand. Competency needs that are not in great demand are left to Engineering managers. Competency development is not aligned with the business priorities in this approach.

In the next generation approach, the product road maps are developed, the technology competencies required are identified/updated as part of the annual strategic plan.The competency needs are categorized into near term and long term. Near term are handled in a similar manner as described before. Homegrown or commercial competency tools are utilized for planning and tracking. Long term competency needs are addressed by hiring from the external market or encouraging research work in academic institutions or through long term mentoring by experts. As projects do not follow the yearly calendar, new needs of projects are handled in an ad-hoc manner.

In terms of tools, the nature and features of a tool are usually a compromise between the level of detail, ease of use and utility. If a tool is simple with three categories of self assessment (beginner/developing/expert) of the capability in a particular area by the assessee and subsequent ratification by assessor, the tool will be well adopted, but will not be of much use except as a glorified database. If the assessment is made complex, with on line tests or other forms of assessments by panels, the adoption is usually a problem.

In this context, the use of external training and certification has emerged as a successful option for PMP and System Engineering Professionals. The assessee undergoes training, appears for an certification exam. The credential is usually accepted as competency achievement at the middle of the scale. This process tends to measure mostly theoretical knowledge and suffers from the usual demerits of the traditional education system.

The approach I propose offers a better way to develop competency. As per this the assess has to do a self assessment of his competency in an area and identify the gaps. To fill the gaps, he/she is required to work on an open source project, devoting whatever chargeable time available supplemented with non chargeable time. The contribution to open source project i.e code/documentation/training material is tracked through statistics of collaboration/social networking mechanisms. This results in a strong basis for assessing the work of the individual, as the meritocracy of ideas rules in an open environment. The assessee gets an opportunity to develop soft skills and gets mentored as well. However for this to work, the management has to believe in the power of open source and support the initiative and celebrate the successes. Would you like to poke holes in the approach? Welcome! The floor is yours in the form of comments!

Thursday, October 14, 2010

Process for using Open source

Despite the advanced levels of ISO, CMMi definition and deployment in Indian IT organizations, the process for using open source is  still at beginner levels.  In view of the enormous advantages,  open source software  can no longer be ignored by commercial firms. As an example, it may be useful to know that  HP is using  open source in 80% of their products.   As free software  organizations have taken measures against violators, an appropriate process must be put in place and implemented at the earliest.  Process Framework needs to cater to streamline existing usage and  for initiating new usage. I give a simple  process outline below as an initial guidance.

Process for regulating existing usage
  •  If an organization,  has been operational beyond an year and employs developers, it  needs to start with a survey of open source usage as the first step. A survey form can be designed based on the nature of the work and relevant open source resources. A generic form is available for download. Alternately  automatic scanning software OSS Discovery can be used, the results from it can be mapped into the above form for further work.
  • Once the data are captured, analysis of the data is required to develop a plan of action.
  • If the open source is for internal use, the effectiveness can be evaluated.
  • If the open source is embedded in a product, compliance steps based on the license of open source can be implemented.
Process for new use
  • Define a broad approval process  which can encourage use of open source for experimental purposes and regulate use for product development
  • Gather details of the open source alternatives from sources like Oslat and Wikipedia  , issues and  support available.
  • Evaluate  the proposal based on robust evaluation criteria covering both short term and long term issues, benefits.
  • If  proposal is not approved, develop/license a proprietary equivalent.

    Tools to manage use of Open source software
    There are several open source and proprietary solutions to manage open source software in businesses. Links for some of them are given below.
    Free: Fossology(database needs to be built for each enterprise),   OSS Discovery (Supports automatic scanning of machines) 
    Pay: Blackduck software  (allows integration into development process to trigger violations).


    Credit:Process graphic from Wiki Commons