Pages

Thursday, May 10, 2007

IT Product Development Teams

This article presents information on the working of teams in the IT Development Environment.

Traditionally, two dimensions characterize an IT Product Business Model. The first dimension is Nearness to Customers and the other being Nearness to Technology, as illustrated by the figure shown below:

Nearness To Customer

 

 

 
Nearness to Customers would entail greater technical breadth; people management and interpersonal skills while Nearness to Technology would entail greater technical depth & expertise.

IT products related sales falls into the three main areas of pre-sales, sales, and post-sales support of hardware and software. The first area involves supporting pre-sales activities by giving detailed information about technical specifications and the ways in which they could meet the customers' needs, often demonstrating those features before a sale. The actual sale involves negotiating a commercial agreement to the benefit of both customer and supplier. The technical support, which follows the sale, can include solving faults and problems, or maximizing the use of software features, as well as advising on appropriate user training. In terms of knowledge & skills, this team is required to have basic awareness of products, key features, and markets. Although technical depth in not mandatory, people skills and good communication skills are essential.

Fundamentally, the product management team gathers and disseminates product-related requirements.The product management team understands the needs of the customers and arrives at a coherent set of product related requirements that is communicated to the development team. In terms of knowledge & skills required, this team requires both functional knowledge of the product in order to be able to interact with customers and understand their needs as well as technical knowledge in order to be able to communicate the customers’ needs to the development team. People in the product management team must be excellent communicators and need to have excellent written English skills as well, as they are required to disseminate information through presentations, conferences, customer board advisory meetings etc. Also, they need to have good interpersonal skills.

A product development team is a team of people responsible for the design of a competitive product and the related processes to manufacture and support that product. The product development team basically works with the requirements the product management team has created. The team consists of people from all disciplines that can positively impact the development of the product and improve competitive factors, not just personnel from the various design engineering disciplines. Each product development team would be staffed as appropriate for the requirements of the project and the composition of the membership may change over time. In addition to formal team members, others in the organization may be called upon to support the team's efforts. In terms of knowledge required for the role, robust knowledge of Coding, Source Control, Development Environment and Source Structure Hierarchy (configuration/header/binary files) is essential. Domain Knowledge (example: writing a C++ program for a banking application is different from a networking application) is more critical than knowledge of a specific technology. Also required is the Knowledge of Java, J2EE, XML, and Oracle Database. In terms of skills, a developer must essentially possess problem solving, analytical ability and logical thinking skills.

The testing team works off the specifications created by the product development team. The main function of the testing team is to identify the correctness, completeness, security, and quality of developed computer software/hardware. This team ensures that the developers have done the right thing. Today emphasis is on building automated tests to test products. The current trend is shifting away from product knowledge to more technical knowledge of testing tool frameworks like Mercury, Silk, and Windrunner etc.

The support team provides two levels of support. The first level is through web or phone, while the second level is through bug diagnosis. The support team provides technical assistance, support, and advice to customers and other users. These troubleshooters need to have a good understanding of the product and attend to details in order to interpret problems and provide technical support for hardware, software, and systems. Also, skills required here are problem solving, and communication skills. So also, are sensitivity- to deal with unhappy customers and crisis management skills.

This article reflects the information shared by an industry professional during the course of the guest lecture series organized at MeritTrac.

No comments:

Post a Comment

Hit Counter