6 Main Reasons Why You Must Identify Backlog Item Dependencies

6-main-reasons-must-identify-backlog-item-dependenciesWhen creating and grooming a backlog in an agile project, it may come as no surprise that there is a constant need to manage it throughout the product’s lifetime. Common expectations from those who come from the waterfall mindset, is that you would just set up a backlog and the rest should take care of itself. But as you will eventually find out, you must identify backlog item dependencies.

The reality is that the moment you create the first backlog item, metaphorically it becomes a living organism. Many may think that the most challenging part of the backlog item, would be to fully define and estimate it. It certainly is one the earliest challenges in the backlog definition phase. However, it is important to consider, that with each additional backlog item that is created, there is an increasing need to consider inter-dependencies between all items. Not a daunting task if your list is limited to 10 or 20 items, but what about a typical project where there are over 50, 100, or more items.

Without putting the carriage before the horse, it is important to consider those backlog item dependencies initially with a backlog roadmap. Then it is also necessary to make it an absolutely regular activity to take on when backlog grooming. Below we identify the many reasons why backlog item dependencies need to be identified and linked to their co-dependent items.

1. Reduced Overall Project Risk

One of the main reasons why projects fail, is that there is no planning or overview of a roadmap before starting. Certainly, an agile project will prevent most of that with the regular sprint iterations and planning that happens before each is ready to start. However, what we are referring to here is more about consideration of what needs to be built, the moving parts, before all pieces of software or product can be put together. As an example, you can work on the roof of a house long before the house is actually built, but you eventually need to know that you need to build the foundation and structure before you will get to the roof installation. Further to that, you would need to identify the structural specifications (dependencies) to know that the roof will fit when the time comes to finalizing the house.

2. Value-added Efficiencies in Process Workflow

When your project is in mid flight, the last thing you want to get stuck with is realizing you just randomly selected some backlog items that don’t make sense to be in the current sprint. In the worst of cases, you would likely just leave it out as part of the grooming process. But on the other end, you would want to avoid idle time mid-sprint realizing that there were a lot of items that could’ve, should’ve, or shouldn’t have been there to begin with.

3. Facilitation of Priorities

As you identify dependencies early on in the project, the priority of all backlog items naturally present themselves. Like a seemless puzzle being put together from top to bottom, relating backlog items to see if there are or aren’t dependencies is tedious at first, but it becomes easier to balance as the software or product is being built.

4. Early Elimination of Blockers and Time Wasted

On a day-to-day process, through scrums and standups, a well groomed backlog allows for all team members to avoid getting stuck on blockers. Some blockers are inevitable based on the circumstances of the development process. But there can easily be blockers present on some aspect that could have easily been prevented, i.e. environment availability for a developer who would like to commit their code. Some blockers can have workarounds, but inevitably, the longer it is blocked, the more likely there will be time waste later on.

5. Proactive Conflict Resolution within Teams

When the teams gets to see the benefits of dependency identification, they will go on to assure there is regular backlog grooming almost intuitively. Each member’s best interests will gear toward pro-activity so that there is the least amount of conflict. Further to this, the team will be better prepared to resolve conflict should there be at any point. This is mainly a result of “lessened” levels of conflict. 

6. Increased Morale within Teams

As a direct result of lessened conflict, there will be heightened synergy among teams. They will have a higher tendency to gel together and get along. Effectively, this will prevent turnover and burnout with members of the team. Low turnover means that the team stays intact over long periods of time, and they benefit from not only being at the performing stage of team synergy, but also from the experience of working together for long periods of time. This benefit is irreplaceable and highly valuable.

Keeping an up-to-date backlog certainly has it’s benefits, but as we can see, keeping specifications up to date is not necessarily all about updating scope or tasks, but also continuously identifying how they are all tied together.

[Image courtesy of tigger11th at FreeDigitalPhotos.net]


 

Joining an Agile Team? Know Your Personality Type

joining-an-agile-team-know-your-personality-typeThere’s an interesting thing that happens when anyone joins a company, or a new project. The thought of an Agile Team Personality Type, its effects on team dynamics, and getting to a state of performance, gives another indication on how fast everyone will reach that state. Depending on the workplace culture, it is easily assumed that everyone joining or about to work on a project is going to be competent, knowledgeable and a contributing member of the team. This is sort of like a “honeymoon phase.” What we soon discover that this initial impression will eventually change, sometimes for the better, and possibly for the worse.

