About the Author:

What machine learning is today, and what it could be soon

February 18th, 2019

If AI is a broad umbrella that includes the likes of sci-fi movies, the development of robots, and all sorts of technology that fuels legacy companies and startups, then machine learning is one of the metal tongs (perhaps the strongest) that holds the AI umbrella up and open.

So, what is machine learning offering us today? And what could it offer us soon? Let’s explore the potential for ML technologies.

Intro to machine learning

Machine learning is the process of machines sorting through large amounts of data, looking for patterns that can’t be seen by the human eye. A theory for decades, the application of machine learning requires two major components: machines that can handle the amount of processing necessary, plus a lot (a lot!) of gathered, cleaned data.

Thanks to cloud computing, we finally have both. With cloud computing, we can speed through data processing. With cloud storage, we can collect huge amounts of data to actually sort through. Before all this, machines had to be explicitly programmed to accomplish a specific task. Now, however, computers can learn to find patterns, and perhaps act on them, without such programming. The more data, the more precise machine learning can be.

Current examples of machine learning

Unless you are a complete luddite, machine learning has already entered folds of your life. Choosing a Netflix title based on prompted recommendations? Browsing similar titles for your Kindle based on the book you just finished? These recommendations are actually tailor-made for you. (In the recent past, they relied on an elementary version of “if you liked x, you may like y”, culled from a list that was put together manually.)

Today, companies have developed proprietary algorithms that machine learnings train, or look for patterns, on, using your data combined with the data of millions of other customers. This is why your Netflix may be chock full of action flicks and superhero movies and your partner’s queue leans heavily on crime drama and period pieces.

But machine learning is doing more than just serving up entertainment. Credit companies and banks are getting more sophisticated with credit scores. Traditionally, credit companies relied on a long-established pattern of credit history, debt and loan amounts, and timely payments. This meant if you weren’t able to pay off a loan from over a decade ago, even if you’re all paid up now, your credit score likely still reflects that story. This made it very difficult to change your credit score over time – in fact, time often felt like the only way to improve your credit score.

Now, however, machine learning is changing how credit bureaus like Equifax determine your score. Instead of looking at your past payments, data from the very near past – like, the last few months – can actually better predict what you may do in the future. Data analysis from machine learning means that history doesn’t decide; data can predict your credit-worthiness based on current trends.

What the future holds for machine learning

Machine learning is just getting started. When we think of the future for machine learning, an example we also hear about are those elusive self-driving cars, also known as autonomous vehicles.

In this case, machine learning is able to understand how to respond to particular traffic situations based on reviewing millions of examples: videos of car crashes compared to accident-free traffic, how human-driven cars respond to traffic signs or signals, and watching how, where, and when pedestrians cross streets.

Machine learning is beginning to affect how we see images and videos – computers are using neural networks to cull thousands of images from the internet to fill in blanks in your own pictures.

Take, for instance, the photo you snapped on your holiday in London. You have a perfect shot of Big Ben, except for a pesky pedestrian sneaking by along a wall. You are able to remove the person from your image, but you may wonder how to fill the space on the wall that walker left behind. Adobe Photoshop and other image editors rely on an almost-standard API to cull other images of walls (that specific wall, perhaps, as well as other walls that look similar) and randomize it so that it looks natural and organic.


This type of machine learning is advancing rapidly and it could soon be as easy as an app on our phones. Imagine how this can affect the veracity of a video – is the person actually doing what the video shows?

Problems with machine learning

We are at a pivotal point where we can see a lot of potential for machine learning, but we can also see a lot of potential problems. Solutions are harder to grasp as the technology forges forward.

The future of machine learning is inevitable; the question is more when? Predictions indicate that nearly every kind of AI will include machine learning, no matter the size or use. Plus, as cloud computing grows and the world amasses infinite data, machines will be able to learn continuously, on limitless data, instead of on specific data sets. Once connected to the internet, there is a constant stream of emerging information and content.

This future comes with challenges. First, hardware vendors will necessarily have to make their computers and servers stronger and speedier to cope with these increased demands.

