Skip to main content

Application Development Done Right

In a previous article, entitled DevOps as the Ultimate Panacea?, I described how developing code without thinking about the current needs of the end user as well as the future needs once they've become accustomed to using your application ends up not only frustrating them but also can result in customer churn and ultimately lower revenues.  In this article, I'd like to describe something simple that I came across today that shows a definite degree of effort to do quite the opposite.

Recently, we had a severe snowstorm, one with blizzard-like conditions, which is unheard of in central New Jersey.  Being responsible adults, my wife and I went to the grocery store to stock up on essentials (read:  chips, chocolate, etc.) in case we get stuck at home.

As we were ringing up our order, the cashier mentioned to us that the store has a mobile application.  Since both of us are in technology oriented professions, we were skeptical about the need for a grocery store mobile application.  But then the cashier told us two things that immediately caught our ear:

  1. The application will allow us to search for a specific item and, if the location where we shop carries the item, it will also tell us in what aisle and where in that aisle the item will be located.

  2. We can associate digital coupons with the application so that we don't have to worry about collecting those strips of paper that spew out whenever we scan our loyalty card at other grocery chains, much less keep them organized, etc.  All we need to do is scan a single QR code at the register; the appropriate coupons are consumed and the savings automatically applied to our bill.

These two features are enough for us to justify the 25 minute drive to this particular chain, which is something we've only done once every two months at best in the past.  This is in spite of the fact that there are two major chains (without digital capabilities like the two items mentioned above) currently within 5 minutes of our house currently.

Although it's possible for these capabilities to have simply "sprung from the head of Zeus," it's more likely that the software development methodology facilitated this wonderful end result.  Implementing methodologies such as Test Driven Development and Behavior Driven Development provide a constant feedback loop to give the developers a chance to see user behaviors in near real time in order to make changes as needed.

Of course, this feedback loop is useless without a mechanism to deploy new builds of applications fast enough to keep up with the rate of change in the development of the applications in question.  This is where release automation comes into play.  A fully implemented, fully automated CICD process is essential for ensuring that companies can develop at the "speed of change" so that they aren't overtaken by their competition.



While our grocery bill won't do much to add to the bottom line of this particular grocery chain, if you multiply the effect it's had on us by the number of people like us who are hearing about this for the first time, you can see how this could have an impact over time.  And this is possible only because someone took the time to consider the shopping experience; how it could be improved in a very real way for their customers; and then provided the necessary structure internally to give the development teams the ability to fully realize their vision.

Popular posts from this blog

"Ni jiang yi yang de hua ma?"

Last week, I wrote about the necessity of having a clear message . Because this topic is so important I decided to follow-up with another entry on this general subject. This week we will approach it from another angle. (For the curious, the title says " Do you speak the same language? " in pinyin, which is a transliterated Mandarin Chinese.) Recently, a good friend of mine (who is Chinese, ironically) and I were playing pool. He had to bank the 8-ball in the pocket to win the game, and since it was an informal game and bank shots are my area of expertise, he asked me for advice. I told him, "you just need to strike the cue ball with medium speed so that it hits the 8-ball right in the middle." He didn't believe me so we marked the positions of the balls, and then he took his shot only to watch the 8-ball sail past the pocket. "A-ha!" he exclaimed. "I told you it wasn't that easy." But when we reset the positions and I made an attemp

It's Easier to Fail at DevOps than it is to Succeed

Slippery when wet Since the term DevOps was coined in Belgium back in 2009, it is impossible to avoid the term whether in discussions with colleagues or in professional trade magazines.  And during the years while this movement has gained momentum, many things have been written to describe what elements of a DevOps strategy are required for it to be successful. Yet in spite of this, there is an interesting data point worth noting: not many organizations feel there is a need for DevOps.  In a Gartner report entitled DevOps Adoption Survey Results (published in September 2015),  40%  of respondents said they had no plans to implement DevOps and 31% of respondents said they hadn't implemented it but planned to start in the 12 months after the survey was conducted. That left only 29% who had implemented DevOps in a pilot project or in production systems, which isn't a lot. "Maybe it's because there truly isn't a need for DevOps," you say.  While that

Is No/Low-Code the Key to IT Nirvana?

 Unless you've had your head in the sand for the past year or so, you've seen the phrases low-code  and no-code  bandied about quite frequently everywhere you look.  You've probably wondered if this is something new that's here to stay or just a "flash in the pan."  Although the terms have been in the fore of the IT trade publications recently, Low Code Development Platforms (LCDP) (and the corresponding No Code Development Platforms) have been in existence since 2011.  Their roots can be traced to the 90's with 4th generation programming languages and GUI-assisted programming paradigms, e.g. IBM VisualAge for Basic, which was discontinued in 1998. For those of you who aren't familiar with either, the premise is that these platforms allow someone to quickly build applications using a WYSIWYG interface and a "click and configure" paradigm to Isn't this the source code to Roblox? rapidly build full applications with little or no coding requ