Search This Blog

Tuesday, January 21, 2014

Agile Transformation - Product Company vs System Integrator

After having the opportunity to lead the Agile transformation in a software product company, I have an opportunity to join an Agile transformation team in a big system integrator company.

Here I would like to share some of my observation when come to Agile software development transformation, differences between a Software product company and an IT System Integrator (SI).

Motivation
While a software product company's transformation is mostly driven by being more productive and efficient in product development, a SI is driven by customer demand. However, traditionally most SI are making most of their profit from project's Change Request (CR), there is little motivation for them to be more efficient in software project (deliver high business value items first). A lot of them are forced to provide low quote during the project tender phase in order to win the deal. The CR is the only source for them to recover the cost and make some profit. However, with Agile being the trend and more and more customer demand arrived, SI will have to start preparing themselves to meet this new market demand.

Contract
There is little concern on contract in Software Product Company; most of the traditional form of contracts is just simply Product Requirement Specification and etc. between the product management team and the development team. However in SI environment, legal contract between Customer and Supplier is one of the key elements when come to Agile transformation. Agile contract strive to reach a risk sharing situation. Where traditional fixed price, fixed scope and sometime fixed deadline contract delegate all the risk to the supplier. There is always a struggle from the customer to start taking more risk. The biggest challenge in this scenario is, most of the Agile contract benefit are intangible. The supplier needs to find way to quantify those benefits to convince the customer to move to Agile contract type. While the sales person from the supplier side does not really welcome Agile contract because they could not be rewarded with the full revenue upfront.

Support
In a software product environment, the support is pretty straight forward. You set aside certain percentage of the available work hour from the team to cater for post release support. However in SI environment, they have to identify if the support is due to bugs or changes. This is especially true in a Fixed Cost per Iteration (a type of Time & Material Agile contract) contract environment; the customer is pay for the team's time. If it is a bug, the support cost should be bear by the supplier. There is always a challenge to identify this and efforts spent on identify each incident's category is sometime a waste when the goal should be solving the incidents as soon as possible and move on.

Team
In a software product environment, team were recruited for a straight forward purpose, i.e. to build the product for the market. Software Product Company could easily start recruiting team once they decided they need to build something. However in SI environment, until a project is rewarded, there is no certainty that the project is real. The moment a project is rewarded, the customer expected the work to commerce almost immediately. Hence it is very common to see team working on multiple projects at the same time. Which is again against the Agile advise to allow the team to focus, avoid task switching to minimize waste. It also has bigger challenges in building high performance team since all team only form when there is project, and before a particular team could reach the high performing stage, the project might have already ended.


No comments:

Post a Comment