When developing a new system, companies often view go-live as the last step in the software development life cycle. This causes a mental disconnect in people’s minds having on the one hand the SDLC of: inception, design, implementation, installation and on the other hand the production support. In the modern time this mindset is no longer efficient enough, with companies moving towards a DevOps and NoOps operational strategy instead.
I’m proposing that regardless of which operational strategy companies use, they should also adopt a “Go live first” approach. By this I mean that any project to develop a new system or replacement of an existing system should begin by installing a placeholder for the system into production and holding a go-live event for that placeholder. This means, the system has not been developed, the business requirements are not yet collected. All that is available is the high level vision of what the system will accomplish and a placeholder. During the "go-live first" event the management backers of the project explain the vision of the project to the future users of the project and show them how to access the placeholder and how to contact support about the system.
The business analysts then start writing business requirements and system architects write designs, but instead of writing it as if for a future system, they write it as changes to an existing system. The operational staff support the system as they do for any other production system.
The benefit of this is that it will stop companies from building development support systems that are not used to support production system. It will coordinate all IT development into focusing on the productionisation of the systems and how to support it while it is being changed. It will encourage IT staff to be more closely aligned with business and it will enable business people to think and act with more agility.