Related Topics
What is Production Code?
Three Freezes: REQUIREMENTS, Design and Code Freezes
Tracking Project Velocity
Challenges on Road map
Software with asymptotic version numbering system
Feature creep
Iterative-incremental approach
 
Feature freez - fix up, repair, heal, clean up
This is not a time to push forward, don't add new features to code base if there are some known bugs, glitches or code-readability issues.


Feature freez - fix up, repair, heal, clean up
This is not a time to push forward, instead it is a time to fix up, repair, heal, clean up, and figure out how to make present software better -- without adding new features.
Don't continue to add new features on top of software base you can't control, read or easily maintain.

---------------------
Core functionality
---------------------
Start small! Iterate! As long as the core requirements remain, everything will be fine. Additional functionality can always go into "the next release," but if you don't deliver the core functionality, there won't be a next release.

In first alpha release it is essential to deliver to some extent working software with reduced functionality and essential features only. Cutting functionality may seem a drastic measure, but good project manager will happily throw away functionality. As long as the core requirements remain functional and WITHOUT BUGS, everything will be fine. Additional functionality can always go into "the next release" but if you don't deliver the core functionality, there won't be a next release.

DO NOT ADD NEW FEATURES to code base if there are some known bugs, glitches or code-readability issues.

===================
ultrareliability requirements
===================
For core functionality, errors may mean disaster. The potential for errors is high, because these systems must not only perform their functions correctly, but also must be able to recover from the effects of failing situations, in order to meet stringent ultrareliability requirements. Often the software fault-tolerance features of these systems are more complex and susceptible to design error than any of the basic functions of the system.
John Rushby of NASA writes:"Organization of redundancy and fault-tolerance for ultra-high reliability is a challenging problem: redundancy can account for half the software in a flight control system and, if less than perfect can itself become the primary source of system failure."

-------------------
"feature freeze"
-------------------
Requirements + Design = FEATURES
Do not confuse "code freeze" with "feature freeze". At the end of each development cycle, we have feature freeze period -- no new features or additions are made in order to prevent what's called "feature creep". The idea is to the get the critical and visible bugs fixed. The focus is on fixing bugs, finishing and fine tuning the existing features that is already in the application and user experience. The software base should be readable, stable and in theory bug free.
Only when is reached stable and in theory bug free readable code base, you can consider adding the new features in application.

...................................................................................................................
Incremental development: Concept prototype, Alpha, Beta, Production Software
..................................................................................................................
Prototype: Is designed to effectively communicate the core features and proof of concept of some idea (example: Wright Brothers, 1903, Kitty Hawk air-plane)
Alpha: Is a coded version of the key features of the solution that will give people a chance to actually interact with proposed solution. (example: various WWI air-planes)

Beta: A coded and more polished version of the key features of the solution that could be used directly by a third party audience (example: The Wright brothers proved that powered flight was possible, but the McDonnel Douglas DC3, introduced in 1935, ushered in the era of commercial air travel. The DC3 was the first plane that supported itself economically as well as aerodynamically.)
According to D.Knuth, the design should be FROZEN after version 3.0, and no new feature or fundamental change will be added, so all newer versions will contain only bug fixes. No design change, only bug fixes.
Formula 1 racing cars are fine example of DESIGN FREEZE in automotive industry. The numerous Formula One regulations, have changed dramatically and evolved since the first Formula One World Championship in 1950. Design is public but technical specifications of each competing manufacturing team is covered under the veil of secrets.

-------------------
What is Production Code?
-------------------
The terms "production code" and "software deployment" are used with varying shades of meaning and rigour.
"Production quality code" is code that's ready for a production environment. "Production quality code" may or may not actually be in production at the moment, but it's of a quality that it could safely be in production. "Production code" is what's currently deployed in production and handling reliably live users and their data.

Ideally, no code becomes "production code" until it is also "production quality code". Unfortunately, we don't live in an ideal world and sometimes code that's not "production quality code" indeed becomes "production code".

---------
What is functionality testing in software?
---------
Functionality testing is performed to verify that a software application performs and functions correctly according to design specifications. During functionality testing we check the core functions; text input, menu functions and installation and setup on localized machines, etc.