As for experts in AI, it seems there will be a steep and sudden shortage in the professional manpower who can cope with what AI will be able to day. Behind the private and pricey walls of Amazon, Google, Apple, Uber, and Facebook, most small- and medium-sized businesses (SMBs) actually aren’t stepping more than a toe or two into the world of machine learning. While this is due in part to a lack of money or resources, the lack of expert knowledge is actually the biggest reason that SMBs aren’t deeper into ML. But, as ML technologies normalize, they’ll cost less and become a lot more accessible. If your company doesn’t have experts who knows how you could be using ML to help your business, you’re missing out.

On a global level, machine learning provides some cause for concern. There’s the idea that we’ll all be replaced in our jobs by specific machines or robots – which may or may not come to fruition.

More immediately and troubling, however, is the idea that imaging can be faked. This trick is certainly impressive for an amateur photographer, but it begs an important question: how much longer can we truly believe everything that we see? Perhaps seeing is believing has a limited window as a standard truthbearer in our society.


About the Author:

Reaching the Cloud: Is Everything Serverless?

February 18th, 2019

As it goes in technology, as soon as we all adapt a new term, there will assuredly be another one ready to take its place. As we embrace cloud technology, migrating functions and software for organization, AI potential, timeliness, and flexibility, we are now encountering yet another buzzword: serverless.

Serverless and the cloud may sound similar, both floating off in some distant place, existing beyond your company’s cool server room. But are the cloud and serverless the same? Not quite. This article explores how serverless technology relates to the cloud, as well as, and more importantly, whether you have to adapt a serverless culture.

What is serverless?

Serverless is shorthand for two terms: serverless architecture and serverless computing.

Once we get past the name, serverless is a way of building and deploying software and apps on cloud computers. For all your developers and engineers who are tired of coping with server and infrastructure issues because they’d rather be coding, serverless could well be the answer.

Serverless architecture is the foundation of serverless computing. Generally, three types of software services can function well on serverless architecture: function-as-a-service (FaaS), backend-as-a-service (BaaS), and databases.

Serverless code, then, relies on serverless architecture to develop stand-alone apps or microservices without provisioning servers, as is required in traditional (server-necessary) coding. Of course, serverless coding can also be used in tandem with traditional coding. An app or software that runs on serverless code is triggered by events and its overall execution is managed by the cloud provider. Pricing varies but is generally based on the number of executions (as opposed to a pre-purchased compute capacity that other cloud services you use may rely on).

As for the name itself: calling something “serverless” is a bit of a misnomer because serverless anything isn’t possible. Serverless software and apps still rely on a server, it’s just not one that you maintain in-house. Instead, your cloud provider, such as Google, AWS, Azure, or IBM, acts as your server and your server manager, allocating your machine resources.

The cloud vs. serverless

While the cloud and serverless are certainly related, there’s a better reason why we are hearing about serverless technologies ad nauseum. Because cloud leaders like AWS, Google, Azure, and IBM are investing heavily in serverless (and that’s a ton of money, to be sure).

Just as these companies spearheaded a global effort to convince companies their apps and data can perform and store better in the cloud, they are now encouraging serverless coding and serverless architecture so that you continue to use their cloud services.

Serverless benefits

Is everything serverless? Will everything be serverless soon? In short, no and no.

The longer answer is that serverless architecture and serverless computing are good for simple applications. In serverless coding, your cloud provider takes care of the server-side infrastructure, freeing up your developers to focus on your business goals.

Your developers may already be working on serverless code – or they want to be. That’s because it frees them from the headache of maintaining infrastructure. They can dispense with annoying things like provisioning a server, ensuring its functionality, creating test environments, and maintaining server uptime, which means they are focused primarily on actual developing.

As long as the functionality is appropriate, serverless can provide the following benefits:

  • Efficient use of resources
  • Rapid testing and deployment, as multiple environments are a breeze to set up
  • Reduced cost (server maintenance, team support, etc.)
  • Focus on coding – may result in increased productivity around business goals
  • Familiar programming languages and environment
  • Increased scalability

