Trendy, cliche, overused. These terms continuously pop up in our space in some form or another. Just like with other industries, IT has a special variety of terminology that happens to cause confusion among people not familiar with it. However, this year has led to a plethora of terms that are used often, yet often misunderstood.
- Agile Development
- Front end and Back end
Cloud computing has actually been on the radar for the last 10 or so years. However, it seems that in the past five years, the term has simplified to just “cloud” and has gained traction, quickly becoming a trendy buzzword in the technology space. We are now gifted with phrases such as “cloud-based software” and “data is in the cloud.” For many people, visions of white, puffy clouds that house boxes of 1s and 0s may come to mind. Or, maybe it’s one big hard drive that’s in the mist, flying above our heads. The reality is a bit different.
From cloud computing, the word “cloud” or the phrase “the cloud” is used in close relation to “the Internet.” So, to clarify, the phrase “cloud computing” is a type of Internet-based computing where different services are delivered to an organization’s computers and devices through the Internet. Essentially, our data no longer lives our hard drives or on our servers.
What do waterfalling, prototyping, iterative and incremental development, and spiral development have in common? They are all a type of software development methodology that has quietly gone to the backburner to make room for agile development. No, software engineers don’t have to be adept yogis to partake in the beauty of this kind of development.
Agile development is an umbrella term for a set of software development methods and practices based on principles written in the Agile Manifesto. Essentially, in agile development, requirements and solutions evolve through collaboration of self-organizing cross-functional teams. It encourages rapid and flexible response to change and continuous improvement, among other things.
Scrum is not only a type of rugby play, but also carries the definition of a usually tightly packed or disorderly crowd. I’m not sure how that definition got carried over into IT world terminology, but it did and it’s one of the most popular frameworks for implementing agile software development. It’s a model based on multiple small teams working in an intensive and interdependent manner. Scrum employs real-time decision-making processes based on actual events and information.
Here’s a quick bit of trivia on scrum. The original context for scrum was manufacturing and the concept was first introduced by Hirotaka Takeuchi and Ikujiro Nonaka in a 1986 article in The Harvard Business Review, “The New New Product Development Game.” Jeff Sutherland, John Scumniotales, and Jeff McKenna are credited with adopting, implementing and documenting the model for software development at Easel Corporation in 1993.
Many of you probably remember learning about ecosystems in middle school and high school. We also hear about ecosystems when talking about the environment, climate change, and global warming. However, while a biological ecosystem is a great analogy to an IT ecosystem, it’s not exactly the same thing. For example, we can say that Apple is an ecosystem comprising of iPhones, Apple Watches, macbooks, macOS, etc. Likewise, there is a Microsoft ecosystem and an Android/Google ecosystem.
For an organization, it’s IT ecosystem comprises of technology product platforms, systems, related core components that integrate and are interdependent on each other. In successful IT ecosystems, it’s easy to connect to or build upon the core solutions for a more consistent and comprehensive technology infrastructure. In today’s world, IT ecosystems are “open,” meaning that it’s an environment where the user has wide access to vendors and services related to any portion of the technology infrastructure. Users no longer have the patience to wait for a solution when they have many to chose from that are increasingly portable and readily adaptable.
You may have a variety of thoughts when you think about front end and back end — shut those away in a closet because in the technology world, it’s not what you think. These terms are heavily used in software engineering, with the front end being a user-friendly interface between the data access layer (the back end) and the end user. The front end is what end users interact with to get the information they need. The back end, as mentioned, consists of the data access layers, distributed data systems, and server-side files. In a content management system context, it’s the administrative view.