OSET Institute

View Original

Reality Check: Cost of Software Development

We find ourselves repeatedly explaining to folks that there are real dollar costs to developing software - what can be characterized as intangible assets - in the philanthropic world.  When it comes to building soup kitchens or water treatment plants, it is indeed true that often times there are lots of the physical elements that can be donated in kind.  And sometimes this even includes some services to put the pieces together.  Such is not always the case in developing civic digital technology.  To badly mix our metaphors and puns, there is a reality check to write for the development of commercial grade, production ready, fault tolerant, trustworthy, government I.T. software.

So, it didn't come as too much of a surprise when within hours of Tuesday's post, comments and questions started rolling in about the "surprising" amount we stated has been invested in developing the Voter Services Portal or "VSP" (we noted >$300K).  To be sure, VSP does not amount to "...just another straight-forward web site that should cost tens not hundreds of thousands to build."  VSP is not just a web site, but an entire set of tools to:

  1. enable voter self-directed management of their voter registration, including changes, status, requests for absentee ballots, voting history,, and other management capabilities;
  2. drive a series of forthcoming innovations to make it easier and more convenient to participate in elections; and
  3. drive other election administration services as part of a larger election ecosystem. 

And all of that required production-grade, commercial-quality, tested and verified software (in addition to a set of web site templates and CSS).  That also meant a robust set of APIs to integrate with internal legacy voter databases and related election management Apps.  Moreover, this was 3-years worth of work by a small team of 4 and included 2 releases, several additional capabilities, attendant bug fixes, testing, change management, and delivering on an enhancement road map.  Incidentally, the web site - a visual and user experience constrained by local regulation as implemented in Virginia, did not benefit from the UX/UI work we were developing.  In any event, we think $300K is a great value.

The Reality of Building Commercial-Grade, Production-Ready Software

Much of today's innovation in citizen-facing public benefit technology to this point has involved building or leveraging APIs to get at existing stores of government data in order to produce actionable information, knowledge, and even intelligence about government operations and public interactions therewith.  And the fact is, that for modest costs, good-looking, usable, web services to interact with government and government data can be produced. 

On the other hand, there are more complex government I.T. systems for which innovation and new public-facing interactive services is more complicated and requires more design and development effort (which critically includes quality assurance, user-acceptance, and security testing).  And correspondingly the costs rise.  The ecosystem of election administration is a good example. 

Of course, we believe that costs need not rise to the level charged by large government IT consulting houses today.  And we further submit that if the work is produced as open source, then the initial cost covers an unlimited number of subsequent adoptions (not adaptations or deployments, mind you).

So, with that in mind, and to respond to the inquiries we've received, we provide below a breakdown and recap of three (3) years worth of design and development effort that has been philanthropically invested to produce the Voter Services Portal - a platform that can be adopted by any jurisdiction in the country without incurring the costs recapped below, and only paying the incremental costs to adapt the platform to local requirements and deploy the resulting service.

Some things to bear in mind as you look at these numbers:

  1. The Foundation costs-out software design, engineering, development, and testing at a cost-recovery (no margin) rate of ~60% the going fair-market rate found in the Silicon Valley and that 40% represents a benevolence quotient.  So for instance, on average, senior talent in software engineering for the kind of election technology we're developing generally runs about $250/hour.  Our cost is $150.00/Hr.  Similarly, Valley costs for software development run on average $175/hour; our rate is $125.
  2. There is more than meets the eye at a first glance on the real costs of technology development projects.  For the Voter Services Portal, this included significant work with early adopters of the software and that meant travel costs.  Moreover, while we employ agile principles and techniques wherever possible for rapid prototyping, there is a bunch of heavy lifting that occurs in getting down to ensuring the production version will meet or exceed requirements.  We use a Request For Comment process to make that happen.  Here is an example of a related RFC for the VSP.  We also account for project management and administrative costs which includes meetings, reporting, project tracking, stakeholder interaction, eMail and communications time, and the like.  Moreover, good accounting practices require us to track related expenses (like AWS charges), capital equipment (none for this project), and to the extent we can really capture it: incidentals like supplies, presentation materials, work on related web site content, etc.
  3. For this Project (unlike other major components such as VoteStream) we have not yet produced important related documentation (technical, user, implementation, training, etc.) and related outreach and adoption materials (e.g., equivalent to what you can see for Votestream.)  So, strictly speaking, we're not done.
  4. However, compare our total costs with like-kind projects in the commercial vendor world, and we're confident 3 things will be readily apparent: [a] our cost model is as philanthropic as one can imagine; [b] there are real costs associated with digital technology (software) development that are not yet well understood by grant making organizations, donors, or philanthropists when considering backing such initiatives; and [c] in any event, comparing the cost of software apparatus with web site development can be a misinformed apples verses oranges comparison.

