When transitioning to Agile, aspects of project management which need attention are presented below (courtesy PMI)
- Agile Principles and Mindset
- Value-Driven Delivery
- Stakeholder Engagement
- Boosting Team Performance Practices
- Adaptive Planning
- Problem Detection and Resolution
- Continuous Improvement (Product, Process, People)
Agile Principles and Mindset
To become an effective Agile professional, one needs to understand the fundamentals of Agile and adapt to agile thought process. The essential elements of Agile mindsets are covered by the Agile Manifesto – the 4 values and the 12 principles.
Value Driven Delivery
The reason projects are undertaken is to generate business value, be it to produce a benefit or to improve a service. Business value is a concept that is unique to each organization. Business value is defined as the entire value of the business; the total sum of all tangible and intangible elements. Examples of tangible elements include monetary assets, fixtures, stockholder equity, and utility. Examples of intangible elements include good will, brand recognition, public benefit, and trademarks. Depending on the organization, business value scope can be short, medium, or long-term. Value may be created through the effective management of ongoing operations. However, through the effective use of portfolio, program, and project management, organizations will possess the ability to employ reliable, established processes to meet strategic objectives and obtain greater business value from their project investments. While not all organizations are business driven, all organizations conduct business-related activities. Whether an organization is a government agency or a nonprofit organization, all organizations focus on attaining business value for their activities.
Some of the tasks for Value-Driven Delivery are as follows:
Define Positive Value
- Define features and project work in terms of end-user and stakeholder value by focusing on maximizing value delivered and minimizing non-value-added activities in order to keep the delivery team focused on maximizing the value developed.
- Incorporate experience from each delivery by soliciting feedback and lessons learned in order to surface new information about and optimize the value of the system.
- Sharpen the requirements by defining acceptance criteria for the most important features on a just-in-time basis in order to articulate a shared definition of “done”.
- Select and tailor the project methodology based on project and organizational characteristics in order to maximize the project success.
- Compose small releasable system increments by organizing requirements into minimally marketable features in order to achieve a rapid return on investment (ROI) and to allow for the incorporation of feedback.
- Define product increments for both internal evaluation and external release in order to expose integration, performance, requirements, compatibility, usability and other problems early and at minimal cost.
- Frequently release high-quality project deliverables to stakeholders so that they can evaluate and provide feedback on the value delivered.
- Investigate and communicate termination opportunities in order to assist the business to optimize benefit-to-cost of the system developed.
- Maintain system design quality by timely updating the internal design in order to reduce the overall cost of incremental development.
Avoid Potential downsides
- Plan early and proactively mitigate project risks by identifying them and/or utilizing spikes or proof of concepts in order to manage their unknown affects on project outcome.
- Use operational reviews or periodic checkpoints to identify and mitigate dependency risks in order to ensure expectations are managed and stakeholders are aware and informed.
- Solicit customer feedback by developing and demonstrating working, integrated stages of the system in order to ensure that the functionality meets customer needs.
- Prioritize both features and related project work to balance stakeholder value, business value and residual risk by incorporating both value and risk elements into the requested work set in order to maximize total value proposition over time.
- Reprioritize requirements periodically in order to reflect changes in the environment and stakeholder understanding.
- Elicit non-functional requirements to ensure that the solution satisfies operational maintenance parameters in order to minimize the impacts of failure.
A stakeholder is an individual, group, or organization who may affect, be affected by, or perceive itself to be affected by a decision, activity, or outcome of a project. Stakeholders may be actively involved in the project or have interests that may be positively or negatively affected by the performance or completion of the project. Different stakeholders may have competing expectations that might create conflicts within the project. Stakeholders may also exert influence over the project, its deliverables, and the project team in order to achieve a set of outcomes that satisfy strategic business objectives or other needs.
- Identifying Stakeholder Needs
- Stakeholder Involvement
- Managing Stakeholder Expectations
Incorporating lessons learnt is important in ensuring that mistakes are not repeated. Most traditional projects incorporate lessons learnt at the end of the project, which is generally too late from the current project perspective. The benefits of learning should be applied at the earliest and to the current project instead of waiting for the future projects to incorporate them.
Agile practices believe in “Inspecting and Adapting”. Therefore, Agile projects schedule improvement activities into the plan as part of all methodologies.
Some of the guidelines for continuous improvement are
- Tailor the process to the project by adapting practices for the team, organization culture and delivery goals in order to ensure that the team is effective within established organizational norms.
- Incorporate feedback by conducting frequent retrospectives in order to improve process, individual and team effectiveness.
- Adjust team composition and work practices to improve efficiency within the existing process with a goal of keeping a team together long term.
- Remove wasteful process elements by challenging existing process elements in order to become more efficient.
- Create systemic improvements by disseminating knowledge and practices across project and organizational boundaries in order to avoid re-occurrence of problems identified, improving the effectiveness of the organization as a whole.
- Improve team member knowledge and skills by pairing team members in order to improve overall team effectiveness and lowering risk around knowledge silos.
- Evaluate work efficiency in order to identify opportunities to reduce waste.
- Experiment with new techniques and process ideas for short periods in order to discover more efficient and effective ways of working.
Other aspects not covered in this article and are needed for transition to agile are :
- Team Performances
- Problem Detection and Resolution
- Adaptive Planning.
We will discuss about it in our next article.