On the surface it makes perfect sense. Outsource your development efforts. When the development is done, the contract developers leave and you’re not paying for their time. Makes more efficient use of your IT dollars! Better! Faster! Cheaper! However, not having skilled developers available misses out on an essential skill set to make your organization truly more efficient. I’ll take it a step further. For true flexibility, make sure your developers are federal employees.
I come from an organization that through some wise decisions and (really) lucky hiring breaks had a complete team of skilled federal employees. Between twelve of us, we have the skills to handle business analysis, agile project management, content strategy, usability design, data design, coding (Java, Javascript, jQuery, Google Apps Script, PHP, Python, HTML, CSS, SQL, MySQL, NoSQL, ADF, etc), testing, training and deployment. This made the team an ideal “skunk works” to test out new technologies and approaches to solve tough business problems. We were built to “fail fast” and continually refine technology tools and methods until reaching the best solution for the situation.
We weren’t the only ones to see the benefit of in-house development. The Navy used this model with great success in creating Spike – a short range guided missile using common, cost-effective components. According to a recent Wired article (http://www.wired.com/2014/02/navy-mini-missile/), building it in-house helped improve innovation speed while significantly lowering costs. Greg Wheelock, a Navy Weapons Division technical lead said, “We own the technical drawing package, we own all the intellectual property, we have the capability to develop it, take it out on the range, test it, come back and tweak it, and go back to test it and do limited rate production right in our own backyard.”
It is impossible to schedule breakthroughs. However, you can create an environment to nurture innovation where needed. Eliminate contractual limitations. Cut change request costs. Make changes quickly. Do this by moving your innovators in house. It is easier to control factors that promote innovation within your own organization than in someone else’s shop. Once a new idea proves to be a solid solution, then bring in vendors to scale up production.
Think about how often project requirements change either from misunderstandings or tweaks. This is actually healthy to have requirements change often during the early phases of a project while stakeholders forge a good understanding of the problem and solution. This flexibility cannot be hampered by change request limits or costs. Experiment until it works! This model also benefits the vendor. After hand off they will have a concrete, working model. The key is to have federal staff with the skills, resources and mandate to find innovative solutions.
Sadly, this story is not all rosy. I have the unique perspective of seeing how well this situation can work and see the demoralizing losses in talent and solution quality when it crumbles. In an age of shrinking IT budgets, management eventually sees developers as a luxury expense. To save money, agencies focus on buying off the shelf solutions. However, they harm themselves as a result. Off the shelf solutions rarely fit the nuances of government workflows and complex regulations. So, you have to customize the COTS solution which gets expensive quickly.
With the mandate to cloud hosting, internal development teams are more important than ever. When I attend conferences, I hear increased talk that the government needs smart technical people. The government needs to attract and retain people that can understand and guide the development process to deliver something useful. However, organizational structures and position descriptions rarely reflect this reality. Developers are moved to “management” positions where they spend more time validating hour sheets than thinking about new solutions. Business analysts are separated from developers (or don’t exist at all) so the synergies between people who understand the problem and people who can build solutions are missing.
Developers help ensure a high quality final deliverable. Now, I’m not advocating that you have your developers micromanage the vendor’s code. We all know that coders can be as zealous about coding techniques as technologists can be about platforms. However, when properly nurtured, skilled developers can look beyond their preferences and see the elegance in other’s code. This is a key to ensuring that you are getting solutions equal to the quality that you purchased.
- NOTE: All views and opinions are those of the author only and not official statements or endorsements of any public or private sector employer, organization or related entity.
Chaeny Emanavin is part of the GovLoop Featured Blogger program, where we feature blog posts by government voices from all across the country (and world!). To see more Featured Blogger posts, click here.
Leave a Reply
You must be logged in to post a comment.