Skillsets of an Agile Professional
Scrum has become synonymous with Agile. Scrum is a simple framework to execute projects in an agile manner. However Scrum is one aspect of Agile. One needs to have multiple agile skillsets to be able to execute Agile Engagements.
Skillsets necessary for Agile Professional
Planning in Agile is considered as a speculative activity. i.e. you make a forecast that is reasonable based on available information. Planning in Agile is unlike the traditional methods where plans are watertight and that the concepts such as Baseline are prevalent.
Agile Planning adheres to the principle in the Agile Manifesto which says “We respond to change as opposed to the fact that we follow a Plan”
Some things to be kept in mind while planning in Agile
- Planning is Speculative
- You refine the plan as you go along
- The Plan is elaborated and becomes more clear over a period of time
- Planning is dependent on principle of “Timeboxing”. i.e. fix the time and resources available and determine the features that can be delivered.
- Plan has to be necessarily flexible and responsive to changes
- Planning is an ongoing activity
- Try not to pack too much into the plan. Allow space to accommodate changes
- Iterations allow for mid-course corrections. The fact that we are developing in iterative manner allows for mid-course correction while working on a release.
- The release plan that you send out upfront is a initial guess at the plan. As the team works on sprints, the team gets a reality check of the actual size and complexity of the task it has undertaken.
- The team also gains from feedback received from customers and stakeholders. Based on this the team should stay on course towards the goal.
- At the same time, the stakeholders should also work in adjusting to the reality. So in reality, rather than fixing the goal, the stakeholder may want to define an
Boosting Team Performanaces
Its all about team-work in Agile. Key concept in Agile is “Empowerment”. An empowered team is a team which acts on its own and within. An Agile leader should always focus on “Empowering” the team and Boosting the performance of the team through Empowerment.
Empowerment is all about
- Responsibility and ownership and NOT throwing rule book out of the window.
- Working independently towards common objective and NOT bypassing everyone who say NO
- The team can understand reasons behind a decision so that they can apply sound judgement in decision making. It is not always doing the fun part of the job and ignoring the rest.
- It s about weighing the impact of the decisions on stakeholders and not freedom to unilaterally make decisions that impact others.
- It is about making tradeoffs while making decisions that impact others.
The steps through which team performance can be measured and improved are
- Team Formation
- Team Empowerment
- Team collaboration
- Team Commitment
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.
Problem Detection and Resolution
This is one of the core skillset of an Agile professional. He/She should be able to identify and solve problems. How effectively a team deals with problems has a critical impact on whether a project succeeds or fails.
Key to Problem Detection and Resolution lies in the following things
- Define the appropriate set of Metrics to measure performance.
- Create and open and safe environment to surface problems and impediments that are slowing the team down or preventing its ability to deliver value.
- Proactively engage the team at various points in the project to identify problems and risks and create mitigation strategies.
- Ensure impediments are resolved and/or reset expectations in view of impediments that cannot be resolved.
- Maintain a visible list of risks and impediments in order to elevate accountability and track ownership and resolution status.
- Communicate status of risk and impediments in order to manage the expectations of the impacted stakeholders.
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. Project governance—the alignment of the project with stakeholders’ needs or objectives—is critical to the successful management of stakeholder engagement and the achievement of organizational objectives. Project governance enables organizations to consistently manage projects and maximize the value of project outcomes and align the projects with business strategy. It provides a framework in which the project manager and sponsors can make decisions that satisfy both stakeholder needs and expectations and organizational strategic objectives or address circumstances where these may not be in alignment.
Identifying Stakeholder Needs
- Identify and engage effective and empowered business stakeholders who are engaged with the team in order to ensure that the team is knowledgeable about an agreed prioritized feature set reflecting all stakeholders interests.
- Identify and engage all stakeholders (current and future) by promoting knowledge sharing early and throughout the project to ensure the unimpeded flow of value throughout the lifespan of the project.
- Establish stakeholder relationships by forming a working agreement amongst all stakeholders to promote effective collaboration and participation of stakeholders on project activities.
- Maintain proper stakeholders involvement by continually assessing the changes in the project and organization that affect the stakeholder landscape in order to ensure new stakeholders on the project are appropriately engaged.
Managing Stakeholder Expectations
- Establish and maintain a shared understanding of success criteria, deliverables and acceptable trade-offs by facilitating awareness among stakeholders in order to align expectations and build trust.
- Communicate team progress and development capabilities in order to help the business stakeholders make informed decisions about scope, time and cost.
- Manage stakeholders expectations around minimal/most likely/optimal project outcomes, balancing accuracy and precision so stakeholders have greater assurance that those outcomes will help them meet their business objectives.
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.
- Incremental Development
- 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.
- Prioritization : 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.