Software Terms Every Technical Writer Should Know
Alpha Version of a software product is one still in the testing phase. At this stage in the “Software Release Life Cycle,” the product still has a lot of bugs and does not function quite the way it’s mandated by and described in the “Specs.”
Beta Version of a software product is one in which major bugs are fixed and is ready for end-users with the understanding that this is still not the final “Gold” public-release version. Thus certain minor glitches should be expected from a Beta product.
Periodical (daily, weekly, bi-weekly, monthly) compilation of a software program. Developers fix bugs and/or add new functionalities and features on a daily basis. To see the kind of difference their new code makes, they compile these “builds” to see how well they are doing.
See “Version” and “Release”
This concept refers to what goes on in the “back end,” the server end of a client-server software architecture. Usually the business layer has a database that sends the required data to the client machine through an intervening “server-side script” like PHP, ASP or similar.
Software engineer. The person who writes the code for the software product.
In between two major releases, a company would issue “patches” to fix minor problems and important security glitches. The product would be the same in all aspects but these patches would take care of the minor “repairs” that cannot wait for the next release.
A version of a software product that is significantly different from the previous version in many ways. Usually a “release” would be issued only once or twice a year. Many products issue only one release in so many years. The announcement of a “release” is a major milestone in the life style of a product.
See “Version” and “Build”
Specs or Specifications
Specifications (or “Specs” for short) in general define in detail what something/anything should look like and how it should function. There are many different types of specs, including the following:
Marketing Specs (as expressed by the “Marketing Requirements Document”) define which marketing needs the software product should satisfy; what BENEFITS do the consumers want and expect from the product; and hence what FUNCTIONS the product should have.
Design Specs define the broad outline of the product (based on Marketing Specs) as well as more general parameters of the software PROJECT itself like the identity of the stakeholders and their responsibilities; the structural “architecture” of the product; work schedule, deadlines, and projected milestones, etc.
Functional Specs describe in minute detail the engineering characteristics of every single component of the product. For example, the functional specs for a drop-down menu item would also describe its looks, length, color, levels of indentation, menu items/options, its position, etc.
Software Release Life Cycle
This is the cycle (the steps) through which a software product is born, developed, and finally released to the conusmer public. Major steps of this cycle are the Alpha, Beta, and final Release phases.
Every software product needs to be tested before released for sale.
Different types of testing include Unit Testing in which a software component would be tested in isolation, to see if it accomplishes a specific task or not. For example, a card registration form might be unit tested to see if the data entered into the form is saved properly in the database.
System Testing, on the other hand, tests whether all the components of a software or software-hardware system work together properly. In the above example, a system test might check whether the card registration information entered can be used by the card printer to print physical cards for the individual users.
Stress or Load Testing would test whether the system withstands a very high number of users or commands. It measures the strength of the software system under data or user “pressure.”
Version is major new “model” of a software product. In terms of the importance of changes it incorporates, it’s a lot more important than a “Release.” In between two Versions, there many be several Releases. And for each Release, the engineers compile many Builds which are totally internal changes that the public never sees.
See “Release” and “Build”