Traditional code isn’t going anywhere (yet)

While focusing on your core business is always a good goal, the reality is that serverless isn’t a silver bullet for your coding or your infrastructure.

Depending on your business, it’s likely that some products and apps require more complex functions. For these, serverless may be the wrong move. Traditional coding still offers many benefits, despite still requiring fixed resources that require provisioning, states, and human maintenance. Networking is easier because everything lives within your usual environment. And, let’s face it: unless you’re a brand-new startup, you probably already have the servers and tech staff to support traditional coding and architecture.

Computationally, serverless has strict limits. Most cloud providers price serverless options based on time: how many seconds or minutes does an execution take? Unfortunately, the more complex your execution, the more likely you’re go past the maximum time allowed, which hovers around 300 seconds (five minutes). With a traditional environment, however, there is no timeout limit. Your servers are dedicated to your executions, no matter how long they take or how many external databases they have to reference. This can make activities like testing and external call up harder or impossible to accomplish.

From a business perspective, you have to decide what you value more: only paying for what you use (caveat emptor), with decreased opex costs. Or, perhaps control is tantamount, as you are skeptical of the trust and security risk factors that come with using a third party. Plus, not all developers work the same. While some devs want to use cutting-edge technology that allows them to focus on front-end logic, others prefer the control and holistic access that traditional architecture and coding provides.

About the Author:

Training for Agile Software Development Should Be Flexible, Collaborative

February 18th, 2019

Using only traditional training does technical engineers and software developers a grave disservice for one very important reason: Things move too fast for traditional training methods to be effective.

Kyle Gabhart, a training and technology consultant for Gabhart Enterprises, said too often, software engineering follows a classical engineering model in how it approaches problems. That works if you’re building a physical bridge over a section of water, for example, because the river won’t get any wider. All of the variables are essentially fixed. The engineer knows up front that it’s a footbridge or for a train, and he or she can do all of the data collection, get things figured out, and then build it.

Software engineering is a different animal. The variables are constantly changing. Gabhart said the analogy would be, you’re half way through building a footbridge and the product owner says “hey, if you wouldn’t mind, can you add one quick little feature, and make it so that a train could go over the bridge as well?” In a normal engineering context that would be absurd. But in a software context it happens all the time.

“They’re like, it’s just a couple more fields, or it’s just a few more pages or entries in the database. Can’t you just make this one little change?” he said. “But the software environment is fundamentally different, and the way that people deal with it is different. We need a methodology and an approach that is sufficiently flexible to embrace the rate of change that has become the norm within the technology sector. Agile is really well suited for absorbing and embracing that type of change.”

Of course, agile technology means more than just flexible software development. It refers to flexibility in expectations around business outcomes as well as flexibility in the business need technologists are aiming to solve. It’s essentially a discovery process because in many environments there are a lot of unknowns and uncertainty. Agile helps to navigate that uncertainty, which is appropriate when the ultimate goal is to continuously innovate.

In order to promote agile or out of the box thinking and behavior in software development Gabhart said experiential training is best. There are some things one can learn in a classic academic setting, but it’s best to learn in a hands-on lab situation where technical talent can apply new concepts, see how they work, adapt and “rinse and repeat” over time.

“One thing that is often overlooked is the importance of having all the different roles involved in the training all the way through,” he said. “There’s a tendency for people to group up in their tribe whether that’s testers, developers, project managers or what have you, and agile more so than other approaches lends itself to having the entire team collaborating together, cross training.”

He said yes, participants will have different perspectives, and some elements of the training will resonate more readily with certain team members, but the value is in the collaboration because agile is not just about technology. It’s a collaboration and a communication activity that uncovers and clarifies a business need as well as the solution for that need. Diverse technical and non-technical perspectives facilitate that process and clarify the vision for the ultimate product or service under construction.

Roles will vary from client to client and situation to situation, but Gabhart said the ideal classroom might contain the product owner, scrum master, a few business analysts, the technical team, developers, a few testers and QA folks. That’s not what usually happens, however.

