Jump to content

User talk:Laura Easton

Page contents not supported in other languages.
From Wikipedia, the free encyclopedia

Software House: A software house is a company which provides several services related to software technology, software product development, designing services, mobile app development, software distribution and a lot more. Software houses fall under the umbrella of the software industry. Types of software houses: Software houses are of different types, which are briefly explained below. • Large and well-reputed companies that produce Commercial off the shelf (COTS), like Microsoft, SAP AG, Oracle Corporation, HP, Adobe Systems and Red Hat. • Then there are small companies that are known for the production of custom software for entrepreneurs and other companies like RISKS OF • Companies coming up with dedicated Commercial Off-the-shelf (COTS) software, for instance, Panorama, Hyperion, Gazitl, Enigma Technologies and Siebel Systems. • Companies that produce Software as a Service SaaS, such as Google, Facebook, and Linkedin etc. • Then come companies known for software related components like Developer Express, Dundas, ComponentOne and Sohn Software. • Application Service Provider like Salesforce • Companies that specialize in delivering bespoke software solutions for specific geographical locations or for vertical industries. All of the above mentioned can be categorized in one or many of the following. • Contractual or software outsourcing – on occasions when the software company delivers a specific software from outside of the contract • Product development – on instances when the company comes up with ready to use or packaged software; Commercial off-the-shelf Roles in a software house Managing a software house requires a special set of skills managerial expertise. Experienced and knowledgeable system organizers can change the organizational problems into unique benefits. For instance, sub-teams working in different time zones allows around the clock operations for the company, if the teams and procedures are well defined. An example of it is a test team in a time zone 8 hours ahead or behind the development team to fix software bugs which are found by the test team. Normally a software house has at least three dedicated sub-teams • People who define the business needs of the market – Business analysts • People who responsible for creating the technical specification and writing the software – Software developers • People who look at the entire process of quality management – Software testers In larger companies, greater specialization is required to fulfill the varying needs. So there are also • People who develop and curate all the documentation, like user guides and much more – Technical Writers • Graphic designing experts, who take the responsibility for the design of the user interface (graphical) • People who are responsible for building the whole product and software versioning – Release specialists • People who are managing two, three or more lines of support – Maintenance engineers • People who make the solutions operational, specifically in the case where specialist knowledge is required. For instance: building multidimensional cubes in business intelligence software, integration with existing solutions and implementation of business scenarios in Business Process Management software. Structuring: The Head of development (HOD) or the manager of a software house reports to the stakeholders. He/she usually leads the sub-teams directly or via team leads that depends on the size of the company. Normally a team of up to 10 members is most operational and result oriented. Larger organizations generally have two models of hierarchy:

All teams are independent, responsible for their work and on the projects that are assigned to them. The hierarchical structure is simple and the employees report to one person which makes it easy as the process goes on.

In the model shown below, there is managers and team leads dedicated specifically to each specialization. They assign their team members for particular projects which are led by project/product managers, who buy the people time and pay for their time, effort and expertise. This means that every private employee has two bosses – the project/product manager and the resource manager. On one hand, this situation optimizes the usage of human resources and on the other, this situation may turn out to be conflicting on which of the two managers is superior in the structure. A few types of these structures are deployed and a lot of organizations have this kind of hierarchical structure in place which is spread and split within the departments.

Methodologies:-

