“If your time to you is worth savin’; then you better start swimmin’; or you’ll sink like a stone; for the times they are a-changin’.” Perhaps no truer words have ever been mentioned by Bob Dylan, because it’s clear that the times are a-changing. In the software world, disappearing are the days of the deployed solutions and archaeic database-type solutions used to manage huge amounts of data and responsibilities, or disparate tools to manipulate the multiple service needs across the organization.
Current and future technology advancements are accelerating faster than organizations are able to adapt. So much has happened over the past few years in the service management space, specifically, and in software development, and there are many more changes to come. Organizations must find a way to future proof themselves or face some tough realities. During the process, you’ve got to learn a lot about your development processes, the importance of listening to users and how listening to them helps make better you at serving them.
To do that, in the software world, many of the changes can be summarized in one sentence: Continuous improvement on architectural and at the organizational level by leveraging devops. The point of this story is that in the always on economy, users need and want solutions that match the pace in which they live and do business. In many regards, the days of users waiting for the next scheduled software fix are over. This type of movement is taking place in all sections across nearly every software platform. Thus, continuous delivery helps to alleviate this problem and is the likely most important step to ensure we can serve our clients in most direct, quickest and agile manner.
In the past, most changes had come because of initiatives made by the development department. For instance, when your development department starts applying agile methodology to the organization, terms, such as “SCRUM” and “standups,” quickly become very well known throughout the organization and spread to other areas, including sales and communications departments. These protocols must become core to processes now.
Why Continuous Improvement Matters
The biggest change many organizations experience is moving to a continuous improvement model. Start by making the change by looking at the internal organizational needs and the needs of your clients. A best business practice that all businesses that long to get closer to their clients may hope to employ is conducting interviews with stakeholders. In so doing, these organizations will likely find and gain perspectives for improvement that otherwise might not be realized. Working with clients and following their lead allows them the ability to understand how important continuous improvement was to them and helped bring the process to fruition. Working with stakeholders gives organizations a formal process to get through the changes. The interviews with clients should make it very clear that changes to the architecture have to be made, but also that after those changes, the organization would be out of sync so other changes would have to be done there as well to match again.
The whole process works in tandem, gaining feedback from stakeholders, implementing changes one step at a time while ensuring the technology is not disconnected from the organization.
Architectural change
A very important goal that will likely come out of the stakeholder interviews are architectural changes. For example, to move to a cloud-based horizontally scalable architecture or moving from a monolithic approach to a service-oriented approach. Along the way, there are two major things to focus on to accomplish this: replaceability and versioning. By focusing more on requirements or what should be delivered instead of focusing on how to implement it, organizations can be moved to putting the client first, not the solutions provided. By implementing replaceability, you are ready for rapid changes: Anything new that comes out can immediately be used and deployed, it’s just a matter of releasing a new API.
Versioning and replaceability means future proofing and really enables scalability. Every organization must take steps to future proof its operations. In so doing, protecting future and longevity means you can serve clients longer and more efficiently to meet their needs, which is what they trust in your organization for.
Continuous Delivery Is the Quickest Way to Serve
Something else of importance that you might discover in interviews with stakeholders is about the speed of development and more specifically the speed of delivering these new developments. Customers will always tell you that they want more from you and preferably they want it yesterday.
Continuous delivery means that new builds or versions of software are constantly available. Also, a continuous delivery approach changes the impact and responsibility of a developer as they are constantly required to think about testing. When there is a new build of the product every day and something they create does not work, there can be no further builds until any issues are resolved. To improve the quality controls, critical workflows have to be defined, and the notion of “blockers” has to be introduced in the development prioritization process. All in all, the planning remains much more flexible as a result.
In so doing you should be able to see an increase in the quality you can now deliver, created by this change, as well as more automation and better collaboration on the product, with a focus on user-friendliness. These changes do not happen overnight. One guideline for implementing these changes is to put together a group of people from different disciplines and create a community focused on more automation, and, ultimately, a better experience for users. The organizational changes do not stop there. Because of the shift in responsibility and the much more scalable and flexible approach, your product management team can get more room to work in a much more strategic way, allowing you to focus on themes or the bigger picture instead of modules.
Taking such an approach might mean that internal collaboration may get a lot clearer. Where in the past you may have received feedback and communication from support and consultancy to development, these lines get shorter as the pace of developments and delivery increases. Feedback is much quicker both ways. Thus, trends and requirements that come up can immediately be communicated, developed, delivered and deployed to clients without the software sitting around on a shelf for several months while waiting for the next delivery date.
In taking such an approach, products will likely no longer be stagnant, the desire of any firm. Future proofing through continuous improvement and delivery help start this continuous cycle and the process by interviewing stakeholders and implementing changes. Then you’re always available, ready to help your clients serve customers in a more agile and efficient way. The lessons learned might mean better results for your clients.