Why are Personality Type Considerations Important?

Human nature will indicate, most of us have a tendency to give the benefit of the doubt to a stranger at the very beginning of a relationship. After all if it was any other way, relationships would never exist. What we tend not to do, is think of our personalities with regard to others we are interacting with. Further to this, we don’t normally think of the other individual personalities with regard to their compatibilities to ourselves and to each other. The good news is that this one consideration can accelerate synergy and performance on many levels.

What Types of Personalities are There?

There are many theoretical personality types, some ranging from 4 (four temperaments) to 16 personality types (Myers-Briggs). Some debate on which are better, more accurate, or more thorough. Most individuals think that others are like themselves at the beginning of a relationship, after all, who do we know better than ourselves? They don’t think about personality types, for example, most will think “this person is more or less like me” until the relationship develops. Later on they think about the relationship as “this person is more or less like me, but (adding exceptions).” Eventually it ends up being “this person is not like me” or “this person is a lot like me.” This would be the natural progression. But it’s the long way. Thinking about personality types of others (and yourself) up front and early on in a group relationship will empower you to know what is the best or worst expectation to come out of a team member, either individually or as a whole.

Knowing Personalities: A First Step Toward Leadership

The irony in some projects is that we tend to get caught up in the risks that could prevent the project from being completed as per the budget, timeline, or scope, but it’s taboo to think of the risk of the varying personalities that are interacting in the project. Some are compatible, and others not. But what we should stop and think about is, what actually makes a project unbearable? Is it a team working together to overcome problems? Or a team complaining about who is responsible for those problems? Knowing why this is a tendency through personality types, can allow you to take a step back, be a leader, see things outside the box, and then make the necessary preventions and adjustments.

[Image courtesy of Stuart Miles at FreeDigitalPhotos.net]


Why Apply Agile Project Management Principles (part 1 of 2)

why-apply-agile-project-management-principles-1-of-2Many new projects seem to fail at the beginning, especially in hindsight, when looking back after months of development and product delivery progress. There have been many cases where agile projects did not even go over the Agile Manifesto which as most would should have been the first step. Beyond the 4 value statements from the manifesto, are the 12 principles that help guide the agile practitioner in keeping up with the 4 value statements. As we will see, all 12 were very cleverly worded and cover all angles that the agile mind would live by.

As part 1 of a 2-part series we will give further insight as to what those 12 principles are and why they are important for up-keeping in the context of agile project management principles:

1. Our highest priority is to satisfy the customer through early and continuous delivery of valuable software (in non-software projects this would refer to product).

When we look at this first principle we see that customer satisfaction is the first thing that comes up, but that is not to say we need to do everything the customer wants outside of reason. This is why the second part of the principle mentions early and continuous delivery of valuable software/product. In all instances the customer relationship starts where ultimately there is a product to be delivered. If you note, the “early” part is also deliberate since it is essential to building the quick ROI for the client. The “continuous” part represents the iterative part about agile methods that allows for features to be built in with the value requested by the customer.

2. Welcome changing requirements, even late in development. Agile processes harness change for the customer’s competitive advantage.

The requirements of an agile project are reflected by the Backlog (Product and Sprint). The backlog is the crux of the agile project methodology and workflow process, and is the basis of the work that needs to be done by the agile team. This principle of welcoming changing requirements in the format of a backlog allows for prioritization and re-prioritization at any moment within the sprint for the Sprint Backlog, and the Product Backlog throughout the agile project. Typically, the high level of transparency through daily scrums, and kanban boards, etc., allows for the agile working team to change requirements to reflect the ROI, resulting “customer’s competitive advantage” as needed and without the resistance that a project would have in a traditional waterfall setting.

3. Deliver working software frequently, from a couple of weeks to a couple of months, with a preference to the shorter timescale.

The only way to gain return on a product is by confirming the results. Therefore the need to deliver “frequently” is tied to getting the most out of continuous delivery. This is part of the reason for preference to the shorter timescale, since that would provide more delivery cycles (iterations or sprints) and all resulting feedback loops from the customer and business. The other reason for preference to the shorter timescale is that it mitigates risks by allowing for developing time-sensitive competitive advantages (quicker time to market) of the software or product. When using lean tools the work-in-progress (WIP) becomes evident and quicker cycles prevent any wastes (so-called “muda”), and locks in the value of the delivered product.