The Voter Services Portal Costs

Time Period:                 2012—2015
Time Period:                 2012—2015

Time Frame:                 36 Months
Capitalization:              $258,970.00
Expenditures:                 $53,095.00
Total Investment:          $312,065.00

Voter Services Portal 3-Year Project Costs Breakdown

  • Administrative Costs: $37,350.00
  • Travel Expenses: $12,000.00
  • Services Providers: $2,592.00
  • Supplies and Materials: $1,153.00
  • Capital Equipment: $0.00
  • Systems Architecture: $17,250.00
  • Interactive Design: $30,000.00
  • Software Engineering: $8,625.00
  • Software Development: $127,500.00
  • Acceptance Testing: $43,750.00
  • Quality Assurance: $10,875.00
  • Reference Implementation: $21,000.00

Notes:

  1. "Administrative Costs" include all project management and administration time and materials; communications, memos, status reporting, status meetings, stakeholder presentations, accounting, book-keeping, contracts administration, etc.
  2. "Services Providers" included cloud hosting, developer services, Internet, etc.
  3. "Systems Architecture" addresses overall system design; "Engineering" addresses technical aspects of software development (e.g., languages, tools, algorithms, data stores, APIs, etc.); and "Development" is the actual source code development and implementation.
  4. "Acceptance Testing" is a process generally not conducted by current commercial solutions to any documented extent we can find.  This involves actually testing prototypes and implementations with users to ensure usability and requirements fulfillment.  Similarly, "Quality Assurance" involves bug, error, and performance problem resolution.  These are are not the development-time issues that come up, but issues that arise out of acceptance testing which includes activities such as load and performance checking and validation.
  5. "Reference Implementation" was the work to actually integrate the VSP with the adopter's legacy IT systems (adopter in this case was the Commonwealth of Virginia)

As the reader hopefully can now see, there are real costs of commercial-grade, production ready software that often are not considered when "guestimating" a Project price.  The reality check here is that $312,000 is a great value for what an adopting State might otherwise spend.  If one were to recalculate this based on market costs of commercial IT systems consultants and developers (including their necessary "margin"), the amount would be closer to $425,000.

Going it alone, means a State would spend approximately that much.  Which is one of the many public benefit purposes, in our minds, of the TrustTheVote Project open source election technology: taxpayer value.  You see, that $300K+ worth of software is freely available.  Of course, that doesn't mean it will have a zero cost to deploy.  But we're convinced that the adaptation and deployment costs should never be much beyond $200K and in many cases (assuming the base-level user experience requires only a "re-chroming" or re-branding), significantly less than that.  There still is a commercial opportunity there, but reshaped to enable adoption of significant innovation at a fraction of the cost to taxpayers. 

And remember the kicker here: the open source principle of "Perpetual Harvest," which means that forever more, any and all bug-fixes and enhancements will also be freely available, under the open source license.  Such is a rising tide raising all ships.

As a final thought, you need not just take our word for it.  Ask the good folks at Democracy Works TurboVote Project about the $1.4M they're investing in building the next version of their 3rd party voter registration software and a new App, BallotScout.  Real dollars, for real costs, to build real software.