For any company, in-house developed software is quite different than any purchased software in two criteria: flexibility, costing or pricing. In below, these two points are discussed for our selected topic today.
In-house developed software usually starts development without performing proper business analysis and consideration of business scopes. Less business engineering are counts during system design except time constraints. Since this software is being developed for Internal customers, most of the time they take advantage of this. I have seen the requirements actually comes during user acceptance testing (UAT) and there is a huge unplanned time span to deliver a project after UAT.
As user does not able to get the view of the product, cannot articulate his/ her requirement properly earlier. Interestingly, I found in my experience that UAT feedback form is much more focused & descriptive than User Requirement Document URD. You can say, one should not depended on users requirements document but develop also a Business Requirement Specification. I agree with you. Unfortunately, our owner of company is not willing to hire Business Analyst along with developer. In their consideration, developer suppose to do analysis, testing & implement. This is the key reason why our software industry does not growing, we automated many companies but does not re-use those software for others.
Now come to second point: Cost. Is it really lower for in-house software? For any software, development is the major portion of costing. And deployment is the prime portion of revenue.
If we develop once and deploy for several companies it is bound to make that software profitable. Due to lack of system design and mentality to sale software, we loose the opportunity to get profit over our massive expenses. If anyone or any company think of sale without making product flexible to deploy no doubt it is a seen for them.
In conclusion, we can say that purchased software is earning money by focusing on two areas: business analysis & re-usability and become a profit center. On other hand, cost minimizing for business analysis and faster delivery kills in house software to be a profit center.