4. Business people and developers must work together daily throughout the project.

When referring to working together daily this primarily refers to all agile team roles in the same room, face-to-face communications, and not so much on texting and emailing. Gaps in the daily interactions leaves room for unconfirmed value, and possible waste once business people and developers fall out-of-the-loop. The other key phrase is “throughout the project.” Some business roles, and developers may tend to fade in and out of the project if they are assigned to more than one project, and are spread thin throughout the course of the project. This leaves gaps in expectations and confirmation of progress when it is needed most.

5. Build projects around motivated individuals. Give them the environment and support they need, and trust them to get the job done.

When a project gets started and is ongoing, we need to make sure we don’t get in the way of agile team members that are experts in their domain. This is where we build in the element of “trust” and leave them to do what they do best. Giving them the environment and support relies on the scrum master role where there is a need to protect the agile team from outside distractions, and help remove blockages when they appear.

6. The most efficient and effective method of conveying information to and within a development team is face-to-face conversation.

The key here is that people are to engage in “people-friendly” situations that promote easy communication with the least amount of “out-of-context” risk as possible. Body language makes up about 55% of communication, and therefore represents the most powerful component when compared to 7% verbal and 38% tone of voice. Since email messages can take on a tone the reader chooses to interpret them by, a message may be interpreted as malicious where in fact it could have been completely benign. The other advantage of the face-to-face communication is that everyone benefits from osmotic communication whereby knowledge and information is gained from background discussions from fellow agile team members. This presents an overall advantage since it effortlessly keeps everyone on the same page.

For the second part of this section  << click here >>

[Source for Agile Manifesto Principles: Manifesto for Agile Software Development]
[Image courtesy of Stuart Miles at FreeDigitalPhotos.net]


10 Ways an Agile Mind Uses World Class Thinking

10-ways-agile-mind-reflects-world-class-thinkingWhen we discover what an agile mind can bring to its surrounding environment, it would very much resemble that of World Class thinking. Steve Siebold points out the many ways that Middle Class thinkers differ from those of the World Class thinkers. But what we noticed, is how similar World Class thinkers are to Agile thinkers. Many are very close to what you would expect as characteristics and personalities of an Agile team member.

Below are some extractions from Steve’s list of differences between the Middle Class vs the World Class. We’ve explained how World Class thinkers relate to that of an Agile Mind:

1. The Middle Class avoids risk . . . the World Class manages risk

Agile team members use tools and operate with a series of ceremonies and events that allow them to manage risk. They don’t avoid risk since they know that risk is unavoidable. They understand that having daily scrums, sprint planning, sprint reviews, sprint retrospectives, etc., will allow them to reduce risk and minimize (not eliminate) it as much as possible.

2. The Middle Class focuses on having . . . the World Class focuses on being

The difference being agile is actually “being” agile through practice and experience, not just “having” knowledge by reading a couple of books or attending agile training courses. An agile team mindset focuses on “being” because they are aware and conscious about their agile working environment. This means that it’s not just about switching their agile hats on and off. This is much like being an athlete, you don’t stop being a swimmer when you are not in the water. Also, it’s very likely your mindset reflects everything toward being the best swimmer you can be, in and out of the water.

3. The Middle Class sees themselves as victims . . . the World Class sees themselves as responsible

A self-organizing, self-managing agile working team knows that they are going to be responsible for the end result of their agile solutions. While they may have chosen not to become victims, the confidence they’ve built through team synergies allow them to meet their individual and group objectives without doubt.

4. The Middle Class is frustrated . . . the World Class is grateful

When faced with hardships and issues, the agile team knows that it’s sometimes part of their work. They depend on each other at all times and look to help each other out. Each member in turn, is grateful to be working side-by-side with each other and know that getting frustrated is wasteful energy. Part of this is through the scrum master role, or agile business coach, being able to protect and showing appreciation for each other as the team works through those issues.

5. The Middle Class is ego-driven . . . the World Class is spirit driven

The optimal agile team is aware that they are not a combined result of their egos. An ego is not what drives results, whereas spirit does. Although spirit can be broken, it can be set to greater sustainability over time. An ego is not immune to being broken either, and what we can learn is that it usually grows when it is given the wrong type of attention. Spirit overcomes negativity and is not fed by it. Growth comes with the combined spirit of all team members with results and authenticity of leadership that are much greater than those of an ego driven team.

