Welcome!

Release Management Authors: Pat Romanski, Elizabeth White, David H Deans, Liz McMillan, Jnan Dash

Related Topics: Microservices Expo, Java IoT, Release Management

Microservices Expo: Blog Feed Post

Manifesto for Agile Offshore Software Development

For enterprise scale software development you will need to have a large size team

Why a manifesto for Agile Offshore Software Development???

Is it necessary?

I think it is necessary – to highlight the special challenge faced resulting from geographic distribution, from large and heterogeneous teams, from involvement of multiple organizations and from complexity involved in enterprise scale software development project.

For enterprise scale software development you will need to have a large size team. The number of team members would be large enough to make it impossible to organize them as a single team where all members interact with each other. It would be necessary to have sub-teams and in all likelihood the sub-teams will be distributed across the globe.

During the life of the project the team size and composition would definitely change.

It is also likely the some of the teams will belong to a separate organization. When multiple organizations are involved then not only would there be contractual obligations but the teams would also have to adhere to the governance needs of each organization.

In other words (1) team spread and size, (2) team volatility, (3) multi-organization involvement and (4) problem complexity is inevitable consequence of agile offshoring.

The Manifesto for Agile Offshore Software Development – Reminder of the Challenges Involved

(1) Long distance ubiquitous interaction among individuals required proper infra, tools and processes.

Sure, individual and interaction is more important compared to processes and tools but you need to have proper infra in place in form of right tools and equipment to make that interaction happen seamlessly. You also need to setup necessary protocol of how and when that interaction can happen and there should be a common understanding of that protocol.

(2) Getting new team members up to speed requires documentation.

The fact of live is that no large team is stationary. Team members leave. New team members join. New teams get formed. Software transitions to maintenance mode. Depending only on well commented code may not be sufficient to get new members on board smoothly. You will need sufficient documentation.

(3) When more than one organization is involved both should benefit from the association.

There is no doubt that collaboration is preferable to contract negotiation but in real life for any large scale commercial dealing a contract needs to be in place. Since agile requires trust, a contract which is win-win for both parties involved is a must. The contract should not leave either party dissatisfied – such dissatisfaction is sure recipe to kill collaboration.

(4) Ensure that implication of change is clearly understood by everybody.

Responding quickly to changing need is a good thing but the implication of making the change can frequently be missed and may lead to unforeseen and undesirable consequence. Therefore it is imperative that clear plan and processes are in place to take care of such change and such processes are clearly understood by all involved.

Agile Process – Assemble it or Tailor it?
Even with the revised manifesto you will still need to come up with an agile process.

Agile manifesto does not have a prescribed process. Neither does it tell you how to run your project nor does it tell you to how to engineer it.

Scrum does – it mostly tells you how to manage the project not how to engineer it.

XP does – it is more about engineering practice but it also has recommendations about management practices.

Similarly both TDD and Kanban have specific recommendations. TDD is more about engineering practices and Kanban is more about management practices.

So to design your agile process, the process which suits your unique need…

  1. You could adopt and tailor one of the agile methodologies like Scrum, XP, TDD etc. or
  2. You could assemble a unique process for your need by picking the right practices from different agile methodologies.

When you assemble your process you get more flexibility and you can adapt and evolve as you gain better understanding of your needs and your organization dynamics. However, it is more work.

On the other hand when you tailor a specific methodology it would be easier because when in doubt you can fall back on what theory say. However, you may not have hit upon the most optimum process.

I think it is more rewarding to assemble your own process because every organization is unique – and off course it is more fun.

Also, adapting your process as you go along is the agile way of doing thing.

Not all Offshoring Is  Made Equal
What process is right for you will also depend not only on the type of software development project, your organizational dynamics but also on how you are approaching the offshoring issue.

Suppose you are already into outsourcing using traditional development methodologies. The process that you would come up with when you want to adopt agile will be quite different from what you might adopt when you are outsourcing for the first time as you may be able to start from clean slate.

Similarly, you process would be different if are planning to build your own offshoring team vis-à-vis engaging a vendor.

Again, there will be a difference of process depending on the location. If the offshore team is at the other side of the globe you will need a process different from what you would need for a near-shore location. Language proficiency and cultural differences with the offshore team will also play a role.

The other side of the coin
Most people look at the offshoring challenge from the perspective of the customer. They forget that there is another angle to looking at the problem.

The vendor who is undertaking the work will have a different set of challenges to handle.

Normally, most vendors would be working with multiple customers. Each customer would be using an agile process unique to its needs. Therefore the vendor would have to simultaneously work with different variants of agile process and they would have no way of standardizing it. This will also be true for toolsets preferred by the customer.

