Effective release management practices ensure that once the
software is built, it is successfully released to the people who want to use
it. Those who manage this process have a strong ability to positively influence
the relationship with their clients. Part of this process includes providing
both a consistent experience in every release and excellent communication.
Establish a
consistent release cycle
One thing that many of my clients have appreciated is a
consistent and reliable release cycle for updates. They know exactly when they
are expected to be available for user acceptance testing and when they should
expect production updates to occur. If working as an outside vendor, this helps
provide your client contacts the support they need with their teams to
establish better methods of communication and to set expectations.
When creating a schedule, here are some items that are
beneficial to consider in the process.
- Compile a list of all of your clients that would benefit from a release cycle and pencil them into a deployment schedule, considering the frequency of updates that they require. This process is perfect for an Agile/Scrum approach as you can tie this into Sprint Release Management
- Look for release date conflicts in your schedule. Try not to schedule 2 or more major clients on the same day. This will assist with mitigating resource constraints and allow time for troubleshooting and support if needed
- Consider your clients in your schedule. Add adequate time for them to perform user acceptance testing on their updates and to provide feedback, and allow a buffer to make any quick bug fixes as needed. Major changes or scope additions should be considered for the next release cycle
- Once this process is completed, provide this schedule to your clients
As part of the software release process, you should compile
information on the updates that will be included in that release and craft a
non-technical document for your clients. This document should outline the
version number they are receiving and what updates are included. Add
screenshots or other explanatory information, such as related future updates.
To speed up the user acceptance testing process, consider creating and
providing test cases that can be performed on the updates.
Take inventory of
your current client communications and make adjustments as necessary
Outstanding communication is one of the major parts of any
successful client experience. Consider all the ways you are currently communicating
to your clients regarding when and how they receive software updates and ways
it can be improved. These communication pieces can range from describing the
release process or proposed scheduling, to monthly release communications, deployment
window notifications, or warranty information. Try and create boilerplate
documents that can be reused by all clients so that everyone has the same user
release communication experience. A consistent user communication experience is
beneficial if management changes from one staff member to another or if new
employees need to be briefed.
Provide outstanding
customer service
Deployments hardly ever go 100% right. Many times schedules
are at the mercy of resources or bugs are unexpectedly introduced during the
code deployment process. One of the most important things is to communicate and
work together as a team to resolve issues. Offer to provide clients a walk-through
or documentation on new features. Providing an outstanding customer experience
is key every step of the way.
About the Author
Lori Schoenhard, PMP, CSM, CSPO–Software Development Manager
at Proficient Learning, LLC
As the Software Development Manager, Lori is responsible for
the technical delivery of Proficient Learning’s mobile and web development
projects. She manages the entire application life cycle including concept
development for new product enhancements, leading technical teams to execute on
technical delivery, developing documentation, and implementing user feedback.
Lori has extensive experience in digital and software project management,
technical account management, business analysis, quality assurance, and
software development. Lori is a graduate of Luther College and is currently
pursuing a Master’s Degree in Computer Information Systems with a concentration
in IT Project Management from Boston University. Lori is a certified Project
Management Professional (PMP) from the Project Management Institute and is also
a Certified Scrum Master (CSM) and Product Owner (CSPO) from Scrum Alliance.