6. The Middle Class is problem oriented . . . the World Class is solution oriented

When looking at building and creating agile solutions, the agile team knows there’s a problem to be solved. But they are not primarily oriented toward problems and how to fix them, rather, they are concerned with providing solutions. A successful product is not one that was made with problems to be fixed, but rather it is set on providing an optimal set of solution that are free of problems. The agile team working on a series of solutions is a lot more productive, since bringing attention to solutions increasingly expands into more solutions. In much the same way, bringing attention to problems creates more problems.

7. The Middle Class thinks they know enough . . . the World Class is eager to learn

Part of continuous improvement is knowing that we don’t know enough. This is where the agile team invests heavily in the use of sprints to not only develop a product, but also get to the point of retrospectives to learn what didn’t work, and finding new ways to work. The other way the agile team is eager to learn is by not resting on their laurels, and reaching new heights through practice and use of agile tools and agile games.

8. The Middle Class is boastful . . . the World Class is humble

When faced with praise, an agile team is humble and not boastful about their achievements. This is fueled by knowing that what was achieved was a result of the combined efforts of each individual within the group, and as a separate entity they are only a smaller part of the whole. The agile team also knows that being humble is a virtue and a strength that brings attracts others wanting to join that team.

9. The Middle Class denies their intuition . . . the World Class embraces their intuition

An agile team knows that they should embrace their intuition since it is a result of their synergies and attainment of high performance. The important aspect of attaining intuition is that it needs to be fed like a never-ending belief. The moment you deny or question the intuitive process, it switches back into over thinking mode. Over thinking will undo the intuitive process.

10. The Middle Class coaches through logic . . . the World Class coaches through emotion

Much like the world-class, an agile coaching philosophy will do so through emotion. An agile business coach knows that emotion is “energy in motion.” That relates to sensing where the agile team’s energies are and finding ways to bring them to balance. This is not just by trying to be a separate and logical member, but rather by being active part of the team and promoting the agile mindset. That would be the best way to know how each member is contributing to the overall performance of the individual and team.

[Image courtesy of Idea go at FreeDigitalPhotos.net]
[Source: Steve Siebold (177 Mental Toughness Secrets Of The World Class)]


 

7 Virtues of an Agile Mindset

7-virtues-of-an-agile-mindsetThere are certain virtues to getting your lifestyle tuned into an agile mindset. For those who actually practice being agile in and outside of their work environment, there’s a lot more to gain on a day-to-day basis. We’re not necessarily referring to just yourself getting to be a better person with the use of agile tools, we’re also talking about getting others around you mindful and self-conscious as well.

Here is a list of virtues that for all those who live and breathe agile, would come naturally. For those who would like to gain an agile mindset, it is an essential set to practice:

1 – Truth

When we have nothing to hide, it makes it easier to be truthful. When we are providing high levels of transparency through the practices of agile time-boxed sessions (planning, scrums, retrospectives, etc.), we are given the chance to keep everyone up to date on our own progress and that of others. Being able to tell and ask others about our progress, issues, blockages, allows others to provide the input they need to keep an agile practices moving toward expected goals.

2 – Acceptance

Every member of an agile team works together to transcend judgement. The team accepts its differences and looks to build products for their engaged stakeholders. This does not guarantee that the product will always be exactly what the stakeholders are looking for. When the product increments are being reviewed, some features might be rejected despite the best intentions of all parties. This means failure has occurred, but not in the conventional sense. Failure that can not be learned from is true failure. But with an agile mindset, we find out why it failed, accept that it happened, but we do not give up on the sole fact that failure occurred. In that sense, we accept failure as knowledge of what does not work, to then build something that does.

3 – Commitment

To be part of an agile team that consistently never gives up, we need be committed to that team on a regular basis. This means we are engaged to the team, and we are learning on a regular basis. Being committed to finding new ways to implement better product features, better processes, better approaches in general. If we leave a team at the first sign of disagreement or disappointment, we are not truly committed.

4 – Respect

Gaining respect is very hard to come by these days unfortunately. This is mainly because some people think that respect comes with their work titles and experience. When you join an agile team, you all are meant to regard each other at the same level. The level of respect moves up as everyone learns to communicate with humility. This means using regular respectful terms like “please,” “thank you,” and “you’re welcome.” Surprisingly, many have forgotten to use these fundamental words when working as a team, but we can observe that teams who have incorporated them into their regular communications, have the utmost level of respect for each other.

