The past decade, I’ve been learning how to manage distributed teams in a productive way. In 2004, I made a trip to India and fell in love with the country. I had decided to start my own company and one of the ideas I had was to offer outsourcing services to Dutch companies (I’m from Holland). In the early 2000s, it was mainly US enterprises outsourcing to India. In Europe, just a few pioneers were taking their first steps. When I walked around in India, I was amazed by the energy the IT industry had at that moment. I did see that as a Dutch, there’d be some challenges in working with people from such a different culture.
When I started out in 2005, there was no scrum and agile (they were there, but not used by many companies yet and I was not aware). Everything was fixed dates, price and traditional project management, waterfall based development. I had decided to work with teams in Ukraine, because it felt a bit closer and was easier to travel to for Dutch people (no visa, short trip, 1 hour time difference). My company started taking off in 2006-2007 and I was getting more work than my partner in Ukraine could serve. So in 2008 I decided to move to India and setup our office there.
I had no corporate budgets available to setup my Indian office, so I did everything bootstrapped. A simple office, hiring programmers one by one based on customer demand. Apart from the challenges in learning how India works, my main challenge was to make Europe-India collaborations work out. Two big challenges I faced:
1. Cultural alignment
Most countries vary in the degree of hierarchy that governs families, society, companies. In India, hierarchy plays a big role. People are used to having fathers, teachers and bosses give ‘instructions’. Because of that, the level of ‘proactiveness’ is often low. Questioning authority and challenging superiors assumptions is not done. In the US and Europe, many countries have a ‘flat’ structure. In the Netherlands for example, people are expected to question assumptions and encouraged to come up with their own ideas. It doesn’t matter what level within an organization the idea originates from. Another example is the level of openness. As a Dutch person, if I have a problem with the way you behave, I will tell you what’s on my mind. My belief is that by sharing my concern, we can find a way to solve it together. In India, people are not used to this. They’d rather polish a story, speak around the concern they have without addressing it heads on. Or they’ll say yes in all cases. As a Dutch I might not understand the message the person is giving me because I am used to getting it unpolished, straight into my face.
All the above made it challenging for us to create stable relationships between our European clients and our Indian teams.
2. The black box
When we were doing projects, the second big challenges we faced was around customers see your development organization as a black box. They don’t know who’s working on your project and they don’t know how the work gets done. Because the contract states when things need to be delivered and at what cost, they often don’t care to connect with the team members. The distance between the customer and your team are very big. Now this is the case in any software project, but the distributed nature magnifies the impact. Because the distance is big, teams often don’t have an emotional bond with the product they’re building. They don’t interact enough with the customer and are busy with the tasks assigned to them.
Things started changing for me, when we started working in teams that were ‘one’ with our customers teams. To achieve that, we used scrum. One of the biggest benefits of agile for distributed teams is the close collaboration with the product owner (who should be on the customer side in my view). If product owners are engaged, join the scrum events and make themselves available throughout the work, things change for the better. Relationships and understanding evolve from this, which leads to better quality and smoother work.
Fast forward a decade. Agile India is the biggest Agile conference in Asia. I see more agile coaches and agile transformations going on in India than anywhere else. I’m currently living in Indonesia and India is miles ahead with agility. I have learned the hard way that without agile, it’s very challenging to make distributed collaboration work. What you want to achieve is self organizing (collocated) teams in India who are empowered to use their minds to come up with their own solutions. Teams that have the freedom to do what they believe is best instead of the traditional command and control that is common in India (and many other places). You want collaborations between onshore and offshore team members that are based on the idea of ‘one team’. True partnerships instead of ‘us versus them’. I believe India has come a long way in the past decade. Many companies have gone through the challenges I faced and have learned how to deal with them. The IT population grew more mature (and with that the availability of senior developers and leaders). It’s not only the ‘outsourcing destination’ of the world, but it’s a tech powerhouse, producing valuable products for companies across the globe.
How to scale Scrum and agile to large organizations has been a hot topic in the community since 2012. The advent of new team level practices has leveled off and the industry has more or less settled on a set of standard practices, whereas how to organize teams of hundreds or thousands of people was less defined.
In the past several years, a handful of scaling frameworks has emerged: Nexus, SAFe, LeSS, DAD. They’re all trying to tackle the same problem: How do you improve agility in a complex system with interwoven dependencies over a large organization?
To an organization attempting to select a scaling framework, the choices can feel overwhelming. To compound competition in the scaling arena, there exists an active community who insist scaling simply doesn’t work.
Jez Humble falls into the latter camp; At Agile India 2017, Jez will be giving a talk on “Why Scaling Agile Doesn’t Work.” In this talk, Jez will explore the pitfalls he sees with existing scaling frameworks. In Jez’s previous talks, he has railed against the trend of taking large projects, splitting them into small pieces, and farming them off to teams. One of the biggest risks with large projects is that it doesn’t tackle the underlying uncertainty in software development by validating hypotheses before spending large amounts of money.
The other pitfall Jez identifies is disconnecting measurable outcomes from the people doing the work. This can lead to a decrease in employee morale if they don’t understand the purpose behind the work they’re doing, and also removes the opportunity to leverage the brainpower of your development team to come up with innovative solutions and to raise issues with the approach. As Esther Derby puts it, we “separate the head from the hands.”
By developers and product managers working together to find solutions toward a particular outcome and running experiments to validate hypotheses, teams will be more engaged and can avoid waste in development. This is a topic Jeff Patton, an Agile India Keynote alumnus, talks about in his book “User Story Mapping.”
To look at the value of scaling frameworks, we first have to understand some of the common problems they are trying to address:
How can we reduce dependencies between teams and manage dependencies where we cannot eliminate them?
How can we identify bottlenecks in the system and improve flow?
How can we address cultural issues in an organization to reduce handoffs and increase a shared sense of ownership?
These frameworks contain a wealth of practical tools to help organizations enhance their agility. At the outset, this looks daunting, and for the uninitiated, it could be challenging to find a place to start. For organizations looking to shift their approach, it is helpful to have some patterns to follow.
The risk can come if an overly prescriptive approach is taken. These frameworks come with a plethora of tools. However, much of this can be situation dependent, just as it is at the team level. For example, Scrum may work great if you have a single client that you can meet with on a regular cadence. You may want to consider Kanban instead if there is high variability in the rate at which work arrives. In complex systems, there are more variables to consider. One size does not fit all.
Don’t Miss the Panel Discussion at Agile India 2017
Over the last few years, as agile has gained traction inside the enterprises, we’ve seen many scaling frameworks have sprung up. These scaling frameworks claim to retain the core agile values & principles and aim to provide a simple yet comprehensive way to scale agility across the organization. There have been several success case-studies that have been published. We also hear and see many horror stories of failed scaling attempts.
In this panel, let’s have a critical view of the entire scaling framework eco-system.
Agile India 2017 is Asia’s Largest and Premier Conference on Agile, Lean, Scrum, eXtreme Programming, Lean-Startup, Kanban, Continuous Delivery, Lean UX, Product Discovery, DevOps, Enterprise Agile, Patterns and more…
Smart Pricing is still available as of 11 January. REGISTER TODAY before prices increase!
Isabel has more than thirty years of IT experience in the financial, communications, and software sectors. Her work focuses on quality management, software testing and user experience (UX), She encourages IT teams and customers to work together, via flexible processes designed and tailored by the teams that use them. Isabel authored Achieving Software Quality Through Teamwork and chapters in Agile Testing: How to Succeed in an eXtreme Testing Environment; The Testing Practitioner; and Foundations of Software Testing. A popular speaker and story-teller at software conferences worldwide, Isabel is a Chartered IT Professional and Fellow of the British Computer Society, Programme Secretary of the BCS SIGiST, and has been a member of software industry improvement working groups for over 20 years.
Joshua is a globally recognized thought leader in Agile and Lean software development. He is an entrepreneur, author and programmer passionate about excellent software and discovering better, faster and safer ways to produce it. As the founder and visionary leader of Industrial Logic, Joshua is currently defining what it means to practice modern agility. Modern agile practitioners work to Make People Awesome, Make Safety A Prerequisite, Experiment & Learn Rapidly and Deliver Value Continuously. Joshua is a sought-after international speaker, author of the best-selling, Jolt Cola-award winning book, Refactoring to Patterns, and a guru-level practitioner of Lean/Agile methods. His pioneering work in Agile processes has helped popularize Agile Readiness Assessments, Chartering, Storytest-Driven Development and Iterative Usability, many of which are now standard in Agile/Lean processes. He is an active blogger on forward-thinking, modern software topics with an edge.
Dave Thomas, Chief Scientist/CSO, Kx Systems, Co-Founder and past Chairman of Bedarra Research Labs (BRL), creators of the Ivy visual analytics workbench and ACM Distinguished Engineer. Founder and past CEO of Object Technology International (OTI), becoming CEO of IBM OTI Labs after its sale to IBM. With a unique ability to see the future and translate research into competitive products, he is known for his contributions to Object Technology including IBM VisualAge and Eclipse IDEs, Smalltalk and Java virtual machines. Dave is a popular, humorous, albeit opinionated keynote speaker with an impressive breadth of business experience and technical depth. He is a thought leader in large-scale software engineering and a founding director of the Agile Alliance. With close links the R&D community Dave is an adjunct research professor at Carleton University in Canada and held past positions at UQ and QUT in Australia. He has been a business and technical advisor to many technology
companies including Kx Systems. Dave is founder and chairman of the YOW! Australia and Lambda Jam conferences, and is a GOTO Conference Fellow.
Rajesh spent more than 15 years in the Silicon Valley, working for companies like Digital Equipment Corporation, HP, Google and Motorola. He joins Hike from Motorola where he was most recently the Director and Head of Wearables and Internet-of-Things software. Rajesh’s expertise lies in creating scalable, consumer-facing software products in the mobile space, overseeing end-to-end engineering & product development life cycle, and building cross-functional teams. Offering in-depth business and technical acumen, complemented by strong expertise in shaping product strategies into tangible products, strengthening stakeholder alliances, integrating Agile best practices, and streamlining processes that increase revenue, lower costs, and create business value.
Nate is the Managing Director at the San Francisco office. In his role, he blends the decisiveness and collaborative skills of a product manager with the acumen of an economist to build bridges with people and organizations. Equal parts teacher and student, Nate leads initiatives in content creation, business development, and creative leadership.
At Cooper, he helped United Airlines find new ways to reward loyal customers, led an effort at GE Healthcare to create a strategy for the international expansion of a key product line, and designed solutions for workplace collaboration, delivering technology to schools, and the future of the connected kitchen. Before Cooper, Nate led design and product management at BuildZoom, and was a Director of Product Management at Thomson Reuters.
Mitchell Hashimoto is best known as the creator of Vagrant, Packer, Terraform and Consul. Mitchell is the founder of HashiCorp, a company that builds powerful and elegant DevOps tools. He is also an O’Reilly author. He is one of the top GitHub users by followers, activity, and contributions. “Automation obsessed,” Mitchell solves problems with as much computer automation as possible.
Jez Humble is co-author of the Jolt Award winning Continuous Delivery, published in Martin Fowler’s Signature Series (Addison Wesley, 2010), and Lean Enterprise, in Eric Ries’ Lean series (O’Reilly, 2015). He has consulted for many Global 500 companies to help them achieve technical excellence and deploy a culture of experimentation and learning. His focus is on helping organizations discover and deliver valuable, high-quality products. He is co-founder of consulting company Humble, O’Reilly & Associates, and teaches at UC Berkeley.
PRE/POST CONFERENCE WORKSHOPS
Workshops have very limited seats. BOOK EARLY to ensure you don’t miss these great opportunities!
Much has changed since the publishing of the Agile Manifesto in 2001. Pioneers and practitioners of lean and agile methods have examined weaknesses and friction points, experimented with simpler approaches, and produced agile processes that are safer, simpler and far more capital efficient. The result is modern agile. It’s values-driven, non-prescriptive and an easier starting point than antiquated agile processes. Modern agile amplifies the values and practices of organizations that have discovered better ways to get awesome results. Are you still cramming low-quality work in the end of each sprint, struggling with growing technical debt, arguing about “definition of done” or frustrated that “management/product never gives us time to do it right?”
In today’s business environment, the user experience and the commercial imperatives have become overwhelmingly important. As testers, it is vital that we understand quality in use and the user experience, in order that we focus our tests correctly.
“Quality in Use” measures human, business, and societal impacts of products (usability, accessibility, flexibility, commercial, safety). This builds to a User Experience (UX) and are underpinned by technical and engineering qualities. For the people selling, supporting, or using the products, this is the beating heart of the customer experience. Without these “big picture” attributes, delivered software will not be acceptable, may result in reduced profits, and may not be legal. In the tutorial, Isabel will use examples from real projects to discuss how to design tests derived from the user personas, contexts of use, and acceptance criteria.
Leaders today face constant, accelerating change driven by technology and incredibly high expectations from both internal and external. As IT leaders, we need to transform our roles and our departments. In this workshop, we focus on, teach and practice the tools of transformational leadership. After each part of the training, participants are ready to use the tools to re-define their roles and deliver what their organizations need – brilliant leadership.
Disciplined Agile (DA) is an IT process decision framework for delivering sophisticated agile solutions in the enterprise. It builds on the existing proven practices from agile methods such as Scrum, Extreme Programming (XP), Lean software development, Unified Process, and Agile Modeling to include other aspects necessary for success in the enterprise. The one-day workshop is not technical and is suitable for all team members. The workshop is also valuable for management tasked with moving from traditional approaches to agile.
Crack your head open and release a surge of creative ideas with engaging activities that promote clarity, inspiration, and buzz within your organization. We’ll cover methods and facilitation tools to ensure you run fruitful brainstorming sessions, leading your team to more and better ideas. You’ll learn to frame the problem you’re solving, come up with an exploration strategy, and facilitate the session, giving you and your team new ways to get inspired and energized when looking for solutions.
Testing of mobile apps is easy to do poorly, however, we don’t need to be constrained by mediocrity. Instead let’s learn about the foundations of how mobile platforms and development technologies are used to create apps and how these are then interpreted by the devices the apps are installed on so that we know the sorts of bugs and problems that affect many mobile apps i.e. testing techniques that may be generally applicable to most apps.
Code that is difficult to understand, hard to modify and challenging to extend is hazardous to developers, users and organizations. Refactoring, or improving the design of existing code, is one of our greatest defenses against such code. Yet many programmers lack formal training in refactoring. Furthermore, management tends to lack knowledge about the value of refactoring. This one-day workshop is designed to address these needs.
Let’s explore the purpose and use of estimates in the management of software development efforts, and consider possible alternatives. Why do we estimate and are we making estimates that are actually useful? In this session we’ll participate in some interactive information gathering exercises to see if we can gain a shared idea of our current understanding of the purpose and use of estimates. We will examine the nature of software development projects and explore some real data to shed light on the art and science of software estimation. Our exploration goal is to see if we can work together to come up with some ideas about improving on the traditional approaches to using estimates.
Getting software released to users is often a painful, risky, and time-consuming process. The practice of continuous delivery sets out the principles and technical practices that enable rapid, low-risk delivery of high quality, valuable new functionality to users. In this workshop, Jez Humble presents an in-depth guide to the principles and practices behind continuous delivery and the DevOps movement, along with case studies from real companies and ideas to help you adopt continuous delivery and DevOps within your organization.
Once upon a time, we had ‘Discovery’, ‘Define’, and ‘Design’. These phases let us explore the problem and the audience, while conceiving a holistic solution. Now we have sprints, complete with a backlog that seems like it appears overnight and a development team that is going to build with or without design to guide it. How do we continue to create great products? This 1-day workshop enables you to engage your clients and stakeholders to quickly define the key elements of your product or project, aligns the team, and identifies critical risks. When it is complete, everyone has a good idea of what is going to be built as well as what it will take to get there.
Today companies are expected to be flexible and both rapidly responsive and resilient to change, which basically asks them to be Agile. Yet, doing Agile (the mechanics) is different from being Agile (the mindset). The mindset lets you apply flexible Agile patterns not only for software development teams but for whole company. In this workshop, we will examine what being Agile really means and how it can be implemented by combining principles from the Agile Manifesto, Sociocracy, Beyond Budgeting, and Open Space. We’ll draw on everyone’s experiences to show the path to transforming our companies into agile enterprises – from Board to janitor, offering concrete tools and methods that participants can apply right away.
In the early 2000s, eXtreme Programming (XP) introduced agility to software engineers. Contemporary cultural and technical innovations – container technology, distributed version control systems, the proliferation of free and open source software, and the DevOps movement – have significantly expanded our possibilities.
In this one day, hands-on workshop, we’ll build a modern continuous deployment pipeline based on Git, Jenkins, and Docker.
Container technologies such as Docker are rapidly changing the landscape of development and infrastructure. Finding practical, achievable ways to start leveraging containerization technologies may seem daunting. Fortunately, there are a few simple and accessible options to start reaping early benefits without requiring an overhaul of your entire infrastructure.
Rapid Technology Evaluation
A subtle barrier to trying new technologies is the step to download, install, and ultimately clean your machine up if the technology doesn’t pan out.
Docker enables technology innovation by providing developers with a quick sandbox to try new technologies. Say you want to try Node.js? Just pull the Node container and start coding. Didn’t like it? Throw out the container a move on. The diversity of official images on Docker Hub lowers the barrier to evaluating technologies, accelerating experiments and spikes.
Consistent, repeatable development environments
The phrase “it works on my machine” should mean something. How much time do developers spend debugging issues that result from having slightly different environments on dev, test, and prod? Docker forces environment parity, allowing developers to focus their time adding value rather than fixing bugs.
Containerizing your dev environment can be as straightforward as adding a simple Dockerfile in the root of your source tree. IDEs such as Visual Studio and IntelliJ are rapidly improving their support for remote building and debugging with containers.
Scalable continuous integration pipelines
An obstacle to scaling a continuous integration system is time spent configuring and maintaining build agents. The phrase “cattle, not pets” was coined by Gavin McCance. Docker makes it easy to have environment parity across build agents.
ConcourseCI uses containers to make build pipelines first-class citizens.
We’re keenly watching technologies such as ConcourseCI that use containers as a first-class citizens of build pipelines. Adding more developers to your team? Looking for more better feedback through more frequent CI builds? ConcourseCI is the first continuous integration system that easily scales. As each task in the build pipeline is run from within its own container, the build agents themselves do not require specific configuration, making scaling much easier.
Want to learn more?
Come join us at Agile India 2017, 6-12 March in Bengaluru for more talks and demonstrations on containers, Docker and agility.
Conference planning is in full-gear and we have just released the first list of speakers for Agile India 2017.
We will be interviewing a number of speakers leading up to the conference.
Our first was with Woody Zuill where we delved into the topics of #noestimates and Mob Programming. Woody tells the story of how the #noestimates movement originated and goes into depth on the potential benefits of Mob Programming.
Subscribe to the Agile India Podcast for more interviews on iTunes, Google Play, or through your favorite podcasting app. Our RSS Feed is: http://feeds.feedburner.com/AgileIndiaPodcast.
Esther Derby – Co-Author of “Agile Retrospectives:Making Good Teams Great” and “Behind Closed Doors: Secrets of Great Management”