If you’re joining us from Part 1 of this series, Phase 1 – Blueprint, welcome! We’re continuing our series about the phases of web application development with a discussion on development itself. Development can take on two roles, either the initial build of a new web application, or building new features into an existing application. It’s easy to think the development phase is only coding within your application, but it actually includes many other important layers as well.
By following the steps we’re about to walk through, we can develop with confidence in our work and ensure we’re giving our customers a well-built application.
Git Repository & Jenkins
We start development by writing code on a local system using a team of developers. This code is written using a tracking system called a Git Repository.
- Tracks all changes done to the code files
- Keeps a history of any changes made to the code
- Allows multiple developers to work from the same code base without interfering with each other
This is an absolute must when developing an application as a team. Think of a Git Repository as a Google Doc vs. a Word Document. The Git Repository allows features to be created while bugs are being reviewed and fixed, all without confusion within the development team. If needed, we can also easily revert to an older version of the code if a large issue arises.
Alongside the Git Repository, we use an open source server-based system called Jenkins. Jenkins helps automate building the web application, testing features to verify that they’re working properly, and deploying the code when it’s been approved. Jenkins allows developers to continuously integrate new features and bug fixes while sustaining delivery.
Staging Server & Quality Assurance
The next phase of development is moving your code to a staging server. According to Techopedia, “A staging server is a type of server that is used to test a software, website or service in a production-similar environment before being set live.”
This gives you a chance to review the code “in the wild,” make sure it doesn’t break existing functionality, and complete tweaks to get it just right. Typically, quality assurance teams have regression outlines (lists of steps) they walk through to systematically confirm everything is working as it should. Reviewing the code and testing on the staging server helps give the development team and customers more confidence in the application or new feature.
To follow Santa’s example, let’s make a list and check it twice!
Once your application has been tested and moved to the staging server, it’s ready to go live! “Going live” means moving the code from the staging site, where we reviewed and tested it, to the live site that users interact with.
At Design Extensions, we schedule our clients’ go-live dates mid-week, on Tuesdays, Wednesdays, and Thursdays. Ideally (and typically), the move to live is smooth and we experience no issues. However, technology can be tricky and sometimes pushing code live breaks existing features. By scheduling our go-live dates mid-week, we allow ourselves time to resolve any issues before the weekend. This gives our clients peace of mind that their application will be supported and any issues will be resolved in a timely manner.
Now that you’ve done all the work to build a web application or feature, test it, and push it to the live server, you want to be sure you don’t lose any of your work. Taking regular, automated backups of your application is absolutely essential.
If you have a catastrophic system failure, a data breach, or another technical disaster, you’ll be prepped and ready to go with your emergency backup stored for your development team to put in place. If you’re not much of a doomsday prepper, let me encourage you that this is crucial even if you aren’t particularly concerned about it. Nothing is worse than having your system fail and realizing you’ve lost access to important data, records, and software. Save yourself the headache and implement backups from the start!
Putting It All Together: The Important Phase of Development
For us, the key to developing a successful web application is knowing what our client needs and how our team is going to accomplish delivering the right product. These development steps not only help us build the right product or feature, but also let us know we’re not causing issues to the existing application in the process. By following these steps, we can develop with confidence and delight our customers with a well-built product.
If you’re looking to build a custom web application for your business, get in touch with our team today! We’d love to walk through the process with you and create a helpful application for your business that improves your day-to-day efficiency.