Welcome!

Microservices Expo Authors: Liz McMillan, Pat Romanski, Elizabeth White, Mehdi Daoudi, Yeshim Deniz

Related Topics: Microservices Expo, Java IoT, Industrial IoT, Microsoft Cloud, Machine Learning , Agile Computing

Microservices Expo: Blog Feed Post

(Offshored-Distributed-Outsourced) Agile

What Is the Relationship Between Them?

  • Is off-shore agile a special case of distributed agile?
  • Can the term offshore agile and outsourced agile be used interchangeably?
  • If you have done distributed agile, then can you claim to understand off-shored agile and outsourced agile?
  • Similarly, if you have mastered off-shored agile you say with confidence that you understand distributed agile and outsourced agile?
  • Lastly, if you have done outsourced agile could you easily extend your learning to distributed agile and off-shore agile?

Agile 1.2That is a lot of questions!

And, I am sure you would have guessed that I think the answer to all these questions are NO.

Is off-shore agile a special case of distributed agile?

If you take the literary meaning of the words off-shore and distributed then it would appear that off-shore is indeed a special case of distributed. But, if go by the de facto understanding then off-shoring is definitely not a special case of distributed software development.

Off-shoring implies setting up a (software development) facility in a different country (India?) to take advantage of the cost arbitrage (practice of taking advantage of a price difference between two or more markets).

Distributed development implies spreading a complex piece of (software development) work across multiple location to take advantage of available expertise.

Off-shore Development = Driven by cost saving

Distributed Development = Driven by availability of expertise

Remember Malcolm Gladwell’s 10,000 hours rule which states that the key to success in any field is a matter of practicing for around 10,000 hours. That translates to about 5 years of regular full day work!

So, over a period of time off-shore facility gains expertise and cost arbitrage ceases to be the main reason for off-shoring. And then …

… in about 5 years time off-shore development becomes distributed development.

Is off-shoring same as outsourcing?

This is easy to answer!

Outsourcing implies giving the work to another party.

Off-shoring need not involve another party, it can be your own facility.

Similarly, outsourcing need not involve off-shoring. It can be done from:

  • Same location,
  • Same city,
  • Near shore facility … and off course
  • Off-shore facility

This is when you can visit the 6th principle behind the agile manifesto!

..the most efficient and effective method of conveying information to and within a development team is face-to-face conversation…

The four types of outsourcing primarily differs by how much time / cost is involved to setup a face-to-face meeting. In other words a trade-off is involved. On one side it is the 6th principle … and on the other side … you should be clear what it is.

That brings us to the 5th principle behind the agile manifesto.

…build projects around motivated individuals. Give them the environment and support they need, and trust them to get the job done…

This leads us to the key difference between in-sourced off-shoring and out-sourced off-shoring. When separate organizations are involved how do you build a trusting relationship? How long does take to build such a relationship?. How do you build a contract which both parties think as fare?

Therefore … what are the distinct characteristics of …

… Distributed Agile Development?

  • Splitting the problem and distributing the work
  • Coordinating and synchronizing iterations done across distributed locations
  • Ensuring smooth communication among the distributed locations

These challenges remain for off-shoring but there are others which go beyond.

… Off-shore Agile Development?

  • Setting up infrastructure
  • Knowledge transfer
  • Bridging the expertise gap

Both for in-sourced and outsourced off-shoring these challenges apply. But for outsourcing there are additional challenges.

… Outsourced Agile Development?

  • Preparing a win-win contract
  • Building trusting relationship

Points to Ponder

  • Does this discussion apply only to agile software development or is it applicable for any software development?
  • How do you know if your tailored process remains to be agile?

Related Article

Read the original blog entry...

More Stories By Udayan Banerjee

