We at Lumina Networks believe that Software Defined Networking (SDN) is not a product by itself, but rather a set of use cases that use assortment of technologies to meet customer needs. As we all know, the goal of SDN is to allow network administrators to respond quickly to changing business requirements. We deliver software development services, products using agile processes that make SDN possible to help service-providers move beyond lab trials and into production. I will share few tips that have helped us to achieve success in such SDN projects from a project manager perspective.
Every project manager faces multitude of challenges such as expectations management, controlling scope creeps, accountability of team resources, risk management, and delivering results on time. This blog provides some guidance on how to manage expectations and how to do value based prioritization.
Setting expectations helps ease the anxiety of outcomes. Usually IT project goals are set by senior management without getting into much technical details. This creates a huge gap between desired and actual outcomes. Therefore, the project manager must be involved in planning process early and to define the measurable goals that can be agreed upon. When selecting which features to include in the first version, it’s important to make sure that each feature’s impact is measurable against the business goals. A Minimum Viable Product (MVP) is a development technique using which we can build the first version with just enough features to satisfy early customers, and also gather feedback for future product versions. Here is an interesting quote:
“An MVP is a down payment on a larger vision. — Johnny Holland
There needs to be a discovery period where project stakeholders can effectively break down the goals and determine the true MVP scope. The project manager must also perform the MVP planning process with the entire development team to get their feedback. Their inputs on effort estimates, timelines and risks will be helpful in go/no-go decisions and defining the project milestones. It costs time up front, but it saves a lot of stress and scope creep in the long run. Project milestones should be communicated to all the stakeholders and project manager should make sure that the requirements are prioritized based on business value for the milestones (With the help of product owner. To be discussed later). At the end of the day, the stakeholders have to feel confident that the project manager cares about what’s most important to them. With Agile processes, it becomes easier to communicate the progress and changes during the daily stand-ups with stakeholders and weekly sync-ups meetings. When there are scope creeps, the project manager should clearly set (or reset) expectations as to whether the changed scope is feasible with or without additional resources.
Value based Prioritization
Prioritization can be defined as determining the order of execution and separating what must be done now, from what needs to be done in the future. Product Owner is the key person to decide whether certain requirements have more business value than others and how to prioritize them. It is very important to identify and assign the Product Owner role to a key project stakeholder who is representative of the customer. Agile processes aim to deliver maximum business value in a minimum time span using prioritization. If the requirements are important enough, then the scope will change as it increases the likelihood of delivering improved business value to the customer. High value requirements are identified and moved to the top of the prioritized backlog by the Product owner. Prioritization of user stories should be done throughout the project cycle as the perceived value of the requirements and scope will change over time. At some point in the project, we will face tradeoffs due to prioritization and scope changes. When such situations arise, we need to step back and ask, “What’s the MVP ?”. Take a step back to visualize what’s most important and discuss if there are alternative ways to proceed. The Agile project team’s flexibility to change is utmost important as well during re-prioritizations.
To summarize, while delivering software development services, we need to establish trusted relationships with stakeholders by managing expectations, need to quickly engage them for value based prioritization and build flexible project teams to implement MVP and the future versions.