Jump to content
 







Main menu
   


Navigation  



Main page
Contents
Current events
Random article
About Wikipedia
Contact us
Donate
 




Contribute  



Help
Learn to edit
Community portal
Recent changes
Upload file
 








Search  

































Create account

Log in
 









Create account
 Log in
 




Pages for logged out editors learn more  



Contributions
Talk
 



















Contents

   



(Top)
 


1 Types  





2 Common roles in a software company  





3 Structure  





4 Methodologies  





5 Product life cycle  





6 Systems and procedures  



6.1  Business analysts  





6.2  Programmers  





6.3  Testers  





6.4  Project/product managers  







7 Efficiency audits  





8 See also  





9 References  














Software company






العربية

Dansk
Deutsch
Esperanto
Euskara
فارسی
Français
Italiano
עברית
Nederlands


Norsk bokmål
Polski
Svenska
Tiếng Vit
 

Edit links
 









Article
Talk
 

















Read
Edit
View history
 








Tools
   


Actions  



Read
Edit
View history
 




General  



What links here
Related changes
Upload file
Special pages
Permanent link
Page information
Cite this page
Get shortened URL
Download QR code
Wikidata item
 




Print/export  



Download as PDF
Printable version
 




In other projects  



Wikimedia Commons
 
















Appearance
   

 






From Wikipedia, the free encyclopedia
 

(Redirected from Software house)

Asoftware company is a business entity that specializes in the development, distribution, and maintenance of software products and services. These companies create a variety of software solutions, including commercial software, custom software, Software as a Service (SaaS), open-source software, and embedded software. They range from small startups to large corporations, engaging in activities such as software development, testing, deployment, and support.

Asoftware company is an organisation — owned either by the state or private — established for profit whose primary products are various forms of software, software technology, distribution, and software product development.[1] They make up the software industry.

Types[edit]

There are a number of different types of software companies:

Common roles in a software company[edit]

Organizing a software company is a very specialized type of management skill, where experienced persons can turn the organizational problem into a unique benefit. For example, having sub-teams spread in different time zones may allow a 24-hour company working day, if the teams, systems, and procedures are well established. A good example is the test team in a time zone 8 hours ahead or behind the development team, who fix software bugs found by the testers.

A professional software company normally consists of at least three dedicated sub-teams :

In bigger software companies, greater specialization is employed, and quite often there are also:

Structure[edit]

The manager of a software company is usually called the Head Of Development (HOD),[2] and reports to the stakeholders. He or she leads the sub-teams directly or via the managers/leaders depending on the size of the organization. Usually teams of up to 10 person are the most operational. In bigger organizations, there are in general two models of the hierarchy:

Typical structure of a software company

All the teams are fully independent and they work separately on the different projects. The structure is quite simple and all the employees reports to one person, what make the situation quite clear however it is not a good solution in terms of knowledge exchange and optimal usage of human resources.

Matrix structure

In this model there are dedicated managers/leaders for each main specialization, "renting" their people for particular projects led by product/project managers, who formally or informally buy the people and pay for their time. This leads to each private employee having two bosses – the product/project manager and the specialized "resource" manager. On one hand it optimizes the usage of human resources, on the other hand it may give rise to conflicts about which one manager has priority in the structure.

There are also a number of variants of these structures, and a number of organizations have this structure spread and split within various departments and units.

Methodologies[edit]

Software companies may use a number of various methodologies to produce the code. These can include:

There are also some methodologies which combine both, such as the spiral model, Rational Unified Process (RUP)[7]orMSF.[8]

Product life cycle[edit]

Regardless of the methodology used, the product life cycle always consists of at least three stages:

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:

The general interaction between the four main groups

At each stage a different group plays a key role, however each type of role must be involved throughout the whole development process:

Systems and procedures[edit]

software companies possess various systems and procedures implemented and working internally across all the sub-teams. These include:

Business analysts[edit]

Programmers[edit]

Testers[edit]

Project/product managers[edit]

There are also Application Lifecycle Management (ALM), which embed some of these functionalities in one package and are used across the groups. They are delivered from various vendors like Borland, ECM or Compuware.

Efficiency audits[edit]

Well-established software companies typically have some way of measuring their own efficiency. This is usually done by defining the set of key performance indicators (KPI), such as

Pyramid showing risk, time, and financial cost of introducing changes

A number of organizations are focused on reaching the optimum level of the Capability Maturity Model (CMM), where "optimum" does not necessarily mean the highest. There are also other systems such as Carnegie-Mellon University's SEMA, or particular ISO standards. Small software companies will often use light-weight approaches to their process, formalized or not. Each organization works out its own style, which lies somewhere between total technocracy (where all is defined by numbers) and total anarchy (where there are no numbers at all). Whichever way the organization goes, they consider the pyramid describing the cost and risk of introducing change to already-begun development processes as a true model to manage changes.

See also[edit]

References[edit]

  1. ^ "What is a Software Company Today?". RedMonk. 2014. Retrieved June 2, 2017.
  • ^ Greenlit: Developing Factual/Reality TV Ideas from Concept to Pitch p.12
  • ^ Managing successful projects with PRINCE2
  • ^ A User's Manual to the PMBOK Guide
  • ^ Planning extreme programming
  • ^ Agile Project Management with Scrum
  • ^ The rational unified process made easy: a practitioner's guide to the RUP
  • ^ Microsoft Solutions Framework (MSF): A Pocket Guide

  • Retrieved from "https://en.wikipedia.org/w/index.php?title=Software_company&oldid=1231303884"

    Categories: 
    Software development
    Software companies
    Knowledge firms
    Hidden categories: 
    Articles with short description
    Short description matches Wikidata
    Articles needing additional references from June 2024
    All articles needing additional references
    Wikipedia articles with style issues from June 2024
    All articles with style issues
    Articles with multiple maintenance issues
    Articles with GND identifiers
     



    This page was last edited on 27 June 2024, at 16:26 (UTC).

    Text is available under the Creative Commons Attribution-ShareAlike License 4.0; additional terms may apply. By using this site, you agree to the Terms of Use and Privacy Policy. Wikipedia® is a registered trademark of the Wikimedia Foundation, Inc., a non-profit organization.



    Privacy policy

    About Wikipedia

    Disclaimers

    Contact Wikipedia

    Code of Conduct

    Developers

    Statistics

    Cookie statement

    Mobile view



    Wikimedia Foundation
    Powered by MediaWiki