For a vendor not all customers would have adopted agile. Hence, some projects would be using traditional waterfall development model where other would be using agile methodologies. Managing such diversity within the same environment cannot be wished away.

There is the additional complexity of adapting the agile methodologies to adhere to the compliance requirement dictated by the need to maintain the certifications like CMMi Level 5 and ISO.

In short this can be summed up as the need to manage diversity.

Agile and Offshoring Handbook

  1. Is Offshoring A Special Case Of Agile Scaling?
  2. Manifesto for Agile Offshore Software Development

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

IoT & Smart Cities Stories
In his general session at 19th Cloud Expo, Manish Dixit, VP of Product and Engineering at Dice, discussed how Dice leverages data insights and tools to help both tech professionals and recruiters better understand how skills relate to each other and which skills are in high demand using interactive visualizations and salary indicator tools to maximize earning potential. Manish Dixit is VP of Product and Engineering at Dice. As the leader of the Product, Engineering and Data Sciences team at D...
Bill Schmarzo, Tech Chair of "Big Data | Analytics" of upcoming CloudEXPO | DXWorldEXPO New York (November 12-13, 2018, New York City) today announced the outline and schedule of the track. "The track has been designed in experience/degree order," said Schmarzo. "So, that folks who attend the entire track can leave the conference with some of the skills necessary to get their work done when they get back to their offices. It actually ties back to some work that I'm doing at the University of San...
When talking IoT we often focus on the devices, the sensors, the hardware itself. The new smart appliances, the new smart or self-driving cars (which are amalgamations of many ‘things'). When we are looking at the world of IoT, we should take a step back, look at the big picture. What value are these devices providing. IoT is not about the devices, its about the data consumed and generated. The devices are tools, mechanisms, conduits. This paper discusses the considerations when dealing with the...
Bill Schmarzo, author of "Big Data: Understanding How Data Powers Big Business" and "Big Data MBA: Driving Business Strategies with Data Science," is responsible for setting the strategy and defining the Big Data service offerings and capabilities for EMC Global Services Big Data Practice. As the CTO for the Big Data Practice, he is responsible for working with organizations to help them identify where and how to start their big data journeys. He's written several white papers, is an avid blogge...
Dynatrace is an application performance management software company with products for the information technology departments and digital business owners of medium and large businesses. Building the Future of Monitoring with Artificial Intelligence. Today we can collect lots and lots of performance data. We build beautiful dashboards and even have fancy query languages to access and transform the data. Still performance data is a secret language only a couple of people understand. The more busine...
If a machine can invent, does this mean the end of the patent system as we know it? The patent system, both in the US and Europe, allows companies to protect their inventions and helps foster innovation. However, Artificial Intelligence (AI) could be set to disrupt the patent system as we know it. This talk will examine how AI may change the patent landscape in the years to come. Furthermore, ways in which companies can best protect their AI related inventions will be examined from both a US and...
Enterprises have taken advantage of IoT to achieve important revenue and cost advantages. What is less apparent is how incumbent enterprises operating at scale have, following success with IoT, built analytic, operations management and software development capabilities - ranging from autonomous vehicles to manageable robotics installations. They have embraced these capabilities as if they were Silicon Valley startups.
Chris Matthieu is the President & CEO of Computes, inc. He brings 30 years of experience in development and launches of disruptive technologies to create new market opportunities as well as enhance enterprise product portfolios with emerging technologies. His most recent venture was Octoblu, a cross-protocol Internet of Things (IoT) mesh network platform, acquired by Citrix. Prior to co-founding Octoblu, Chris was founder of Nodester, an open-source Node.JS PaaS which was acquired by AppFog and ...
The deluge of IoT sensor data collected from connected devices and the powerful AI required to make that data actionable are giving rise to a hybrid ecosystem in which cloud, on-prem and edge processes become interweaved. Attendees will learn how emerging composable infrastructure solutions deliver the adaptive architecture needed to manage this new data reality. Machine learning algorithms can better anticipate data storms and automate resources to support surges, including fully scalable GPU-c...
Cloud-enabled transformation has evolved from cost saving measure to business innovation strategy -- one that combines the cloud with cognitive capabilities to drive market disruption. Learn how you can achieve the insight and agility you need to gain a competitive advantage. Industry-acclaimed CTO and cloud expert, Shankar Kalyana presents. Only the most exceptional IBMers are appointed with the rare distinction of IBM Fellow, the highest technical honor in the company. Shankar has also receive...