I’m often asked by customers how they can best modernize their software development practices. After all, many organizations are under increasing pressure to respond to their business or customer needs faster, while delivering with higher quality to on-premise, virtualized and increasing cloud environments.
Many early adopters of agile have seen the challenges of responding faster move downstream, from development to release and operations, while the business continues to request better transparency and visibility into the status of development and release streams. While development and test practices are increasingly coupled, and there is increasing adoption of continuous delivery practices to further automate delivery to production, development teams are still challenged with the complexity of managing multiple development and release streams. In talking recently with a director of software development, a large part of the discussion centered around his desire to assess and view the health and quality of his multiple development streams while streamlining the assembly of his release configurations in preparation for deployment.
As a former manager of development, I can recall placing significant focus on understanding the health and quality of our development branches/streams at all phases of development, the frustration many of us shared with the increasing complexity of project and branch merging, and the encouragement of collaboration and communication across all stakeholders and functional teams, so we did not waste time unnecessarily in preparing reports. While agile planning is no longer new, and we are seeing a growing focus on addressing release management challenges, I maintain there is tremendous innovation and potential for organizations to modernize development practices further to complement both agile planning and continuous delivery.
Returning to the discussion with the director of software development, we focused discussion on the need to advance and improve parallel and concurrent development practices, in particular around the introduction of visual indicators of the health and quality of development streams (to include the status of associated changes, automated builds and tests), and improving integration of the collaborative peer review process directly into the development activities. While a Peer Review process is often seen as standalone, I believe it should be integral to a modernized development practice.
I was delighted to share the investment Serena is making in the next generation of Dimensions CM, which directly addresses the evolution of modern development practices and further streamlines the complexity of managing multiple streams and streamlining the assembly for release. We are seeing great customer reaction and participation in the Preview Program, which speaks volumes to the ongoing customer interest and demand for modernizing software development practices.
Here at Serena we’ve long viewed the Application Lifecycle as a process and we need to see it in the context of the Agile Lifecycle, ensuring we not only modernize development practices but ensure orchestration with upstream planning and work item management, and down-stream release management and service management.