A friend taking an HR course contacted me, this evening, to ask me for my input into her homework assignment. The scenario was that you, the student, work in the HR department at a 75 person company that delivers meals to people. The first version of the mobile app, used for scheduling deliveries, has been outsourced and the CEO believes it's taking too much time and money to be developed. The CEO is considering hiring software and QA engineers to bring development in-house and wants your input.
This a good scenario for the real world and I was happy to share my thoughts. My first question was asking if the company considers itself a technology company. Corporations like Apple and Amazon are clearly high tech companies, so it's a no brainer for them to develop their own software. On the other end of the spectrum would be companies who use custom IT systems, but are not tech companies. For example, Wyndham, where I worked about five years ago, outsourced development of their e-commerce websites and backend reservation systems. Asking a company to determine how they self-identify is a good first step.
Another thing to consider is how often will the software be updated. Modern, high tech companies release new versions of their software weekly or monthly. Facebook is a perfect example of a 21st century company that treats development as an ongoing process, instead of an event, by releasing new software three times each day.
These considerations are simply a starting point for the discussion. If the decision is made to bring development in-house then there are questions about conducting interviews, how to dress, and hearing about candidates real-world experiences.