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

Time to Level Up!

With the recent news out of Salesforce and Oracle, it’s easy to understand why folks affected by layoffs might feel discouraged. Not only are they leaving companies they may have called home for years, but they’re also facing the daunting prospect of job hunting while headlines scream about “AI taking over human jobs.” Not long ago, another company I follow - let’s call it Acme  - went through a similar round of layoffs. Two employees in particular (we’ll call them Jim and John) showed how mindset can make all the difference. Jim had been at Acme for over 20 years. He was reliable, steady, and well-liked, but not exactly the standout type. When he was laid off, he decided to take some time off before even thinking about his next move. After all, he had a severance package. Didn’t he deserve a break after two decades of hard work? John’s story was different. Though he hadn’t been at Acme as long, he’d built a strong reputation and had both technical and leadership skills. Instead of...

So What is this IPaaS Stuff, Anyway?

 In my last post , I discussed how no-code/low-code platforms fulfill rapid development of business applications - addressing the needs of the Citizen Developer (a Gartner term  first used around 2009).  I also commented on how this specific objective limits their ability to provide true integration capabilities, which require the flexibility to adapt to the myriad variations of infrastructure.  This is a concern because companies often have acquired legacy systems via M&A activity while simultaneously investing in new technology solutions, resulting in a mishmash of systems with multiple ways of accessing them. In this post, I'd like to examine how the needs of the latter group are met by describing some key capabilities that are "must-haves" for any company looking to execute on a digital transformation strategy.  In order to do this, let's define who the target user base is for such a technology platform. Disclaimer:   I work for MuleSoft (a division...

COSMIC Insights

Consider the following scenario:  you're a mid-level manager and find out that a layoff is coming.  You're about too lose one of your best direct reports, but you have no ability to influence the decision to lay them off. Oy! My head hurts! What do you do? Oftentimes, I find that people - when presented with situations where they feel compelled to act but have no ability to change the outcome - enter a state of mental lethargy.  They don't know exactly what it is they should do but, "gosh darnit!", something has  to be done.  When they realize how helpless they actually are, they start lamenting about the situation, how they are backed into a corner, etc. In a very real sense, they go through the five stages of grief . I'd like to offer the following alternative way of approaching these and other situations:  I call it the COSMIC method, not only because it sounds cool but also because I like science fiction (" Lisan al Gaib! "). COSMIC is an acronym...