3 Dimensions of In-sourcing

3 Dimensions of In-sourcing

Many big companies that outsourced it's software development, usually set up layers of management that only acts for assurance for software delivery and has nothing to do with actual development. These companies face a common problem while setting up internal development team in modern times, which I call finding “reasons of existence”. In the new heterogeneous world these companies are constantly making decision between internal development team and outsourced third party development, without realizing that these are two very different boats.

Point to mention here is that “Outsourcing Is a Shortcut; In-sourcing Is an Investment”.

As internal development team try to evolve and find various ways to benefit business and technology stack that supports business, there are three main categories to focus on:

  1. Innovate
  2. Improve
  3. Import

 

INNOVATE …….business idea to prototype, faster and freely

Without doubt, Innovation is ‘the’ key to success. In current technical climate of “Evolve or die”, the businesses that adapt the fastest are the ones that succeed the most. Unlike back in days, we need an approach of constant learning to get new idea into play. But big question is what shall be our direction of innovation? The answer is simple its amalgamation of “business needs plus technical possibilities”.

In order to innovate, business needs software developers to understand business process more closely; and also business needs to realise potential of technology as well. The Proof-of-Concept will help business and developers to work in a risk-free environment where challenges can be examined at bare-metal (no ppt or docx needed). In order to create such atmosphere we need two basic elements:

A)     Businesses to interact with development team more casually & directly, removing barriers and noise.

B)     Development team to understand business process more closely, and evolve into a constant-learning self-motivated team that enjoys problem solving. 

How quickly a software development team can make a business idea into a workable prototype that end users can test. In my experience, it all comes down to how well software developers can articulate and how practically business can explain a real life problem.

And if you ever doubt the business solving skills of young developers, look no further than facebook, Airbnb, Snaphat, WhatsApp and list goes on. All that young developers need to understand is the business problem domain, and leave rest to their young creative mind.

 For Example:

Real-time systems such as the traditional messaging queues (think ActiveMQ, RabbitMQ, etc.) have great delivery guarantees and support things such as transactions, protocol mediation, and message consumption tracking, but they are overkill for the use case LinkedIn had in mind. Everyone (including LinkedIn) wants to build fancy machine-learning algorithms, but without the data, the algorithms are useless. Getting the data from source systems and reliably moving it around was very difficult, and existing batch-based solutions and enterprise messaging solutions did not solve the problem. Kafka was developed to be the ingestion backbone for this type of use case. Back in 2011, Kafka was ingesting more than 1 billion events a day. Recently, LinkedIn has reported ingestion rates of 1 trillion messages a day. Let's take a deeper look at what Kafka is and how it is able to handle these use cases.



IMPROVE …..benchmark the existing, make it better

Improvement can be made to existing business process or to technology stack supporting business process. Although former directly links to business people, but risk of not improving in both cases are quite substantial.

Many existing processes and system don’t improve because either no one dares to criticize them or no one wishes to take risk. These two things make a business stagnant, and everyone starts playing safe. This is more of a cultural problem, and less of talent issue. We need to acknowledge and award people for making / suggesting improvements; most importantly these recognitions shall be made to person who actually contributes, not to let someone else claim the credit just for being part of chain. Sincere, transparent and fearless atmosphere can act as catalyst for improvements. 

But while someone is making or suggesting improvement, he or she shall also write down details of how this will positively help business or technology stack in short or long term. There shall be a stage where such ideas of software developer can be scrutinize by others, in context of performance, stability or ROI. Unless higher management in technology or business understands the suggested improvements directly from mouth of a developer, there will always be a need of long chain of process / people to convey these messages, which can sometimes delay the needed improvement or kill it all together.

There are many compelling examples in modern times where internal improvement gave new way of thinking not only to company but also to rest of the world. Git, Hystrix and many others started as way to improve existing system.

For Example:

Hystrix evolved out of resilience engineering work that the Netflix API team began in 2011. In 2012, Hystrix continued to evolve and mature, and many teams within Netflix adopted it. Today tens of billions of thread-isolated, and hundreds of billions of semaphore-isolated calls are executed via Hystrix every day at Netflix. This has resulted in a dramatic improvement in uptime and resilience.


IMPORT…..No more expensive black boxes, No more out of sight

We have seen an era of outsourcing. But now people are realising some of the drawbacks of it. In order for internal development team to add value, we can build confidence in heart of business that we can bring technology in-house in a reliable and cost effective way.

Import can be simple “lift & shift” or it can be porting an externally developed system to the one that we use internally. While making case for importing in the name of saving money, we need to highlight various other associated benefits that it brings to the business such as making changes faster, adapting to future requirements more efficiently, and so on. 

For example:

Cable & Wireless's (C&W's) terminated an outsourcing agreement with IBM. The 10-year, £1.8bn deal, signed in 1998, covered IT infrastructure and customer billing systems. Financial services group JP Morgan Chase announced its intention to cancel a $5bn (£2.7bn) outsourcing deal with IBM, and to reintegrate the previously outsourced portions of its infrastructure, including data centres and helpdesks. Selfridges recently decided not to renew a deal with Capgemini covering data centre management tasks. In an attempt by the retailer to cut costs, control for some of the functions was brought in-house. It would appear that businesses are reconsidering their enthusiasm for outsourcing. Analyst Gartner predicts the outsourcing market will grow by just five per cent per annum over the next few years, a figure far lower than the double-digit highs of a few years ago. What's more, the analyst has revealed that nearly 80 per cent of outsourcing relationships will be renegotiated over the duration of a contract. 

要查看或添加评论,请登录

Satya ..的更多文章

  • Distributed System - Lessons Learned

    Distributed System - Lessons Learned

    A distributed system is a group of computers/nodes working together to achieve a common goal (e.g.

    1 条评论
  • Science - Pursuit of 'Objective Truth'

    Science - Pursuit of 'Objective Truth'

    I recently finished masterclass by Neil deGrasse Tyson. He is a cosmologist, astrophysicist, planetary scientist…

  • Microservices - prior to buzz

    Microservices - prior to buzz

    The global microservices architecture market size was valued at $2 billion in 2018, and is projected to reach $8…

  • After the Music Stopped ..?????? ..........

    After the Music Stopped ..?????? ..........

    1920 saw the start of “Jazz” age in United States. Jazz music went viral from small city of New Orleans to biggest…

    1 条评论
  • Prototyping: Let’s prioritise it!

    Prototyping: Let’s prioritise it!

    “If a picture is worth 1000 words, a prototype is worth 1000 meetings.” — Tom & David Kelley Often in software industry…

  • Mind the Swamp

    Mind the Swamp

    IDC predicts the average person will have nearly 5,000 digital interactions per day by 2025, up from the 700 to 800 or…

  • Entity Relationships To Event Streams

    Entity Relationships To Event Streams

    Historically data was mostly related to “Operational data” sitting nicely into a well structured database. Now most of…

  • NHS problem, in simple English

    NHS problem, in simple English

    Correct me if I am wrong The NHS problem, in simple English, “Women who should have had appointments for a final scan…

  • Agile (without hype)

    Agile (without hype)

    Dynamic systems development method (DSDM) Consortium in 1994 were trying to find an efficient way to handling…

  • Apply Agile Design Patterns In Object Oriented Programing

    Apply Agile Design Patterns In Object Oriented Programing

    Write Object-Oriented code (OO), not procedural code When I look back at code I wrote many years ago, I recognize how…

    2 条评论

社区洞察

其他会员也浏览了