Processes topped with a sprinkle of standards
Documentation, consistency, reusability, code reviews, unit tests, scalability… processes and standards that make the difference. Kevin from Spiria Toronto tells you more.
Some people cringe at the words process or standards, but I, and others like me, tend to appreciate clear structure. Processes are all around us: at home, at work and everywhere in between. Even children are exposed to processes and standards at a young age. Whether we like it or not, we all follow processes in our daily lives.
I believe that processes are the glue that hold everything together, and that standards are what help us all achieve a common goal with a high level of quality. Experience has shown us that we are far more successful when we have great processes in place, with a sprinkle of standards. Here are a few examples that I’d like to share.
Documenting Processes and Standards in plain sight
I’ve seen processes, standards and policies documented in various tools throughout my career, and consistency seems to be the winner. You can place your meticulously documented standards on the Internet, plaster them on the wall in your office, or even create Alexa private skills for your organization to help employees find them. But whatever you do, just make sure people know where to find them, and keep it consistent.
We have executed many projects over the years, and while every project is different, processes and standards have always played a big role in each project’s success. From sales hand-off to production and quality assurance through product and production collaboration, quality processes ensure that all of our projects are consistent and help everyone on the team know what needs to be done, and how.
Code reuse should be practiced judiciously. The question I like to keep in mind is: Can someone else benefit from this feature, either at my company or in the open-source world? If the answer is yes, you should consider designing the feature for reusability. Creating small, reusable components that contain simple, sharable code will allow you to:
- provide lower, more accurate estimates on common functionalities;
- reuse production-grade code that has been rigorously tested;
- dedicate more effort to complex business logic that cannot be reused.
Code reviews provide significant value when used correctly. Every feature that we build must go through the peer code review process, which helps us write cleaner, more consistent code, reduce bugs and share knowledge between all areas of development. My colleague, Claude Houle, wrote a wonderful piece on the importance of code reviews that is worth a read.
Unit testing might not be possible in all projects, but there is a definite value in using it under the right circumstances. Unit testing can help reduce the number of bugs during development, effectively increasing your development capacity. Adding unit tests for key business logic, complicated functionalities or when a quality issue is found should increase your confidence with each deployment. If you’re interested in learning a bit more about testing, feel free to read the blog post by Anthony Giretti.
Scalability is one of the standards that you just can’t ignore if you want the best user experience for your website or mobile application. Whether you expect 200 simultaneous users on your platform or 10,000 new registrations after a marketing launch, ask yourself the following questions:
- Will this feature work at scale with small and large datasets?
- Will my pages load quickly for all users (new and old) regardless of the amount of data involved?
- Am I using techniques like caching, and considering when those techniques could compromise functionality or expected results?
Speak up (when everyone is listening)
I could go on and on about the various standards and processes we use every day at Spiria, but my goal was to share a few ideas that will help you reflect and see how you can make a difference. If you feel like something is broken, examine your processes and standards and try suggesting an improvement.
One thing that I always keep in mind is that we cannot blame failure solely on a lack of process. Instead, we should work towards creating, updating and sharing information that helps all of us move in the direction of success.
I’m in the “glass half full” camp; I believe that every person and every process has room for improvement. This is an integral part of personal, professional and corporate growth. When we stop pointing fingers and start collaborating, everyone wins!