What does “flexibility” mean in software development?
It seems like an obvious question but it’s actually a good one because the business world and the software world have so many buzzwords and concepts nowadays. “Agile.” “Scrum.” “DevOps.” “Lean.” “Kanban.” All these words have distinct meanings, but in different organizations, they are approached differently. A lot of companies claim to be “agile,” which means that projects are fluid and nimble and different parts of the project can be worked on at the same time -- as opposed to “waterfall,” where one part of the project has to be finished before the next part can start -- but many companies claiming “agile” are not actually working in agile ways.
The whole ecosystem can get confusing.
To be clear, then, what “flexibility” means for software development is that you work with a team either internally (hired) or externally (outsourced) or both that:
- Has a good breadth of expertise
- Can change between different projects and priorities as business needs shift
- Have the knowledge to change coding languages or other back-end work quickly
- Will co-strategize with you on needs, timelines, and sprints
- Willing to work late on projects to make sure deadlines are hit so other projects can be advanced
In short: experts and willing to work hard and change direction when needed.
Why is this important right now?
Not to sound too dramatic, but it’s important because people don’t know what’s going on around them right now. We don’t know how long work-from-home might last. We don’t know how long masks might last. We don’t know what COVID will do to buyer behavior in different industries. We don’t know if B2B will become more of a digital sales process, especially if trade shows and flights are reduced for a while.
There is a lot we don’t know right now.
The antidote to “I don’t know” is finding flexible people to work with, especially on software development initiatives. DevOps, one of the “sometimes poorly-defined words” we mentioned above, is essentially automated agile. It allows you to transform the way you develop and deliver services, usually first seen in faster time-to-market and more releases. That leads to better customer experience, more satisfaction, and more repeat purchases. Companies that don’t use an agile/DevOps philosophy tend to become less relevant to their end users because it seems like nothing is changing, or there’s a very long time between changes in the product.
DevOps, then, allows for the flexibility that you need to seek in a partner.
DevOps and dating
We wrote an article a while back about how picking an outsourcing partner is kind of like dating. Flexibility plays in there. Maybe you think we’re talking about intimacy, but get your mind out of the toilet! Instead, we are talking about flexibility in relationships. Maybe you go out or stay in. Maybe you see one person’s friends one night, then the other person’s friends the next night. Maybe you buy a house here vs. there. A lot of dating is about flexibility in decision-making. Outsourcing is about that. Business partnerships are about that. Effective software development is about that. Life is about that.
When you look for an outsourcing partner, look for a team that can blend with your team, but look for a wide range of skills and a wide range of previous projects completed, so that you know the team has the flexibility to work on many different things for you.
If you need some other ideas about how to select an outsourcing partner, we put together a checklist: