I have noticed that many persons do not have the proper idea of what is done usually in software or IT companies. Even some of the students studying Information Technology also have doubts about it. To clarify the entire thing we need a brief discussion about this.
Most of the software companies do not involve themselves in creating public software like Photoshop, browsers, media players etc. They involve themselves in making software for industrial use, e.g. Hotel Automation Software, Library Management Software, Banking software etc. Their work is contract based. When a company (such as a hotel) wants to automate their work, they contacts a software company and tells them about their requirements. In this step the software analyst interviews the customer about their requirements and then removes all kinds of redundancies omissions and inconsistencies in that requirements. After all these have been done the entire thing is written in a document called SRS document.
Next, software building is started according to this document and after the entire software is built, the software is tested to check if it is working or not. After the customers approval the software product is sent to the customer.
Though the software building is complete, one phase continues for a long time - it is the longest phase of software development, called the maintenance. It concerns with improvement, error correction etc.
Thus in case of software engineering, no actual or physical product but a virtual product is built.