Software
Development Process - arstechnica
Waterfall vs Agile
Iteration Zero
Three Freezes
PLANNING & PREREQUISITES
NASA Inspection standards
Challenges on Road map
Waterfall of sprints
TDD
Web development - project factors (Kelly Goto)
SW Craftmenship
SW Projects - Roadmap
Requirements
Front End Concepts
Requirements & Specifications (Carnegie Mellon University )
Dealing with Difficult Clients
GOOD vs. RED FLAG CLIENT
from planning to delivery
Tracking Projects
SW Projects - Roadmap
Project blockers
Project risk reduction
Reasons why Projects Fail
Capability Maturity Model CMM
Coding Methodologies
Requirements - getting it right
SW Projects - Design & Specifications
Before we start coding
DEVELOPMENT PLANNING & PREREQUISITES
Functional checklist
Software Criticality categorization
My Coding Methodology
Iterative & Incremental development
Genesis Consulting: Agile vs Waterfall
Important questions extended
Debugging Official Requirements
Managing Project Creep
Software Design
Design/Specification
Mission Creep
Complexity
Lateral thinking
Reducing complexity
SW Projects
Basecamp alternatives
What Is Software Design
Iterative Prototyping
Designing and prototyping
Requirements and Prototyping
Mobile Prototyping Essentials
What can we learn from software engineering and why?
Formal Specification
Agile Requirements - Earl Beede
Software release life cycle
F1 Design freeze - restrictions & constraints
Formula One regulations - 2013 and 2014 Engine Restrictions
The Software Development Life Cycle (SDLC )
The new engine regulations F1
REQUIREMENTS  
SW Projects - Development Process
IT project lifecycle various philosophies


SW Projects - Development Process
Waterfall and Agile are opposite Software Development Processes.

Each philosophy has its advantages and disadvantages.
The waterfall model is a sequential design process, used in software development processes, in which progress is seen as flowing steadily downwards (like a waterfall) through the phases of Conception, Initiation, Analysis, Design, Construction, Testing, Production/Implementation and Maintenance.

Agile software development is a group of software development methods in which requirements and solutions evolve through collaboration between self-organizing, cross-functional teams. It promotes adaptive planning, evolutionary development, early delivery, continuous improvement, and encourages rapid and flexible response to change.

Scrum and Extreme Programming are Agile development methods.
..............................................................................
Frozen requirements, Frozen design and Code freeze
..............................................................................
Three common types of freezes are:

- A complete requirements freeze, in which all work on adding new requirements or refining old is suspended, shifting the effort towards fixing design specifications and improving the requirement definition.

- A "Feature Complete" or "feature freeze, is situation when all work on adding new features is suspended, so the efforts are shifting towards fixing bugs and improving the user experience. The term "Feature Complete" means all the features are somehow coded and buggy-functional, but we're heading into a QA stage to confirm that there are no bugs. ALPHA version code contains all intended functionality of the desired version, but is not yet FROZEN due to bugs, performance, unreadable code, or stability issues.

- A "Code Complete" or "code freeze" is achieved when no bugs are found by QA team, so no changes are permitted to a portion or the entirety of the source code. If there are some bugs found by QA team, they must be fixed. After QA team is satisfied with the result, all user acceptance test pass, we have "Code Complete".

..........................................................
Frozen design and Frozen requirements
.........................................................
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.