Dear Web & App Developer,
I trust that by now you have completed all your design, development and testing for the changes you've made to your web sites, e-shops and mobile apps and are planning to take time off during the holiday season.
What? Not quite there, yet? Don't worry, you're not alone. When I was a developer, I wasn't prepared either. After all, isn't life on the edge with code being tested and put into production the night before (or likely the early morning hours of the day of) the holiday code freeze period, so much more fun?
Over time, I've learnt that the key to having a good holiday season is to plan and prepare ahead of time. In this post, I will share three best practices that you should be thinking of when designing, developing and testing your sites and mobile apps.
Design phase: Start early and get ahead of what the business is likely to ask you to factor into your design. Whether you are adopting a responsive web design (RWD), adaptive web design (AWD) or blended approach - there's no getting away from the fact that it is a mobile first world and there are a variety of different devices to consider. Secondly, this year, you will be asked to deliver a richer-than-before, image heavy user experience to drive greater engagement. You'll also be asked if the web sites are SEO friendly or if the landing pages can be setup for on-the-fly marketing campaigns. Last but not the least, you will be asked to guarantee performance across network and device conditions, security and 100 percent availability. Delivering a consistently great user experience should be the goal of your design.
Development phase: Given the rapidly changing business demands, you will need to adopt some variation of iterative and incremental development techniques to meet expectations. As you focus on executing those cycles, it'll be important to ensure that most of your energies are spent on building functional capabilities. Leveraging technologies that can alleviate the need for you to code for the device and network diversity from users and provide you with a buffer against the vagaries of the public Internet performance and availability. You should also look to automate the management and delivery of images to significantly reduce the pressure on your development team.
Testing & Deployment phase: This is undoubtedly the most critical phase to deliver on the business and user expectations. It'll be important to execute various types of testing, including usability testing, functional testing, security testing and stress or performance testing. The key is to ensure your testing reflects the real world results/expectations. Can you simulate real world traffic conditions on your site / app before go live for testing? Can you test by segmenting your audiences and / or selectively block users from certain geographical locations without more coding? (Remember, we are past the design phase and no time for change requests now!) Since it is unlikely that all developments and testing can be done in one go, continuous delivery and deployment is a fact of life. How can you do that without breaking the production web site? The "phases" may be a few hours apart - not weeks or months.
Although it may seem like there is a lot to think about, there is also a lot of tools and technologies that can help make a developer's life a little easier. I do hope that you will ask yourself these questions and explore the technologies available. Nothing will spoil a good holiday dinner party than a phone call saying you need to be back at the office to fix an "urgent" issue.
Wishing you a very happy holiday season!
A fellow ex-developer