Wednesday, October 17, 2012

Building Software In-House: Too Much Control and Flexibility

In 2010-2011 I was a software engineer at Si-Trans Ltd in Moscow, Russia. The company (in fact, the group of companies) is in the business of logistics, so we were maintaining and extending an internally-used information system for cargo management. Plenty of challenges faced our small development team there, many of which were not purely technical.

I described this experience in a reflective report, termed 'practicum' at ISR. The main topic of the report is how my experience relates to the common practice of building IT software in-house or buying it from a third party. There are many possible ways one could look at the events described in the report. I had to narrow all possible interpretations to the single conclusion that I considered the most likely one: Si-Trans should've switched to the COTS 1C Enterprise long ago because of their/our inability to evolve a system with a high technical debt.

Below is the abstract. You can find the report itself here.
As domain-specific software becomes more available, businesses face a dilemma: whether to acquire commercial off-the-shelf (COTS) enterprise management systems or to build them in-house. Companies choosing to create a product internally are often rewarded with flexibility and control over their development process and its results. However, when expanding, they can outgrow their ability to support the developed software. 

Working as a programmer at a medium-sized logistics company, Si-Trans, in 2010, I witnessed the long-term implications of an initial decision to build an information system in-house. While this decision was appropriate in 1997 because COTS alternatives were scarce and inapplicable, it created a favorable climate for inconsistent, ad hoc management practices within the entire company, in particular, software creation and maintenance. These practices ultimately contributed to Si-Trans’ inability to see an opportunity in the early 2000s when it was feasible and advantageous to adopt a COTS-based solution. This solution would have scaled better for the company’s growth and would have helped avoid an outstanding technical debt in the old system. By the end of 2011, Si-Trans finally considered the acquisition of an off-the-shelf information system, after having suffered substantial financial losses from the protracted in-house development.

P.S. As far as I'm concerned, the 1C initiative didn't work out because of the unanticipated changes at the company level.

1 comment:

  1. One of the nice information on Building Software In-House.Thanks for your great job on it.


    http://propertyboulevard.beeplog.com/

    ReplyDelete