In an environment where your business is constantly seeking to improve your processes, products, and services, you may consider onboarding the latest technology vendors to stay three steps ahead of your competition. As a part of the vendor onboarding process, software escrow has become a vital tool for the success and security of a software license agreement or SaaS subscription agreement. Without one, many end-users won’t even consider a vendor. In some cases, it harms their credibility to not have software escrow in place.
Most software vendors/developers know this, however many are still lagging behind in having it in place. Others that do have software escrow in place still aren’t doing enough, as they are using outdated methods for making deposits by using traditional, or manual software escrow. But savvy developers on the cutting edge, and likewise, end-users who want the most up-to-date protections in place, have turned to automated software escrow.
Let’s take a look at how automated software escrow has changed the escrow game and why end-users should make sure their software developer has automated software escrow in place.
It all begins with a quick analysis of the different software development methodologies.
Waterfall Development Vs. Agile Development
When it comes to software development there are two basic methodologies: waterfall development and agile development.
Waterfall development is a more linear approach to software development, just as manual software escrow can be seen as the “traditional” methodology of software escrow. Agile development is more modern, rapid, and collaborative. With agile development, changes typically happen on a daily basis.
Software developers must choose which methodology to follow to define the processes in the software development life cycle. These processes ensure the quality of their product and give it a structured flow.
In the waterfall methodology, tasks are completed in linear fashion. One must be reviewed and completed before you can move onto the next phase. Each phase flows downward, like a waterfall, to the next phase.
While this methodology provides sound structure to the development process, it’s unflinchingly rigid and slow — the downward flow must follow the sequence of development. It cannot flow back up.
If an issue is encountered, the developer has to start the process over. The waterfall methodology makes planning straightforward, but does not allow for much collaboration beyond reviews.
With waterfall software development, major software upgrades are released on a slower, scheduled basis, often annually. This can often require the end-user to make an additional purchase to obtain the new features and functionality.
The emergence of software-as-a-service (SaaS) led software companies to push out updates and new features more frequently. As SaaS companies and other end-users have become more agile, software developers have been mostly forced to switch to a more agile methodology in order to keep up. And rather than charge extra for these more frequent updates, they are typically included in the subscription.
Agile development has emerged as the solution to these development issues. Where waterfall development typically required manual updates to be sent to escrow agents two-to-three times per year, agile development requires that escrow updates are pulled directly from the developer’s archival system on a weekly basis to keep up with the constant changes.
Agile development is a methodology in which people, collaboration, results, and flexible responses to change are the focus. The whole project isn’t fully planned out, it is instead completed in short phases and evolves as the project develops.
This allows for enhanced flexibility and makes it easier to update the product later on. It’s sort of like building an interactive prototype, developing and testing it, and then pushing it through to become live. The added layers of communication between developers and end-users helps ensure that the product will be more successful when completed.
The end-user will gain a stronger sense of ownership as they will be more involved with every step of the project. They’ll know exactly where things stand through each phase and likely enjoy the more user-focused process.
Traditional Software Escrow Vs. Automated Software Escrow
The waterfall vs. agile development argument serves as a close metaphor for traditional vs. automated software escrow.
In this example, waterfall development is akin to traditional software escrow, while agile development closely resembles automated software escrow. In fact, automated software escrow is itself an agile model.
With traditional software escrow, updates to the source code in escrow are typically done manually. This involves an IT person either bundling up the code and uploading it to a CD or thumb drive, or pushing the updates into escrow via FTP. It’s a time-consuming, administrative process that adds up to quite an exponential cost for your vendor over time.
Not only is it costly for your vendor from a time and money perspective, but the traditional escrow process is also outdated. It simply can’t keep up with today’s rapid development. By the time the update is pushed into escrow, code level changes have already been made again, so the escrow update is no longer complete and functional, leaving your escrow arrangement with little to no value.
Meanwhile, automated software escrow updates the escrow account automatically. It cuts out the man-hours involved and is able to keep up with today’s rapid software development. It’s flexible, agile, and most importantly, ensures you always have the latest and greatest in escrow, substantially increasing the value of your escrow arrangement.
How Automated Software Escrow Gives End-Users An Edge
The way technology is being delivered today has evolved and most escrow agents never evolved along with it. The manual escrow technology being utilized by these outdated agents is not able to keep with the speed of today’s software development. Using waterfall development and/or manual depositing in which the escrow account is updated two or three times per year, almost ensures that the escrow deposit materials will be outdated. Simply put: using traditional methodologies doesn’t work in today’s innovative and ever-evolving marketplace.
Thankfully, PRAXIS recognized the trend early and got on the cutting edge when it developed automated software escrow in 2016. It connects directly to a software developer’s source code archival system, such as GitHub, BitBucket, Microsoft TFS, and others. The direct connection allows PRAXIS to automatically sweep for changes in code as frequently as required.
This dramatically increases the quality of the escrow deposit materials and essentially eliminates the possibility that the materials could become outdated. The rapid development of features and functionality makes agile development the standard for today’s software developers.
End-users should only look to do business with software developers who are agile and use automated software escrow. Otherwise, their practices are obsolete.