Letter from the Editor – December 2018

The Greek philosopher Heraclitus of Ephesus (c. 500 BCE) is credited with saying, “The only constant is change.”

 

This is a statement that, more than 2,000 years later, still holds true. Today, we are in a time of great change.

Everything is in flux. The fact is, we are always in a state of change even if we are not fully aware of it. This is especially true in product development as this is multi-faceted. Product development is frequently experimenting with drastic innovation or process transformations involving better leveraging of tools, task automation, and AI. This shift has teams moving faster and delivering products at a sometimes dizzying speed. This is a future we must anticipate and embrace.

In a few years, when we look back on this era of software development, we will say this is when everything changed. We may not realize it today, but the leaps and bounds away from traditional slower development and delivery to rapid development and deployment are staggering. The eras with few to no easy and useful tools are gone. Tools are now simpler to use, available on more platforms, and are much more capable of executing complex tasks in new areas. We are in the midst of a paradigm shift.

A facet of this dynamism is that this rapid transformation is global. Around the world, organizations are busting out of old work paradigms. For the first time in my experience, these changes are universally impacting everyone at the same time. This is not a Silicon Valley or IT Tech Center phenomenon as has been the case in the past. Drastic modulation would be initially focused in tech hubs and would very slowly disseminate out. Even the oldest, most conservative companies, like financial service companies, who have a reputation for slow, super-cautious change, and being stuck in the past, are unexpectedly leading the charge toward blockchain.

We have been aware of the rapid state of development being commonplace for a long time. We have essentially learned it to be a constant. This rapid and exponential change is our steady state. This is what is gradually being accepted in software development. The old phrase, “That’s the way we have always done it here”, is now more likely to be followed by “and that needs to change” than “it’s the best way”.

Steve Jobs was quoted for saying, “If you don’t cannibalize yourself, someone else will.” It hearkens to the idea that you should not rest on your laurels, or stop trying to innovate. As the iPhone grew in popularity, it slowly replaced the need for the previously super successful iPod.

While it’s important to make sure that you are staying up to date with your practices, it doesn’t mean that your company should throw out successful products just for the sake of change. It instead means that you should reexamine how you make your product from a modern perspective. Look at modern tools, modern development infrastructure such as cloud or Infrastructure as Code (IaC), new staffing models, and new practices. Make sure your customers are getting value from every release, getting it fast, and that you are receiving and using immediate feedback from them. Perhaps more dynamic competitors are doing these things already. Every product has newer, faster, and cheaper competitors. The world has changed.Of all the companies I go to each year, I do not know a single development team today that is not already experimenting with serious changes to their development processes and trying new tools. Whether it is an AI tool or simply more sophisticated tools that are changing how they build and deliver products, I notice the same theme all across the board and it goes by many names: IT modernization, digital transformation, disruption, or simply progress! Many software and hardware product companies do not use the phrase “digital transformation”, they have been leading it. Regardless of what stage your company is in, make sure you are always progressing forward. If you are “coasting”, remember, you can only coast downhill.

From the not-too-recent past of “process documents”, “standard practices” or “best practices”, every organization is now continuously looking to get rid of outdated methods and experiment with lean practices of empowering the team to make local but not global process changes. Even though some of these radical ideas have been around for a while, in just a dozen years Agile, Scrum, XP Lean, and now CI/CD, and Continuous Deployment, have changed product development forever. Considering how few large turning points there were in the decades previous, this era has been overwhelming.

All this is boosted by modern tool development from CruiseControl in 2001, to Jenkins, and beyond. Pipeline Automation is revolutionizing all companies. You are either on the way to it or you will be left behind, what step you chose to follow next will have an impact.

Particular to our business, the biggest set of change has been in tool use.

Test Automation tools that range from clunky and difficult using proprietary languages with miserable test maintenance, have been replaced by astoundingly better Automation tools that easily fit into the organization’s tool chain and better Automation methods. Soon the Automation of tests may be automatic—we are progressing toward this at lightning speed. We, test engineers, are aiding in this rapid change. More and smarter Test Automation is powering many organizations to make the transition away from only manual, to more modern product development methods. Optimizing and re-running Test Automation is the first place AI is making serious inroads for development teams.

