What is Software house?
Software house is very specialized type of management skill, where experienced persons can turn the organizational problem into a unique benefit.
A professional software house normally consists of at least three dedicated sub-teams :
- Business analysts who define the business needs of the market
- Software developers who create the technical specification and write the software
- Software testers who are responsible for the whole process of quality management
In bigger software houses, greater specialization is employed, and quite often there are also:
- Technical writers who write all the documentation such as user guides
- Release specialists who are responsible for building the whole product and software versioning
- User experience designers, who are creating the design architecture based on business requirements, user research and expertise in usability
- Graphic designers who are normally responsible for the design of the graphical user interface.
- Maintenance engineers who are behind two, three or more lines of support
- Consultants responsible for making the solution operational, especially if some specialist knowledge is necessary.
Product life cycle
- Design – including both the business and technical specification
- Coding – the development itself
- Testing – the quality management
Each stage ideally takes 30% of the total time, with the remaining 10% in reserve. The UML sequence diagram of interaction between these groups may look like:
At each stage a different group plays a key role, however each type of role must be involved throughout the whole development process:
- Analysts, after completing the business specification, manage the changing business situation to minimize the possibility of change over time. They also support both programmers and testers during the whole development process to ensure that the final product fulfills the business needs specified at the start. The process ideally puts business analysts as the key players during final delivery of the solution to the customer, as they are best placed to provide the best business layer.
- Programmers do the technical specification during the design phase, which is why they are called programmers/designers, and during testing time they fix bugs.
- Testers complete the test scenarios during the design phase, and evaluate them during the coding phase
Data source: https://en.wikipedia.org/wiki/Software_house
Comments are closed.