5 – Self-Discipline

To obtain a high level self-discipline, one must be able to act on their own initiative. It is part of self-learning and can be enabled by being surrounded by supportive team members. Having self-discipline can help in determining when is the right time to act. We might be tempted to tell others what their flaws are, even in the attempt to help them improve. We may even be tempted to compulsively straighten out someone who is out of line. Having good self-discipline implies that one can hold back in disputes, we see this especially when we can observe others who don’t get carried away with lesser cases of intimidation.

6 – Patience

We are living in a time when we want to see fast results. With agile practices, principles and processes in place we know that we are adaptively adjusting to attaining our goals, at times with the help of agile coaching and mentoring. However, this learning and adaptation also requires patience along with the other virtue of acceptance. When we are confident in the benefits of agile practices, principles and processes, we can afford to be patient since we know that everyone is heading toward the achievement of a common goal. This also helps while taking the time to ramp up on a sprint by sprint basis, or possibly with learning to put into practice, what is learned from agile training courses.

7 – Humility

Much like respect, humility adds to the ability of not only being conscious and aware of others’ contributions, but also showing that we are all part of the same system. When all members take on their agile team roles, there is no sense of judgement if one makes a mistake. The self-organizing team works together to transcend arrogance and sense of superiority, much like the equal importance of vital organs in a living being. One can not say the brain is more important than the heart and so on. With this analogy, we can say that all roles in an agile working team are vital, and no sub-part should be considered more important than the other, as there is no hierarchy.

Solidifying the Agile Team

As we can see these virtues are all interlinked and compliment each other. When adopted by all team members of an agile team, it solidifies the team and makes it incorruptible, stable, and strong. If we look at it from an individual perspective, this solidification still stands, and as we each are sub-parts of the team, we need to work on these virtues ourselves first. When we strengthen those virtues for ourselves, we are better able to contribute to strengthening the team and developing those agile solutions. This is common-sense is often overlooked, since we tend to expect those virtues more from others, and less from ourselves.

[Image courtesy of Stuart Miles at FreeDigitalPhotos.net]


Why Agile Planning is Time Well Invested

When looking at the cumulative amount of time invested in agile planning, you may be surprised to find out there’s a lot more used than a waterfall project. How many times have you made a purchase only to find out that you could have spared some funds if you would have taken a few more minutes or hours of research to get the best deal. If only you would have taken some time to plan in advance. Sure you can just return it for that 30-day money back guarantee, but why waste the time and effort after the fact? The reason here, is lack of planning. Like all things we are interested in, we tend to reduce the amount of time between something that we want so that our brains can register that point of fulfillment. But what if you really got what you wanted and without remorse? Wouldn’t your fulfillment be much greater? The answer is YES. Instant gratification is not always the best route especially if it means that you will have issues to resolve right after.

How is it that projects get into trouble toward the end and not at the beginning? The answer might raise memories of regular finger-pointing that took place in more than one of many likely scenarios. Anywhere from blaming the customer, vendor, unforeseen events, or employee incompetency. This creates an awkward situation and all egos get the best of everyone, so that eventually it becomes a race to prove who is the least guilty in the whole process. If you’ve reached that point, it’s already too late to fix the problem, and the situation is probably already highly toxic.

Cone of Uncertainty
Cone of Uncertainty

Understanding Risk and Uncertainty

In order to undo our regular mind programming to get to the end of a project to guess if it was set for success, we need to implement processes that give us the best use of our time and will give long-lasting motivation, satisfaction and gratification. In a typical project management life cycle, we might think of uncertainty as a steady plateau of risks and issues, but in fact risk is highly concentrated at the beginning and much less at the end of the timeline. Visually, this is represented by the cone of uncertainty.

The representation of the cone indicates that you know significantly more as time goes by. But what does this mean for everyone on a project? Toward your client, you need to be sure no promises are made, especially not at the very beginning. For your client, it means that they are risking time and budget without knowing what product they are getting until the near end of the project.

One-time Planning vs Iterative Planning

Now imagine this is a one year project, and everyone suspects they are up for some big surprises at the end. Now we figure, “let’s plan everything at the beginning and everything will be fine.” To be honest, most projects aren’t even that fortunate. It would be a step in the right direction. But what if changes occur throughout our project, as almost all do? We figure, sure let’s create that “change request” and do it. That’s alright, but what happens to the rest of what we planned? We still have to do it, and therefore our efforts get crunched if we try to keep the same timeline.

