Thursday, December 29, 2016

4 Ways Stakeholders are Important to a Project

Whether internal or external, all of the projects that you manage have stakeholders. One of the main reasons projects fail is because the deliverables were not what the customer wanted or they did not meet the customer’s needs. To ensure project success, it helps that you know all of the key stakeholders on your project, how they prefer to communicate, what their needs are, and what the acceptable end results are. 

Engaging stakeholders during—and especially at the beginning of—your project will help reduce and uncover risks and increase their "buy-in." When stakeholders are adequately engaged, their influence spreads far and wide. Some of the ways stakeholders are important to a project are as follows. 

1. Providing Expertise
Stakeholders are a wealth of knowledge about current processes, historical information, and industry insight. Many times these team members will have been at the company or on the project longer than the project manager or project team. It’s important to involve all key stakeholders when gathering and documenting requirements to avoid missing major deliverables of the project. Project managers, or others who are in charge of deliverables, may not be experts on every project. Key stakeholders can provide requirements or constraints based on information from their industry that will be important to have when understanding project constraints and risks. 

2. Reducing and Uncovering Risk
The more you engage and involve stakeholders, the more you will reduce and uncover risks on your project. When discussing initial requirements, project needs, and constraints, stakeholders may bring up issues or concerns about meeting those things. Uncovering risks and then discussing a plan to mitigate them before issues arise will dramatically increase the success of your project. Involving knowledgeable stakeholders during this process will help. 

3. Increasing Project Success
By gathering and reviewing project requirements with stakeholders, you will get their "buy-in," which will in turn help increase project success. If you can't meet stakeholders’ needs, due to conflicting needs or priorities, set expectations early in the project life cycle. This will help you manage the relationship throughout the project instead of there being surprises at the end. Stakeholders should always be aware of the project scope, key milestones, and when they will be expected to review any deliverables prior to final acceptance. 

4. Granting Project Acceptance
The more regularly you engage and involve stakeholders from the start, the more likely you will have a positive project conclusion. By the end of the project, the team members should have already been aware of delivery expectations, risks, and how to mitigate the risks. They also should have reviewed draft deliverables along the way. This process should help avoid any surprises at the end of your project. The final acceptance is just their final stamp of approval during the project closure phase. 

Make sure that you consider all key stakeholders as a part of your project team. They all will bring value and expertise to help ensure your project is a success!

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.

Tuesday, December 13, 2016

Which Comes First—Enabling Technology or Skill Development? Four must-ask questions for this classic “chicken or the egg” situation

About a year ago I was in one of those meetings with our team that we’ve all been in, discussing how to make a critical process more efficient, increase customer service levels and transparency, and give our team better tools so they could do a better job. In the room were sales, marketing, and development leadership, along with a few other stakeholders who had an interest in the outcome of the discussion. 


Our team did a great job deconstructing the challenges and getting to the core issues: communication, enabling technology, and team member skills. One of the approaches we used was to create a “solution cascade” by which we prioritized the things that have to happen in the best order so that we achieve the target outcome. We faced the same question each time we created the cascade: Do we first upskill our team and then deploy the enabling technology? Or do we instead first deploy the technology designed to enable the team to better execute their new skills? Communication in this case turned out to be a byproduct of better skill execution, and got incorporated into the training component. 
If you’re facing a similar situation, here are 4 questions to ask your team that may help bring some clarity to the discussion. 
  1. Do we need to make the intended change faster than we can implement the technology? If yes, then you may not have a choice other than to train or intervene in the current processes
  2. Is deploying the technology first going to overtax our team’s ability to learn or function in their job roles? You want to ensure the technology is seen as a resource versus a distraction. Taking the time to learn technology is to be expected and is part of the process
  3. Are we likely to uncover better approaches and processes as we deploy the technology? The technology may change the way we’re thinking about our current processes
  4. Is it possible that the training will actually be more efficient when we include the technology on the front end? 

As we were deciding which route to take, we created a couple of different scenarios—one that deployed the training first in order to give the technology a “home” when it was deployed, and another in which we deployed the technology first and built the training around how to use the tool to execute. 
  • Training first: People need to understand expectations and have solid business practices in place. Otherwise, technology will simply accelerate problems and poor decisions. Underlying job skills are critical to effective implementation of any new enabling technology
  • Technology first: The enabling technology will function as the glue that holds the skill development together. It will help accelerate adoption of new business processes and make them more sustainable in the long run by increasing efficiency for the people who are responsible for implementing them. This option increases the learning load by layering the technology on top of the skill learning. So a discussion on knowledge retention and time availability must happen 

In the end, we opted to implement technology first and upskill around the platform. Six months in, it appears to have been a good decision. It turned out that if we had implemented the skill side first, we would have uncovered a lot of processes that would have had to be reworked and retrained simply because we didn’t have enough knowledge about different ways the platform would help our team streamline this aspect of their work—we didn’t know what we didn’t know. The other significant benefit that came out during training was that if we had opted to train in advance of deploying the technology, we never would have been able to sustain the business processes we were asking our team to adopt. We never could have gotten to the level of efficiency and service without the technology being in place. The technology allowed us to do more and do it faster. 
About the author: 
For over 25 years Gary Marinko has worked in a consultative capacity with Fortune 500 companies solving complex business challenges with technology. More recently Gary has combined his expertise in technology with sales training in the life sciences industry to bring focused value creation to key Proficient Learning customers. In his current role, he leads the interactive business unit at Proficient Learning, which focuses on developing sales enablement software and mobile solutions that help sales teams and managers accelerate performance and efficiency. 

Wednesday, November 30, 2016

Crafting a Software Release Management Process That Provides a Positive Client Experience

Software development projects require a great deal of planning, dedication, and attention to detail. But what about when the work is complete and needs to be released to the client? That's why we are ultimately all here—to best serve the needs of our clients.

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.
  1. 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
  2. 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  
  3. 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
  4. Once this process is completed, provide this schedule to your clients
Submit release notes and testing information to clients once a build is available
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.