I work in a company going through a downsizing process. It is assumed that a lot of “let go” developers jobs will eventually be outsourced. Some of those programmers had some design to do.
Is it possible to outsource both design and creation/coding properly? I feel that by outsourcing design, we lose any in-house capability of really “owning” the code. It will be very difficult to maintain. Also we’ll have a hard time ensuring a proper development.
How can I address those issues?
1
Is it possible to outsource both design and creation/coding properly?
Of course it is. There are many, many firms whose business model depends on it.
I feel that by outsourcing design, we lose any in-house capability of
really “owning” the code. It will be very difficult to maintain.
That may or may not turn out to be true, depending on the relationship between your company and whoever it hires to do the work. Do you expect to hire contractors to come in and work with your team on projects? Or will you send a description of a problem and a list of requirements off to some company and expect to get back a finished product?
The decision to do less development in house has apparently already been made, so assume that the folks who make the decisions are willing to live with having less that total control over and knowledge of the software development that you do.
In regards to maintenance, outsourced is not fundamentally different from employee turn over — either way, you have someone working on a program which they neither wrote nor designed, and that will probably happen sooner or later.
That said, as long as you have some in-house developers, it is probably better to have them work on the project, even if their role is limited. That way you can hit the ground running when it’s time for the hand off (and your in house developer probably has a better grasp of your domain).