As someone who writes or leads the writing of in-house apps, I can say that making an in-house app fit for reuse even by another department or division *within the same company* may involve a lot of refactoring and reengineering to remove assumptions and dependencies, especially the assumption that this is the one deployment in the world.