A new approach to software development is cutting the cost and complications of traditional, role-based models.
Welcome to the Access Economy
In the old days, only the rare music aficionado would own collections of hundreds or thousands of CDs, cassettes or albums, but today, anyone can access 30 million songs via digital stream for $10 a month. Instead of owning a car that sits parked somewhere 95% of the time, they can get access to the ride from Uber when needed for a lot less cash. Access is winning over ownership, and similarly, service is winning over physical products.
If you’re Netflix, do you really need to focus on managing the infrastructure and hardware to distribute amazing content, or do you let someone else do that and focus on providing more of the best content and the best viewing experience to your customers?
Of course, the reality is ownership isn't going away any more than physical products are. What's happening is the ownership is transitioning from the masses to a smaller few. That may sound a bit dystopian, but it really isn't. Ownership is transitioning to smaller groups that focus on turning products into services accessible for many, as needed, and at a higher quality with lower cost. When Spotify, Apple and Pandora own the song storage and distribution, they can keep focus on improving their technology, continuously making music sound better, providing the customer an ever expanding array of options to help them select from an ever growing catalog of songs. Uber can provide the latest upgrades and conveniences that makes accessing the benefits of a vehicle as needed more efficient and pleasant for the customer. After all, that's what they do as a business.
In the same way, Amazon, Microsoft, Google and thousands of other SaaS, PaaS and IaaS companies provide cloud computing services to businesses that in the past had to own the infrastructure, platform or software. If you’re a Netflix, do you really need to focus on managing the infrastructure and hardware to distribute amazing content, or do you let someone else provide you access to the product ‘as-a-Service’, and instead focus on delivering more of the best content and creating the best viewing experience for your customers?
Software Development ‘as-a-Service’
Another business service regularly required for enterprises, which may be best consumed through an access not-ownership strategy, is that of software development/customization. Prior to the Access Economy, a company’s usual approach for accomplishing development demands was through the use of a Resource Based solution, i.e., hiring a full time resource or finding a contractor with the development skill required. For companies who are in the software development business this decision can be easily justified. Even for companies which may be in a different industry yet rely on software heavily, using a Resource-Based solution may still be the best option.
However, for companies which have smaller IT organizations, or do not directly compete in the software development business, using an ‘as-a-Service’ IT support provider to access only the specific amount of developer skills needed, may be their most cost effective solution.
By leveraging a software development ‘as-a-Service’ model the organization avoids much, if not all, of the upfront cost required from resource-based options. This includes, but is not limited to, recruiting, onboarding, and ongoing overhead such as benefit packages, continuing education and state/federal contributions. In addition, an ITaaS support provider’s team-based approach eliminates the availability constraints inherent in a single FTE solution, e.g., a resource not being available beyond a standard 40 hour-work-week without additional cost or added stress.
Much like the service-centric offerings of SaaS, PaaS or IaaS providers, using an ITaaS solution allows customers to access specialized development skills such as design, design collaboration, coding, unit testing and documentation, without increasing cost beyond the pure development services they need — an approach which can reduce development cost more than 45 percent when compared to traditional, Resource-Based solutions.
Criteria making software development ‘as-a-Service’ a better choice when compared to resource-based options:
- Development needs do not exceed 2000 hours each year.
- Development needs exceed 2000 hours annually but require multiple development skills beyond that of a single resource.
- Development requires a certain skill set only on occasion.
- Dev demands spike at various times during the year.
- In-house staff can focus on project needs but day-to-day production needs become a distraction.
Software Development ‘as-a-Service’
In low demand scenarios costs will be much lower
If you only require 1200 hours of actual development, you only pay for 1200, instead of 2000 hours as in Resources-Based commitments.
The survey reveals just under 50% of their time is going into actual development effort. The rest of the time is spent on administrative tasks or waiting for direction from project stakeholders. As such, using an ITaaS strategy, where only value-added tasks are charged, removes the cost burden of development downtime associated with resource-based models, in both low and high demand scenarios.
Additionally, the use of an ITaaS model makes the planning, capture, reporting and reconciliation of the pure development component within a project more transparent for stakeholders as they attempt to meet the time and budget requirements of a project.
In higher demand scenarios cost can still be lower
The development process is rarely ever a continuous flow where the developer can continually design or code (value-add tasks). There are starts and stops for testing, approvals, deployment and administration tasks. A survey from a group of 1,146 developers (Ex. 1) shows the average amount of hours spent during a typical week on the various tasks within a software development project.
When total demand is low and only a few resources are financially justified, development must commonly be approached in a serial fashion, meaning progress on important projects is put on hold while singular full-time or contracted resources address critical production issues. As shown in Ex 2, these intermittent starts and stops not only prolong project timelines, but often increase risk as the business must continue operating with inadequate software. The team approach of an ITaaS provider is able to meet both of these needs in parallel, without impacting overall cost.
Recruiting and Onboarding
A Resource based model, especially one reliant on contractors, may involve multiple recruiting and onboarding efforts, particularly when a previous contractor is unavailable as new needs arise. As shown in Ex 3, this factor can add considerable time and cost in providing a development solution to a business need. In a mature ITaaS model, multiple development resources can be vetted and onboarded up front, thereby eliminating the need for recruitment, and minimizing the time for onboarding as each new development demand is presented.
Reliability and Quality
There may be an inclination to think the importance or role of the developer is lessened when using an ITaaS provider. However, the need for the developer to have a high level of a programming, communication/collaboration and self-management skills are as important in an ITaaS solution as a Resource-based approach. Getting from a problem/need to a working solution is still the goal, and having the best skills to meet that end is a primary asset.
PWC is forecasting the sharing economy will grow 3000% by 2025. Consumer-facing industries will lead the way, but B2B arenas such as cloud computing and staffing will begin to catch up. IT services like development can be provided as a service more efficiently, with greater value and lower costs than the traditional hiring or contracting approaches.
When a full time resource is not needed, the ITaaS model lowers cost by providing access to specialized development resources only when needed, and only billing the customer for what is used. And, even when a full time developer may be needed, the development cycle is more than just design and coding. The time required for code deployment, testing, approval and more, means development skills are placed on hold. While an ITaaS provider allows the customer to only pay for the design, coding and collaboration time required, a Resource-based model keeps the company responsible for the wait time, in addition to any recruiting and onboarding efforts as well.