Jon Fenton

Tech Stack Update

Blog Post created by Jon Fenton Administrator on Mar 20, 2018

Hello Catalog Users! 


BAM! Just like that, in the blink of an eye, we find ourselves deep in the month of March. Spring emerges cautiously from the now-distant holiday season as we arrive at another Catalog community update. As promised, this blog post will focus on the work that the team has been doing since the start of the year and what we expect will carry us through next quarter as well. It's guaranteed to be an exciting journey as we dive into the purpose of the project, take a crash course on NFRs, and maybe even touch on the meaning of life. So grab your coffee if it's early, diet coke if it's midday, or that secret flask you keep stashed under your desk if it's past quitting time and come along as we embark on this remarkable adventure together!


To start things off, let's talk about why this update was necessary in the first place. As anyone who's worked in software development can attest, it's an ever-changing sea of technologies, standards and best practices. As industries advance (at an ever increasing rate it seems) software needs to be updated from time to time to keep up. And that's the place we found ourselves with Catalog. There were a few things on the backend that needed to be brought up to speed with our other platforms here at Instructure. Which takes us to NFRs. 


In software, NFR stands for Nonfunctional Requirement. It basically means a function or attribute of the software the doesn't directly impact the user experience or is ancillary to its core purpose, yet is still crucial to overall "fitness". These usually include requirements touching on things like performance, security, scalability, accessibility, maintainability, and a bunch of other words ending in y. Though they live behind the scenes, NFRs are crucial to happy and healthy software. 


Ok, here's a good place to pause while you refill your beverage and grab another handful of peanuts. And while you're restocking, I can hear you asking yourself, "Thanks for the info, Jon, but what in the world does this have to do with Catalog?" I'm sure glad you asked! I bring them up because NFRs make up a large portion of the tech stack project. We're dutifully doing an audit of each NFR and making adjustments where needed. Nothing major, mind you, but rather small adjustments and tweaks. As we blow the dust off and spin up a new Catalog team, it's important to us that we take a top-to-bottom look at our NFRs to make sure we're 100% up to snuff.


Besides NFRs, there are a few other things we've lumped in with this project. For example, we're moving from our legacy deployment tools to newer ones. This will bring us in line with other Instructure platforms and give us all the benefits that the latest and greatest development tools have to offer. While these projects won't be very visible to our users, they stand shoulder to shoulder with NFRs in making sure Catalog is using the latest best practices and technologies.


And that's really what this project is all about. (Ok, ok. So I might have oversold things a bit when I said above that I would touch on the meaning of life). But even though I don't have the answer to life's most important questions, I DO know why we're doing this tech stack work. We're as excited as ever to start delivering improvements and enhancements to our amazing Catalog users, but we want to make sure we're set up for a smooth journey ahead. Well, as smooth as things can be in the world of software, that is. 


Well, that's it for this post! Not only are you now hydrated but hopefully you also feel a bit more enlightened as well. Did I miss anything? Let me know in the comments! And be sure to watch for another post next month. 


Until then, happy cataloging!