In the agile project methodology we have events such as release planning and sprint planning, so we’ve already taken care of change as part of the process. As part of the iterative process the agile team is able to adjust as they go along. While we are building-in the planning at the beginning of each sprint (agile games such as planning poker included), we know more and more as we go along and as a result we are allowing ourselves to take on the benefit of progressive elaboration. What this means over time is that as we know more and more about everything in the project (literally), we can plan accordingly so that as we get to the end, the product we set out to develop is as close as possible to what is expected.

In the end, there’s a lot more planning in agile that both you and your client must do (if comparing waterfall vs agile), but it is a lot more of what you want, and a lot less time-wasting will result. It can be seen as a good investment since you will have more time at the end of your project giving and receiving praise. You will have also avoided all that time trying to justify to your customer why certain features that were identified at the very beginning of the project, were not included. Certainly there are other factors to make the end-result a success, such as considerable backlog management and necessary stakeholder involvement, but this is just a part of what you can expect.


Top 5 Ways Agile Mitigates Risk

Top 5 Ways Agile Mitigates RiskIf you’ve ever been on the project from hell, you may be able to relate to the resulting extra costs, lost time, excess waste and lost customer satisfaction. Implementing agile properly can help reduce the occurrence of such shortcomings. The beauty of agile is that it is already tailored to reduce risk and therefore increase the value of the product being developed whether in a manufacturing or software environment.

Parts of an agile framework that promote risk mitigation

1 – Sprint Durations: We all know that the agile framework is founded on sprints and multiple iterations. We can tailor those sprint durations from 2 to 4 weeks once we complete the agile release planning. Is your project likely to be high in risk? Try reducing the duration of your sprint to the lower end of the range. The reason for this is that you are building in more frequent cycles for each of your deliverable features. Further to this, you get to revisit your planning cycle more frequently and determine the accuracy of your agile team velocity in less time, making it more predictable and therefore reducing risk over time.

2 – Retrospectives: At the end of each sprint you are meant to go over all the events and processes that went well and not so well. You then carry these results forward in to your next sprint as your “lessons learned.” Since you will be doing this for each sprint, the frequency of those retrospectives gives everyone on your team the opportunity to tackle ineffective processes, and the chance to implement more effective ones. This reduces your risk of being wide open to possible wasted initiatives.

3 – Backlog Grooming: The ongoing process of backlog grooming for your Product and Sprint backlog allows the possibility of revising and reviewing the priority and importance of the features your team will build into each iteration. This is primarily the Product Owner’s responsibility, but it is supposed to be done in conjunction with the inputs from the rest of the agile team roles and stakeholders. The more frequent the backlog grooming takes place, the more you are able to reduce the risk of ROI loss by not implementing lesser valued features, and implementing immediate returns from your agile solution.

4 – Promoting Transparency: When all stakeholders are engaged in a project, and being at the utmost expression of their intents and expectations, there is less risk for all team members to go off track and building an unwanted set of deliverables. Much of the transparency comes from what is gathered through the accumulation of the events that take place during the sprint such as: Sprint Planning, Standups, Sprint Reviews and Retrospectives. Each of them allows everyone in the agile team to know exactly what is going on and the risk of delivering anything less than what all stakeholders expected is lowered.

5 – Frequent Deliveries and Sprint Reviews: When we get to the end of each sprint it typically represents a similar implementation as one project management life cycle at a smaller scale. The development team is expected to deliver all backlog items that have reached their definition of “done.” Since all backlog items that were completed and demonstrated are added on to the existing product, there is no underlying wondering on how or what the finished product will look like. It is delivered at the end of each sprint, whether as the initial product deliverable or the increment of that initial product with additional features. Since we do this frequently on agile projects, the risk of wasted features is reduced once the product is delivered. Customers get instant gratification since they will get to use the product immediately.

Most risks can be avoided, as much as the agile framework will help prevent them from manifesting. The points to consider then making sure that the risks remain at bay, are to make sure that stakeholders are engaged to the greatest extent possible. It is imperative that the stakeholders involved are genuine and without hidden agendas. This would allow for quick turnaround to address risks and issues presented.

[Image courtesy of jscreationzs at FreeDigitalPhotos.net]