Development Methodologies R Us
Apparently “fast” is not a valid development methodology. In an interview years ago, I was asked if I’d been part of an Agile Development shop. I replied yes; we were very agile at my last job (who knew it wasn’t a verb but a noun they were referencing). I didn’t know there was a whole dictionary defining chickens and scrum and standups as they relate to the process of developing and releasing code.
Agile vs. Waterfall
Waterfall methodology is exactly as it sounds – a waterfall. Step one is done fully and completely; then move to step two. Step two is done fully and completely; move to step three. This is viewed as a very strict, very restrained development process where all requirements must be defined upfront, agreed upon, and then methodically put through the process, developed and tested. Often thought of as a long process where all things have to pass and nothing can change in order to move forward. For projects that can be very well defined in advance, where the requirements won’t change much, the waterfall methodology can work.
Then, business people everywhere were overcome with impatience. They couldn’t wait for long processes as they needed rapid progress. They didn’t want to wait months to see a small change. It didn’t make sense to them to create crazy amounts of documentation for a change that would take a year or more (we all know the requirements could change more than once in that timeframe).
In the Agile world of implementation methods, you have many smaller teams instead of having one big team. Each smaller team is responsible for all the steps of the smaller segment of the process. Agile was documented and created to encourage moving and changing quickly.
Some companies are strict Agile, some strict Waterfall. Most follow a hybrid approach and find something that works well for their culture and requirements.
When we first started, an early client thought “story” was such a funny word. It’s just like a requirement except in a less detailed and formal format. It’s a high-level requirement with just enough information that a developer can give a reasonable estimate. After you have your stories you estimate the complexity and resource needs and then add the story to a sprint.
Sprint vs. Release
A sprint is a set period of time to do work.
Maybe a week, maybe a month. The team decides how much work they can do in a sprint (within the defined time frame). Now there is a difference between a sprint and a release. A release is not just about making a new feature go live, it’s about bringing a completely new experience to the customer delivered by a product team that includes members that are looking at all aspects including communications and user training. Often many sprints are completed to support a release.
Languages for Makin’ Software
.net (pronounced “dot-net”)
The name for a collection of Microsoft technologies which all work and play nicely together, and which serve as a sort of foundation on which programmers build their programs. .net programming languages are all supposed to be able to talk to each other and easily share their .net toys.
The name of a Microsoft programming language which developers can use to build programs (like the defi LOS). C# lives in the .net world and because of that, programs written in C# can easily talk to any other programs or websites written in a .net language, whether it’s C#.net, or Visual Basic.net, or Delphi.net.
The name C# comes from the fact that its grandparent is called “C”, and its parent is called “C++”. Someone decided to be cute and name it like it was the next higher note up from C on a piano. If you have not noticed, many of the best developers are highly creative and often skilled in a musical instrument or two. Turns out coding, math and music are close cousins. Add beer and you have a party and some really great code.
ASP.net is a web development technology which can be combined with .net programming language (usually C#) to create website programs. ASP.net is the .net-ification of an older technology called “active server pages”.
Java is more than just coffee; it’s a programming language used to create website programs. It is not, however, a .net language, so it doesn’t work and play as well with .net tools.
“Java versus C#.net” is the sort of thing that programmers like to get really worked up about. However, they are both high-level Technology programming languages and it is more about individual preference than real differences in function
This describes software which has source code available to the general public.
Companies like Microsoft centralize the development of programming languages.
Open-source is more of a decentralized model where developers around the world can add to the body of work and all users can access the code base and adjust and use it.
Application Program Interface (API) is a set of routines, protocols, and tools for building software applications. The API specifies how software components should interact and are used when programming graphical user interface (GUI) components. You may often hear the term “we have an API for that.” This just means that the software has an open door to working with another system or interface.
In our world you often want an API to integrate your CRM/dealer information into your LOS system.
House Rules for Software
Remember the days of having to order servers – real physical boxes – have them shipped to your office – put in a super special closet that always got too hot and required the staff to babysit them? It was common back when everyone still used land lines. Just like cell phones dominate now, so does hosting and paying experts to centrally house, maintain and properly scale your IT infrastructure.
Payment Card Industry Data Security Standard. PCI stands for Payment Card Industry and is a Data Security Standard (PCI DSS) and includes a set of requirements designed to ensure that all companies that process, store or transmit credit card information maintain a secure environment.
SAS70 Compliance now SSAE16 and SOC1
Statement of Auditing Standards #70, which was effectively replaced with SOC 1 reports is an accounting standard that governs internal controls for a service type organization (like hosting providers and other vendors). This compliance report is used to help companies determine what level of control is provided by service providers and is often reviewed to select and assess vendor risk.
Technology speak for encoded. Encryption helps prevent unauthorized access to sensitive data. If encrypted data is accessed and stolen it cannot be read or used with having the encryption key to unlock and use it. This is a standard practice used to protect financial and personal data in auto finance.
Software as a Service (SaaS) is a software distribution model in which applications are hosted by a vendor or service provider and made available to customers over a network, typically the Internet. The need to download upgrades and house software on those “boxes in the closet” at your office was eliminated by SaaS.
If you actually made it to this part of the article, congratulations, and I hope you picked up at least 1-2 new techie terms to throw around at the next party. Just note that I am not sure it will help your cool factor…
defi SOLUTIONS provides configurable loan origination systems, loan management and servicing, analytics and reporting, and a wide range of technology-enabled BPO services. If you’re struggling with the limitations of your current lending technology solutions, take the first step in realizing the benefits of modern technology. Contact our team today or register for a demo.