A new column can open the door for features, analytics, migrations, and fixes. It can store state, track metrics, preserve history, or make an index sing. In modern systems, adding a column touches more than one layer: database, ORM, migrations, API contracts, and tests. Speed means nothing if you take down production.
Plan the new column with precision. Define the type, constraints, defaults, and nullability before you touch the schema. Decide if it needs an index at creation or if indexing can wait until after backfilling. For large tables, run a dry migration against staging with realistic data. Measure query changes before and after.
Deploy the new column in a safe sequence. First, add it with a default and allow nulls if backward compatibility matters. Then deploy application code that can write to and read from both the old and new paths. Backfill data in small batches. Only after the application uses the new column fully should you enforce NOT NULL or drop the old one.