“Many companies have pandemic plans, but until they actually experience a pandemic, they don’t know how far from reality that plan actually is.”
One factor that can seriously slow down application development is making bad choices in application architecture or platform. If during the course of application development you realize that you cannot do what you want or need to do or it takes much more time than you thought, you will need to find other solutions. You need to adapt and rethink bits of your application, which can seriously delay
Changes in application requirements often slow the development process. Think through those requirements at the beginning so that you can choose your platform and technology. If your requirements change after you start building, you may need to rethink your application architecture. That’s why it’s so important to thoroughly vet requirements at the beginning, and then manage changes in a way that does not slow production.
It’s also essential to consider reusable application components and use existing libraries or services offered by the platform. You don’t want to have to build everything from scratch or reinvent the wheel.
One key factor in increasing development speed is a clear path between development, testing, and production. The platform should provide continuous integration and development for your application that is linked to testing. Testing is often done near the end of the development process, but it must be more granular than that. Testing should be part of building your application from the beginning.
Much of the continuous integration, testing, and deployment pipeline can be driven by automation, which also plays a role in scaling once an application is in production. There are two kinds of scaling: One is vertical, in which your application requires more computational power and RAM, and the other is horizontal, in which your process requires more services, more containers, and more virtual machines. Demands on these resources vary depending on your usage patterns. You need to be able to scale up or down, although scaling up is often easier than scaling down. To be cost effective, however, your infrastructure must follow usage patterns so that you do not limit application performance or waste your budget on unnecessary capacity.