Tips to Boost Web Application Development
Moving a web app to production needs to be as simple and as fast as possible. To be truly Agile and keep up with the business, deploying to production must occur frequently, or delays will stack up across the development cycle. If it takes two days to place new versions in production, your productivity will suffer.
The more complex an application grows, the harder it is to change and adapt. The solution? Split the system into smaller parts when it starts getting too big. To do this, however, requires a technology that helps make sense of complex systems, as well as helping the development team split the system into more manageable components.
Aim for production, from day one
It’s tempting to hack out a quick solution for an immediate business problem, and later clean the application up to make it production-ready. This may seem like Agile, but in reality, it’s vital to not neglect things like monitoring, scalability, logging, user management and so on. The ideal solution is to build on top of a platform that let’s you take these requirements for granted.
To change quickly, the team needs to be certain that the changes will not break what’s already working. This problem can be greatly minimized through three stages: First, use impact analysis tools during the development process: if a change to the database breaks the business logic, it needs to be immediately obvious. Second, use regression testing. Finally, make sure that the impact of changes can be measured, especially when placed in the production server with production data.
Invest on Knowledge Transfer
Employee turn-around, different teams for development and maintenance, or the need to reallocate teams to different projects are all good reasons to invest in knowledge transfer. But don’t put the burden of knowledge transfer on the developers. The documentation will never meet requirements and walking through code is slow and difficult. Use Domain Specific Languages or visual languages and relegate this work to the tools.
The advantages of having a 10 second deploy process are lost in the face of a two day bureaucratic process to approve a move to production. To have true flexibility, two things are needed: full accountability – to know who to ask for help if trouble occurs, and; most importantly, the ability to rollback a not-so-successful move to production.
Collaboration with stakeholders
The sooner feedback pours in from stakeholders, the sooner web app development will start moving in the right direction. There’s no point in developing quickly if it’s going the wrong way. With this in mind, it’s highly important that stakeholders can easily provide feedback on what they would like to see improved.