As the year comes to a close, we take this issue to look in-depth at trends and the future of software testing. It is important to take note that this is a special era. Whether it is new product development paradigms like blockchain, new thinking around tools using Artificial Intelligence, or to process changes, one thing is for sure, change is the only constant.

Michael Hackett
Michael is a co-founder of LogiGear Corporation, and has over two decades of experience in software engineering in banking, securities, healthcare and consumer electronics. Michael is a Certified Scrum Master and has co-authored two books on software testing. Testing Applications on the Web: Test Planning for Mobile and Internet-Based Systems (Wiley, 2nd ed. 2003), and Global Software Test Automation (Happy About Publishing, 2006). He is a founding member of the Board of Advisors at the University of California Berkeley Extension and has taught for the Certificate in Software Quality Engineering and Management at the University of California Santa Cruz Extension. As a member of IEEE, his training courses have brought Silicon Valley testing expertise to over 16 countries. Michael holds a Bachelor of Science in Engineering from Carnegie Mellon University.

The Related Post

Happy New Year from LogiGear to those of us who celebrated New Years on January 1! And for our lunar calendar followers, an almost Happy New Year come February 3rd. We look forward to an exciting and full 2011 as its predecessor was a tough year for many in the software business. At LogiGear Magazine, ...
Software development projects are multifaceted. There is staffing and budget work. There are communication and team dynamics. There are project and process issues from what the customer wants, when they want it, revenue projections, and production dates. As part of my work in helping people deliver software, I get involved in all aspects mentioned above. ...
Testing tools – very important, very often overlooked, and very often where mistakes are made. First, the most common mistake people make about tools is thinking tools are only about test automation! False. Automation tools are merely one type testing tool. We will try to balance this issue between test automation tools and other test ...
I once consulted for a company to give a week-long course on testing and QA. It was a survey course covering a wide range of topics. I was setting up and chatting with students in the room. One man came over to me and said: “I have been testing for 6 months and I am completely ...
Every organization goes through times when the internal, or home team, cannot execute the testing project easily or quickly enough. The reasons are many, from the lack of an effective test strategy to low automation engineering skill, to staff positions going unfilled due to a great job market. With everyone working and very few people ...
Our plan for the December LogiGear Magazine was to have a forward-looking Trends and Challenges issue. However, whilst assembling our September issue on SMAC, we realized the momentum SMAC was gaining in the industry. We had a large amount of content on our hands from a range of excellent contributors. Thus, we decided to split ...
A while ago, I helped start a Software Quality Certificate Program as a part of the Software Engineering Program at the University of California, Santa Cruz Extension in Silicon Valley. I was on the Board of Advisors. While putting the curriculum together, a few people suggested a Measurement and Metrics course. Since I was teaching ...
On the whole, everyone wants to do a great job, have a better work environment, happy clients and customers, and to be employed by a company earning lots of money. All great goals! But this is not always the case. When it is not, you can suggest process improvements, better tool use, different estimating techniques, ...
I was just recently at a company that had a beautiful test architecture, framework, and Cucumber with tons of well-automated tests. But there was no good test management on top of the Cucumber tests, and they did not do a good job tagging the tests. Although almost everybody on the team could write and maintain ...
Methods and strategy have been my favorite topics since I started working in testing. It’s essentially engineering problem-solving. It’s both looking for efficiency and attempting to measure effectiveness. So, how do we develop a set of practices to solve our Software Testing engineering problems?
As fast as Mobile is growing, the platform is still immature and is evolving at a very rapid pace. While there are whole countries that have migrated large government services to mobile, countries ranging from Estonia to Turkey to Kenya have many longtime mobile users have yet to use mPay or other mobile payment systems. ...
As part of my work, I spend a lot of time at client’s sites and talk to various software development organizations. I am beginning to see a problem arise regarding Test Automation. There is too much automation! Surprised? While there are still many teams struggling to make progress with Test Automation, many teams have been doing ...

Leave a Reply

Your email address will not be published.

Stay in the loop with the lastest
software testing news

Subscribe