The Secret of On-Demand Software Development
A REVOLUTIONARY APPROACH: How On-Demand Software Development Services are revolutionizing market competitiveness and dramatically improving ROI
A Look in the Rear-View Mirror
The goal was clear: to get the software built, tested, deployed and in operation before the competition did – and do it on time and within budget. If so, that would mean new disruptive products and essential services, and/or core systems infrastructure capabilities could be deployed that would allow the company to enjoy first-mover advantages and ramp right up the projected curve of the business plan.
Only that didn’t happen. Did it?
When you started, Option A was to recruit and hire an in-house team of software developers who could work closely together with maximum communication capability and with the ability to flexibly innovate from breakthrough ideas sketched on a white board or even a napkin, if needed. Deliverables would be checked off the product development roadmap, one after another, at maximum velocity and deployed without delay.
But that’s not how it went.
No, just finding all the right people to field a high-velocity development team took much longer than anticipated. And some of them didn’t exactly work out as hoped, and so there was some personnel churn, some of which was voluntary, some not. The necessity of the team “bonding” and “gelling” period wasn’t really anticipated at all – i.e. where the entire team comes to embrace the same vision, gets on the same page, and actually functions like a healthy, collaborative team. That slowed things down.
And then there were all those unanticipated costs. Locally, every development resource was at the ceiling, or beyond, of what was budgeted to pay for their salaries, benefits, taxes, and in some case recruiting fees and relocation costs. So, six months or more went by without much of what you envisioned on the product development roadmap getting done. But these difficulties didn’t slow down a lot of the competition. It only allowed them to increase their advantages during that same period of time.
Option B was to consider “outsourcing” (a dirty word to some). Indeed, outsourcing vendors are known to be able to potentially provide resources quickly in most, if not all, required skill sets. Plus, in most cases, the monthly costs per resource (at least on paper) was dramatically lower than recruiting local talent. The remote teams were also ready to get to work after a brief knowledge transfer and planning period. That all sounded like a plus.
However, as far as “bonding” and “gelling” and being on the same page, a remote team could be physically located on the other side of the world, all hailing from a different culture, perhaps not even sharing the same common language in many ways. Nevertheless, the promise of speed of production and lower costs was sufficient to give it a try. And perhaps you did.
And then… unfortunately, the results were not exactly as hoped.
No, your new offshore team took a while to really understand what was needed. Communication and essential dialogue was slow and tedious, bedeviled by distant time zones and non-overlapping work days, as well as communications “lost in translation.” Thus, what the offshore team ultimately produced turned out to be close, but not exact, to what was required. So, that took additional time to go back and tweak and make adjustments to get it right (if it ever was 100% right).
Plus, quality issues were encountered, more so than were typical with local teams you were familiar with in the past. That meant all those bugs had to be found and corrected. And perhaps most notably, the only work that got done was that which was explicitly documented, i.e. no new ideas came from the team actually doing the work, no innovation, no better ways suggested, no “what ifs…” And worst of all, every now and then one of the team members took a new job and just vanished, meaning a new replacement had to come up to speed to take their place, which was yet another delay factor.
Thus, the net result was that one set of problems was swapped for another (in-house versus offshore). And the extended time it took to get it all right ended up negating any anticipated monetary savings based on lower labor rates.
If any or all of this sounds familiar, you are not alone. The good news is that Option A and Option B are not the only options available. There is an Option C.
Option C: On-Demand Software Development
This option has some distinct differences from both Option A and Option B. First, like option B, all identification of qualified resources, recruiting, training, equipping, office provisioning, supervising, and managing, is all done transparently as part of a contracted service. However, and best of all, unlike the traditional offshore outsourcing model, these resources comprise a dedicated team, who serve functionally just like your own internal employees, just not collocated. Likewise, the promise of lower costs due to better labor rates is still on the table. And, like Option A, the essential cohesive team and transparent communications processes are not lost.
So then what’s the difference between Option C and traditional outsourcing? In a nutshell: They’re your people, in close proximity and communications, but without all the support headaches.
On-Demand Software Development manages for you all of the external factors other than the actual development activity itself. And it additionally facilitates the communications process and client culture requisite to making the model work. Admittedly, they are subtle, but game-changing differences.
The truth is, faceless entities in a faraway land, even if geographically in the same time zones, can still lack that unified team cohesion and bondedness essential to high-velocity software development. On the other hand, if you aren’t physically in the same space with your development team, i.e. if they are down the hall, on another floor, or even in another building or city, then technically they are remote from you. You still have to pick up a phone to talk to them, or call a meeting at some point in the future. Communication isn’t always real-time and 100% available, even if everyone is very close by.
Now imagine how contemporary communications, collaboration, and networking technology can make your remote team roughly equivalent to an in-house team, regardless of the distances between you. A Skype or Facetime call puts you face-to-face with anyone – in real-time. Texting and email are still as popular and effective as ever. And collaboration systems such as GoToMeeting, Slack, Google Hangouts, and others make team interaction extremely viable, irrespective of actual physical location, as long as there is an internet connection available.
But that’s just the beginning.
A team’s ultimate success isn’t predicated on daily interaction with company executive leadership. It’s predicated on daily interaction with team leadership, which in this model is happening both locally and remotely. That’s important to note.
This model is built around the successful establishment and operation of the Distributed Agile software development model (yes, Agile software development configured specifically for remote Dev teams). That means that at the corporate level of the client organization, just like in the traditional Agile model, there is a Product Owner and a Project Manager (who may be one and the same person, or different).
Also, onshore is the On-Demand Software Development service provider’s Scrum Master who communicates daily with the client’s Product Owner and Project Manager – typically for the routine 10 minute update on task priorities, accomplishments, and open issues/blockers, as well as the end of Sprint demos every week or two. As a member of the actual development team – which can be located onshore, near-shore, or offshore as desired – is a Team Lead, who, in addition to his/her own individual development contributions, manages the Burn Down charts of tasks and time allocations, and ensures deliverables are ready to demo at the end of each Sprint.
Behind the scenes, the On-Demand Software Development service provider manages all of these resources on behalf of the client on a day-to-day basis, as well as provides their workspace and all their necessary tools and equipment.
The provider is also observing all best practices for cyber-security, code security, IP protection, and version control. And one thing more: The provider is also providing decades of best practice development experience having done so for many, many clients – i.e. invaluable first-hand experience that an individual client may or may not currently have available in house. That’s a pure value add.
In addition, the On-Demand Software Development service provider is also facilitating on-site, face-to-face team engagement, in both directions, at appropriate intervals during the year. Initially, during onboarding, the Team Leads, and often additional team members, come to the client site to work in-house for weeks or in some cases a month or more at a time, to lay that important foundation of team bonding, knowledge transfer, and embracing the client’s common vision.
It is also recommended that at least once a year the client travel to wherever his team is located to spend a week or more engaging their team face-to-face, getting to know team members more as individuals, planning and revising the development roadmap, and boosting esprit de corps and comradery. In a short time, this model fosters a sense of inclusiveness for the team to see themselves as an integral part of the client’s organization, not merely of the service provider.
In many cases, as a client organization grows, it is not uncommon for it to wish to establish their own corporate presence in the development location, and therefore subsequently wish to transfer all their remote development personnel into their organization on a full-time basis. This version of the BOT (Build, Operate, and Transfer) model therefore become a natural progression for the On-Demand Software Development model, if desired.
Another key advantage of the On-Demand Software Development model is dynamic organizational size flexibility. Do you have a big project coming up where many resources will be needed for a specific window of time, but not forever? No problem. The team can be scaled up quickly. When that project is completed, then the team can be reduced back down to the proper size for current needs. Thus, you experience no recruiting headaches and delays on the front-end of the project, and no layoff worries when it’s done.
Making it Work and Enjoying the Desired Outcomes
The Secret of Option C: On-Demand Software Development services is a direct function of four critical factors:
1. Having a development presence in all major theaters of the world (e.g. North America, Central/South America, Europe/Middle East, Central Asia and the Far East).This aspect is key to the ability to provide close-proximity, solutions in any major market, effectively eliminating most if not all time zone issues – as opposed to those providers located in only one country or geographic region for whom all potential clients not located nearby would only have a remote offshore solution to choose.
2. Properly employing the Distributed Agile development methodology with a referenceable service provider who genuinely knows how to successfully provide it (most offshoring organizations don’t know how to do this well)
3. The Onshore Scrum Master, a senior level technologist and manager, ideally a citizen/resident of the client country, fluent in the client’s language and culture, who is similarly fluent in the language, customs, and culture of wherever the development team is assembled.This interpretive communications element of this solution is absolutely critical to success (and often found to be one of the most common missing ingredients in most offshoring failures). The client therefore enjoys a single point of contact, readily available, with no communication or time zone barriers, a leader who ensures communication integrity to the team and accountability for on-time, high quality deliverables.
4. The infusion of the client culture. In this model, from day-one, all team members are recruited to work for a dedicated client and no one else. There are no shared resources, only dedicated resources. The client effectively “owns” these team members 24/7/365. They are the client’s people.
Likewise, the teams are nurtured to see themselves in just the same light, as the client’s people and team members, merely separated by some physical distance. In this environment it becomes commonplace for team members to become the most creative, innovative, and eager to share in terms of new ideas and suggestions about how to make the client’s development more successful, deliverables more expedient, and performance the best it can be – just like you first envisioned of what that in-house team should have been like those first six months and beyond.
The benefits of this model are self-evident:
- To successfully build a high-velocity development team and make them productive faster
- To do it for far less cost
- To eliminate the logistical hurdles (office & equipment)
- To eliminate the HR and day-to-day supervisory burden
- To allow you to focus on pure hardcore software development, and little else
- To finally beat the competition to market
- To enjoy delivering what you promised the executive team, on time, and under budget
- To make your system users and your company’s customers very happy
TechGenies is a global provider of advanced software development, program management, and IT services solutions – specializing in the design, production, deployment, and full lifecycle support for Artificial Intelligence (AI), Natural Language Processing (NLP), and Cloud Migration applications.
With operations based in six different countries and growing, simultaneously serving all of the major business markets around the world, TechGenies is best known for its innovative business model that uniquely delivers a superior customer ROI, enabling increased client shareholder value, and providing a premium client relationship and individual user experience.
TechGenies is further distinguished by its commitment to a strong customer-centric culture, where dedicated development resources seamlessly function as part of each client’s extended development team.
TechGenies: where your wishes are always exceeded.