Udayan Banerjee is CTO at NIIT Technologies Ltd, an IT industry veteran with more than 30 years' experience. He blogs at http://setandbma.wordpress.com.
The blog focuses on emerging technologies like cloud computing, mobile computing, social media aka web 2.0 etc. It also contains stuff about agile methodology and trends in architecture. It is a world view seen through the lens of a software service provider based out of Bangalore and serving clients across the world. The focus is mostly on...

  • Keep the hype out and project a realistic picture
  • Uncover trends not very apparent
  • Draw conclusion from real life experience
  • Point out fallacy & discrepancy when I see them
  • Talk about trends which I find interesting
Google

Microservices Articles
While some developers care passionately about how data centers and clouds are architected, for most, it is only the end result that matters. To the majority of companies, technology exists to solve a business problem, and only delivers value when it is solving that problem. 2017 brings the mainstream adoption of containers for production workloads. In his session at 21st Cloud Expo, Ben McCormack, VP of Operations at Evernote, discussed how data centers of the future will be managed, how the p...
"Peak 10 is a hybrid infrastructure provider across the nation. We are in the thick of things when it comes to hybrid IT," explained , Chief Technology Officer at Peak 10, in this SYS-CON.tv interview at 20th Cloud Expo, held June 6-8, 2017, at the Javits Center in New York City, NY.
DevOps tends to focus on the relationship between Dev and Ops, putting an emphasis on the ops and application infrastructure. But that’s changing with microservices architectures. In her session at DevOps Summit, Lori MacVittie, Evangelist for F5 Networks, will focus on how microservices are changing the underlying architectures needed to scale, secure and deliver applications based on highly distributed (micro) services and why that means an expansion into “the network” for DevOps.
Containers and Kubernetes allow for code portability across on-premise VMs, bare metal, or multiple cloud provider environments. Yet, despite this portability promise, developers may include configuration and application definitions that constrain or even eliminate application portability. In this session we'll describe best practices for "configuration as code" in a Kubernetes environment. We will demonstrate how a properly constructed containerized app can be deployed to both Amazon and Azure ...
The now mainstream platform changes stemming from the first Internet boom brought many changes but didn’t really change the basic relationship between servers and the applications running on them. In fact, that was sort of the point. In his session at 18th Cloud Expo, Gordon Haff, senior cloud strategy marketing and evangelism manager at Red Hat, will discuss how today’s workloads require a new model and a new platform for development and execution. The platform must handle a wide range of rec...
CloudEXPO New York 2018, colocated with DXWorldEXPO New York 2018 will be held November 11-13, 2018, in New York City and will bring together Cloud Computing, FinTech and Blockchain, Digital Transformation, Big Data, Internet of Things, DevOps, AI, Machine Learning and WebRTC to one location.
More and more companies are looking to microservices as an architectural pattern for breaking apart applications into more manageable pieces so that agile teams can deliver new features quicker and more effectively. What this pattern has done more than anything to date is spark organizational transformations, setting the foundation for future application development. In practice, however, there are a number of considerations to make that go beyond simply “build, ship, and run,” which changes how...
DevOpsSummit New York 2018, colocated with CloudEXPO | DXWorldEXPO New York 2018 will be held November 11-13, 2018, in New York City. Digital Transformation (DX) is a major focus with the introduction of DXWorldEXPO within the program. Successful transformation requires a laser focus on being data-driven and on using all the tools available that enable transformation if they plan to survive over the long term.
As Enterprise business moves from Monoliths to Microservices, adoption and successful implementations of Microservices become more evident. The goal of Microservices is to improve software delivery speed and increase system safety as scale increases. Documenting hurdles and problems for the use of Microservices will help consultants, architects and specialists to avoid repeating the same mistakes and learn how and when to use (or not use) Microservices at the enterprise level. The circumstance w...
Containers, microservices and DevOps are all the rage lately. You can read about how great they are and how they’ll change your life and the industry everywhere. So naturally when we started a new company and were deciding how to architect our app, we went with microservices, containers and DevOps. About now you’re expecting a story of how everything went so smoothly, we’re now pushing out code ten times a day, but the reality is quite different.