“Normally, you sit down and do a class with developers, then you sit down and have a class with testers, then you have a workshop with the project management team, and it’s like no no no. Everybody’s working on the same project,” he explained. “Let’s get whoever is going to be involved collaborating together; we want to mimic that in the training.”

In class, the team gets a scenario and with an instructor’s guidance, walks through all the paces. It’s not ‘okay, developers let’s drill into some random set of requirements and figure out how to build software from them.’ It’s ‘lets present a business problem, walk through the paces and have each stakeholder, from business analyst to product owner to tester, do their thing, supplying requirements, sharing stories, and receiving valuable feedback at critical points along the way.’

That’s the ideal classroom setting. Unfortunately, Gabhart said learning leaders aren’t receptive to the idea of a truly collaborative training environment.

“They should be, but their perception is, “it’s a three-day training. I don’t know that I can free up that person’s time, and aren’t ya’ll just going to be talking about a bunch of techy stuff anyway?” It’s a huge challenge,” he said. “I’ve seen it work well, yet time and time again we don’t have time, or they’re not available to do that. Or, I’ll set it up and get the non-technical folks for like half a day on day one. Then they bail and aren’t involved in the rest of the class.”

In the ideal training scenario, Gabhart said there likely will be times when the non-technical people zone out with the cartoon Peanuts teacher’s waa waa waa ringing in their ears as the technical people do their thing. But their presence is still vital to provide feedback at key points on, “did we hit the mark? Are the requirements that we defined consistent with your intent? Now we’ve built a prototype. Is that consistent with what you were expecting?”

Feedback, collaboration, having the non-technologists hear technology terminology in a different way, these things help to ensure the technology solutions developed actually solve business problems. “In the absence of solving a business need, technology literally has zero value,” Gabhart said. “You only have value to the extent that the technology enables the business to somehow be faster, better or cheaper.

“Remember, agile is intended for those contexts where there are a lot of unknowns, a lot of uncertainty, either in the tech, in the requirements, in the outcome, or all three. Because there’s uncertainty we have to iterate multiple times. We need feedback. Otherwise technical talent won’t know if they’re on target or not.”


About the Author:

When Technology Moves Faster Than Training, Bad Things Happen

February 18th, 2019

Technology is changing how we design training, and it should. Unfortunately, many instructional designers are not producing the learning programs and products that today’s technical talent needs. Not because they don’t want to, but because many companies don’t support their efforts to advance their work technologically or financially.

That’s a mistake. Technology has already changed learning design. Those who don’t acknowledge this appropriately are doing their organizations – and their technical talent – a disservice.

Bob Mosher, chief learning evangelist for Apply Synergies, a learning and performance solutions company, said we can now embed technology in training in ways we never could before. E-learning, for instance, has been around in some for or another, but it always sat in an LMS or outside of the technology or whatever subject matter it was created to support. That’s no longer the case.

“Now I don’t have to leave the CRM or ERP software, or cognitively leave my workflow,” Mosher explained. “I get pop ups, pushes, hints, lessons when I need them, while I’m staring at what I’m doing. These things guide me through steps; they take over my machine, they watch me perform and tell me when and where I go wrong. Technology has allowed us to make all of those things more adaptive.”

Of course, not all learning design affected by technology is adaptive, but before adaptive learning came on the scene, training was more pull than push, which can be problematic. If you don’t know what you don’t know, you may proceed blindly thinking that, “oh, I’m doing great,” when you’re really not. Mosher said adaptive learning technologies that monitor learner behavior and quiz and train based on an individual’s answers and tactics, can be extremely powerful.

But – there’s almost always a but – many instructional designers are struggling with this because they’re more familiar with event-based training design. Designing training for the workflow is very different animal.

The Classroom Is Now a Learning Lab

“It’s funny, for years we’ve been talking about personalized learning, but we’ve misunderstood it thinking we have to design the personalized experience for every learner,” Mosher said. “But how do I design something personalized for you? I can give you the building blocks, but in the end, no one can personalize better than the learners themselves. Designing training for the workflow is a very different animal.”