A number of methodologies are used are used in a software house for the production of the code. These include The waterfall model that may include project management methodologies like PRINCE2 or PMBoK Agile software development like Extreme Programming and SCRUM. Some methodologies are also present that combine both like a spiral model, Rational Unified Process (RUP) or MSF. Product life cycle:- In a software house, the product life cycle consists of at least three stages regardless of the used methodology Designing – it contains the technical and business specification involved Coding – the development process Testing – quality management of the product or project Each of the above three mentioned stages should ideally take 30% of the time allocated. The remaining 10% of the time is a reserve. A different group plays an important role in all groups. Still, all roles need to be involved during the course of the entire development process. Analysts: once the business specification is finalized, analysts handle the varying situation of business so that the possibility of change can be minimized during the course of time. Both programmers and testers get support from analysts throughout the entire development process to make sure that the end product achieves the operational needs that were indicated at the start. During the delivery of the solution to the customer, analysts become an important role player, as they are equipped with the finest business layer. Programmers: during the designing phase, programmers fulfill the technical specification. This is the reason they are known as programmers or designers, and while the testing is done, these professionals fix bugs. Testers: during the phase of designing, testers are supposed to end the test scenarios. Also, they evaluate them while the coding phase. Systems and procedures:- Software houses that are well managed possess many procedures and systems that are internally implemented across all the sub-teams. These are as follows Business analysts:- Modeling tools like Sparx Systems, Enterprise Architect or IBM Rational Rose. Programmers:- It includes the Version Control Systems and software versioning procedures Other tools like Code analysis tools and coding standards, validated manually or automatically And lastly the deployment mechanism Testers:- Bug Tracking System Test automation tools Performance and stress test tools Product/Project managers:- EPM systems and procedures or Enterprise Project Management PPM or Product Portfolio Management (PPM) Change management system and procedures Lastly, there is Application Lifecycle Management (ALM). This system embeds some functionalities in one package and is used across the groups. These can be purchased from a number of service providers like Borland, ECM, and Compuware. Efficiency Audits:- All well managed and reputed software houses like OranjeClick have a way of measuring their effectiveness. A set of key performance indicators is normally defined which makes the job of efficiency audits a lot easier. Below are some indicators • Number of bugs solved by the developer in time located/per unit or source lines of code • Bugs found by the tester per cycle test • Number of test cycles until ZBB or zero bug balance • The average time is taken in the test cycle • Time real-time the task compared to the real-time taken by task (exactitude of planning) • Corrections made to the baseline A lot of software houses currently are concentrating on reaching the optimum level of the Capability Maturity Model (CMM). There are other methods or systems in practice as well as the Carnegie-Mellon University’s SEMA or certain ISO standards. On the other small organizations may use less formalized approaches. Every organization whether it is small or large performs on its own set of rules which is measured by technocracy (where everything is defined by number) or anarchy, where there are no numbers involved. Either way, the organization performs, the pyramid which describes the t cost and risk of change to already operational development processes.

References: 1. "What is a Software Company?". RedMonk. 2014. Retrieved June 2, 2017. 2. "Types of Software Companies". Adnan Chohdry. 2011. Retrieved June 2, 2017. 3. Software Process: Principles, Methodology, and Technology Author: Jean Claude Derniame, Badara Ali Kaba, David Wastell p.166 4. "Allegion, Software House Collaborate to Extend Electronic Access Control Options". Security Sales & Integration. 2017-09-19. Retrieved 2017-11-14. 5. Greenlit: Developing Factual/Reality TV Ideas from Concept to Pitch p.12 6. Managing successful projects with PRINCE2 7. A User's Manual to the PMBOK Guide 8. Planning extreme programming 9. Agile Project Management with Scrum 10. The rational unified process made easy: a practitioner's guide to the RUP 11. Microsoft Solutions Framework (MSF): A Pocket Guide

If this is the first article that you have created, you may want to read the guide to writing your first article.

You may want to consider using the Article Wizard to help you create articles.

A tag has been placed on Draft:OranjeClick, requesting that it be speedily deleted from Wikipedia. This has been done under section G11 of the criteria for speedy deletion, because the page seems to be unambiguous advertising which only promotes a company, group, product, service, person, or point of view and would need to be fundamentally rewritten in order to become encyclopedic. Please read the guidelines on spam and Wikipedia:FAQ/Organizations for more information.

If you think this page should not be deleted for this reason, you may contest the nomination by visiting the page and clicking the button labelled "Contest this speedy deletion". This will give you the opportunity to explain why you believe the page should not be deleted. However, be aware that once a page is tagged for speedy deletion, it may be deleted without delay. Please do not remove the speedy deletion tag from the page yourself, but do not hesitate to add information in line with Wikipedia's policies and guidelines. If the page is deleted, and you wish to retrieve the deleted material for future reference or improvement, then please contact the deleting administrator. Robert McClenon (talk) 17:00, 1 March 2018 (UTC)[reply]