In other words, new and emerging technologies are brilliant because they enable learners to customize the learning experience and adapt it to the work they do every day. But it’s one thing to have these authoring technologies and environments; it’s something else for an instructional designer to make the necessary shift and use them well.

Further, learning leaders will have to use the classroom differently, leveraging the different tools at their disposal appropriately. “If I know I have this embedded technology in IT, that these pop ups are going to guide people through, say, filling out a CRM, why spend an hour of class teaching them those things? I can skip that,” Mosher said. “Then my class becomes more about trying those things out.”

That means learning strategies that promote peer learning, labs and experiential learning move to the forefront, with adaptive training technology as the perfect complement. Antiquated and frankly ineffective technical training methods filled with clicking, learning by repetition through menus, and procedural drilling should be retired post haste in favor of context-rich learning fare.

Then instructors can move beyond the sage-on-the-stage role, and act as knowledge resources and performance support partners, while developers and engineers write code and metaphorically get their hands dirty. “If I have tools that help me with the procedures when I’m not in class, in labs I can do scenarios, problem solving, use cases, have people bounce ideas and help me troubleshoot when I screw up,” Mosher said. “I’m not taking a lesson to memorize menus.”

Learning Leaders, Act Now

Learning leaders who want to adapt to technology changes in training design must first secure appropriate budget. Basically, you can’t use cool technology for training unless you actually buy said cool technology. Budgetary allocations and experimentation must be done, and instructional designers have to have the time and latitude to upgrade their skills as well because workflow learning is a new way of looking at design.

“Everyone wants agile instructional design, but they want to do it the old way,” Moshers said. “You’re not going to get apples from oranges. Leadership has to loosen the rope a little bit so instructional designers (IDs) can change from the old way of designing to the new way.

“IT’s been agile for how long now? Yet we still ask IDs to design in a waterfall, ADDIE methodology. That’s four versions behind. Leadership has to understand that to get to the next platform, there’s always a learning curve. There’s an investment that you don’t get a return on right away – that’s what an investment is.”

For learning leaders who want to get caught up quickly and efficiently, Mosher said it can be advantageous to use a vendor. They’re often on target with the latest instructional design approaches and have made the most up to date training technology investments. But leadership must communicate with instructional designers to avoid resistance.

“Good vendors aren’t trying to put anybody out of a job, or call your baby ugly,” he explained. “It’s more like, look. You’ve done great work and will continue to do great work, but you’re behind. You deserve to be caught up.”

The relationship should be a partnership where vendor and client work closely together. “Right,” Mosher said. “If you choose the right vendor.”

About the Author:

Case Study: Financial Services Firm Successfully Executes Team Migration

March 31st, 2015

In today’s installment of our Case Study series, we’re exploring how a successful team migration can move your organization past productivity roadblocks. (Missed the first of this series? You can find it here.)


A financial services firm’s aging technology infrastructure was hindering the advancement and productivity of the business, leading to a need to migrate from legacy systems to modern, service-oriented systems.

The staff did not have the competency to support the modern systems. The company had to make a decision, whether to lay off staff—and lose the intellectual property—or hire new staff, without the domain knowledge. Recognizing the loss in intellectual property was too significant, the company determined that the most cost-effective solution was to migrate the technology staff.


Working with the financial services firm’s internal training organization and Office of Architecture, DevelopIntelligence developed a team migration strategy for over 300 technical staff members.

Using our “Evaluate, Architect, and Construct” process, we were able to design a strategy that blended the competencies, capabilities, and productivity required for a successful, cost-effective migration.


30 days after the team migration plan was put into place, the financial services firm was able to begin execution of the plan, running nearly 100 people through the program in less than a quarter. Today, the firm is on its way to migrate the remaining staff to successfully support the technology migration.

Is your organization experiencing roadblocks due to aging technology? Contact our consultants today, at (877) 629-5631 or via email, to discuss how we can help you hurdle those blocks through a customized, effective, and efficient learning solution. Learn more about our approach to team migration on our website.