Pros and Cons of Scaled Agile Framework (SAFe)

pros-and-cons-of-scaled-agile-framework-safe

There’s definitely a lot of buzz these days on the most popular types of Agile-At-Scale frameworks that would enable a company to scale for larger teams and varying company sizes. Everyone wants to go with the most popular one and assume that it’s the most effective one. We are providing an unbiased view of the pros and cons of Scaled Agile Framework (SAFe). Just note that a more popular framework doesn’t mean it’s better, or at least in the context of adoption and use, it might not be the best one for your particular company culture, size, situation, growth, budget, etc..

Is Scaled Agile Framework (SAFe) the Best for Your Company?

Scaling for agile implies that Scaling = Increase, Expansion or Variation in Size. That being said, it needs to be considered, what will be the amount and speed of growth as well? Not to mention, the budget and time required to sustain the adoption of the particular framework of choice. Below we explain SAFe and how it may or may not be best for your organization. We also take into consideration what may be the reasons for it’s popularity and growth.

An Unbiased SAFe No-Nonsense Assessment

The Scaled Agile Framework has evolved by far as one of the more popular of the frameworks. Created by an Agile pioneer Dean Leffingwell, this framework requires your teams to get certification through mandatory courses from a Certified Trainer (SPC and/or SPCT depending on the certification). Add to that the small “e” at the end of SAFe seems like a desperate attempt at an acronym just for the sake of making it a buzzword in and of itself. Does it come from the “e” in Framework? In any case, without the “e”, SAF wouldn’t sound all that nice from a marketing perspective, so most of us have just gone along with it, no questions asked.

Nonetheless, SAFe provides a well outlined Roadmap with a large variety of courses to get a better understanding of the multiple levels of scale. The types of courses will depend on the size and maturity of your agile teams within the enterprise (Essential, Large Solution, Portfolio, and Full).

With the entire spectrum (or as much as it possibly could be covered) of a scaled framework in an agile context, it needs to be outlined that in addition to the cost of courses, they also require annual subscription renewal fees, and much like the structure of software updates, will have major (x.1, x.4, etc.) and minor updates (3.x, 5.x, etc.) that a certified associate would need to maintain. That is as much an advantage as it could be a disadvantage. We outline those below.

Advantages of SAFe

  • Whomever is certified will need to make sure they have taken the latest exams and courses to be able to claim they have the latest knowledge on the framework. This also allows everyone to look forward to the latest and for those who have the time to update to take courses, read, and pass the exam, it is a great way to stay engaged. It is by far the most flexible and adaptable to an enterprise’s size and growth.
  • They do provide as much support as possible to provide access for members to a dedicated community and forum as a source of resources and answers to general and specific questions. They also have an app that can be downloaded to your mobile phone, tablet, etc..
  • This framework is here to stay, and would most likely be increasingly popular, adding to the fact that it has partnered (to some degree) with Atlassian through JIRA Align as a fully compatible tool. Those looking to use the JIRA Align tool, are in fact encouraged to become familiar with SAFe since it is almost entirely built on the same models and sub-framework models. This framework also supports in-person and/or remote agile teams when using tools like Atlassian’s Align, so this is further confirms that it’s definitely keeping up with the times.
  • Number of certifications are diverse, they include over 10 Types of certifications ranging from the very basic “Scaled Agilist” (SA) to the highly trained and/or experienced “SAFe Program Consultant” (SPC). They also include the certifications for the many roles that are present within the framework so that could entice new members to specialize in their areas of expertise.

Disadvantages of SAFe

  • If you haven’t learned about the latest version of SAFe, and/or haven’t passed the latest exams, you may have to deal with the fact that your knowledge can appear to be obsolete. As an example, you might have gotten the 4.0 level certification, but did not yet have the time to update to the latest 4.6. These updates also come within 2 years (or less) of each other, so this could present some indirect peer-pressure if your teammates have all updated on their end, as you will be the “4.0” in the room. Also, you have only a few chances to pass the exam, and if you do not, you will need to start paying for them. There also seems to be a missing component to the Agile Mindset per se.
  • You will need to renew your certification fee annually, but that is common with most all other framework certifications. It should be considered however, that you will need to budget almost automatically on an annual basis, that everyone who will be maintaining their certifications, will be dipping into the company funds to keep it (i.e. # of certified employees x Annual Renewal Subscription).
  • Given the structure of the training and maintenance of their certifications, you almost need to be an employee of a company implementing SAFe, either due to factoring the cost and or time to get training, or the minimum class size to make it worthwhile. However, this does make sense to some extent if you are about to embark on the SAFe journey. It would not be worthwhile doing this on your own with no company or team to implement it with.

Concluding Thoughts

Due to it’s vast coverage and all-round spectrum toward agility, it would certainly require more than a few Agile experts to implement this framework. It would also require all members to adopt it, let’s face it, there’s no “one foot in the door” approach, it’s all or nothing for this framework, as are most. But right out the door, you would need to expect at least the minimal budget for training for all members of the enterprise in order for a successful implementation, not to mention the cost of maintaining annual subscription fees.

The benefits certainly outweigh the costs of SAFe implementation, however, the costs should be considered ahead of time so that the benefits aren’t misunderstood for purely optimistic outcomes. You need to take the “good” with the “not so good” in these instances, and it needs to be determined as to what the immediate pitfalls are if the first attempts at gaining ROI or roll-out to full implementation are not as successful as expected.

Agile Culture: Stop Wasting Time On What Can’t Be Resolved

When attempting to make great accomplishments, we tend to look at issues in the workplace, or in everyday life as opportunities to be resolved. This may distract from solutions that are very obvious and perhaps more urgent or easy to resolve. You may have heard of the expression “low hanging fruit.” Typically you would hear this when tackling a new opportunity, or when there’s a clear advantage to achieving a milestone or accomplishment.

Where is Your Company Placing Importance in Their Culture?

Keeping your sights on what the top priorities are, will likely keep things lean and mean. But outside the obvious, we are also referring to what is not obvious. Circular discussions in meetings, persistent and unattainable targets that never get met, can definitely be a drain on time, resources and motivation. Some companies tend to place importance on resolving issues that can’t be resolved as the next step to a break-through. This could be fine if there’s nothing else to do, but as we may all realize, time and resources are usually restricted. In a few words, why concentrate on what you can’t do, when you can concentrate on what you can do? So much time gets wasted on the “can’t do” mentality, when it’s just a matter of approach that needs a switch or refinement. Yes, this may seem a little philosophical at the moment, but being agile does really place importance on what is being done and how to adapt new ideas and processes to what was previously done.

When a team gets stuck in anti-patterns like analysis paralysis, a stagnant state that is usually caused by concentrating on what can’t be done at the moment, is a direct result to over-analyzing beyond the knowledge, developments, or tools available today. So if your team collectively doesn’t have the knowledge or tools, the low hanging fruit may just be to concentrate on obtaining the very knowledge or tools that will get you to the next step.

Getting out of Anti-Pattern cycles

A common cause of what may create a stagnant environment is the thought that all members of a team have all the knowledge needed to resolve an issue. But again, this is more of a pretentious approach whereby everyone avoids the realization that some learning is required. The problem is, nobody tends to want to step up and be the one to say that they don’t know. This kind of attitude is usually shunned upon and seen as weakness in many companies. But what does it really mean to be “weak?” Is it admitting that you need to do some learning and getting right to learning? Or admitting that you know it all and that you can waste everyone’s time pretending that it can be done?

Learning is Not a Weakness

Ultimately, what we can observe in the situation above, is that company culture can affect the decisions and approaches that employees will take. It’s not about always taking the safe route, but allowing for mistakes to be made, and also not to perceive those who admit to needing more to learn as being the weak ones in the room. In fact, this is probably the reverse, those that need the most learning and admit to it, will actually be your strongest employees. These are your true pioneers, as they have the approach needed to admit failure in times when it’s necessary to take a bold new step to a break-through process, or discovery. The company culture will guide that behavior, so it is best to re-evaluate and adjust accordingly.

[Image courtesy of stockimages at FreeDigitalPhotos.net]


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

The following is Part 2 of the previous post regarding agile’s 12 guiding principles, and why they are important for agile project management. For Part 1, << click here >>.

7- Working software is the primary measure of progress.

why-apply-agile-project-management-principles-2-of-2Since we can’t use what isn’t finished, there should be no reason to consider it as “done” until it really is complete. In other project methodologies, specifically waterfall, we measure progress as an overall percentage and consider that percentage as a measure of completion. Working software is the only measure from which we are considering progress since what does not work, has no way of receiving ROI. It’s like giving someone credit for climbing a mountain at 90%, but they never reached the peak. Further to this principle, it also confirms that if something doesn’t work, why would you consider it complete in any way, when there is no real guarantee that it will ever work.

8- Agile processes promote sustainable development. The sponsors, developers, and users should be able to maintain a constant pace indefinitely.

This principle calls out to respecting the human aspect of agile team work. To maintain and motivate an agile working team we need to consider balancing the cost of development to the cost of human quality of life. It therefore promotes a work-life balance as being the main consideration to sustainability of the long-term “constant pace.” We’ve all heard of burnouts and the detrimental effects they cause to sustainability. When considering sustainability, it’s not just about what can be profitable over time, but also considering people-conscious limits. Some companies don’t set limits or are afraid of telling their customers that they have limits on how long developers will do the work. They see it as a competitive advantage to have developers work long hours during the week or over the weekend. While it may seem advantageous in the short-run, it is not sustainable in the long run, as it will cause the team to burnout, get sick, or leave.

9- Continuous attention to technical excellence and good design enhances agility.

While it may be tempting to develop code, or product just once and give it a thumbs-up, it may not necessarily mean that it is optimal. This principle covers the need to always look into best practices before, during, and after the code or product has been developed. Even when reaching completion, there’s room to improve and update as necessary, and the iterative process or attempt to gain workflow automation in agile, allows for this to happen if and when needed. In software we can refactor the code so that it runs smoothly, however it doesn’t imply that the original code should have been done to the standard of “just enough” to get by. While developing an element of code or product, you need to design it with intent of how it will provide value for the end-user, since poor quality in the end will cause higher costs and time wasted throughout the product life cycle.

10- Simplicity (the art of maximizing the amount of work not done) is essential.

When developing products, we tend to get bogged down by how many features the end product will have. Knowing which features will be needed as a minimum viable product can be tougher than it seems. However this principle also looks at “amount of work not done.” It promotes the concept of working smarter not harder, since working harder doesn’t mean there will be any efficiency built into the agile solution. Being able to prioritize features is the key element to maximizing simplicity, as most customers fall for the illusion that a product with many features is a product with built-in value. However, what gets lost in that perception is that there is no value if 70% of the features won’t even be used by the end-user once it’s released. Being able to prioritize is certainly a hard-to-acquire skill and activity, but it is one of the essential pieces to building simplicity.

11- The best architectures, requirements, and designs emerge from self-organizing teams.

This principle leads straight to the agile team roles, and their ability to be “self-organizing.” This drives the idea that the best can come out of a team that is highly motivated, and has a high level of buy-in. When the architectures, requirements and designs come from the team closest to the product, you will likely get a better result than if they were imposed on the team from an external or top-down approach. It therefore leads to more a pull type approach from the team rather than a push type approach from upper management. The dynamics and results from a self-organizing team allows for the team to take ownership and pride in the product they will produce.

12- At regular intervals, the team reflects on how to become more effective, then tunes and adjusts its behavior accordingly.

Continuous improvement is something that resonates throughout an agile project. This agile project management principle calls out to the necessity of improving constantly and frequently with the mention of “regular intervals.” This of course implies that there is an iterative aspect to the tuning of becoming more effective, however it is not limited to just one period of time. The use of agile retrospective events is certainly the highlight of reflecting over ways to improve what happened in the previous sprint, but this principle also doesn’t limit it to just that. We could almost say that this principle should be carried on a daily basis, and with the agile team looking to find ways to “tune” themselves regularly. When looking at it from a waterfall vs agile perspective, we must consider that most waterfall projects only do this once in the project management life cycle and likely at the very end, when it’s already too late to do anything about it. Regular intervals for tuning and adjusting behavior makes it more pertinent and effective since it will be addressed throughout multiple sprints and it will allow a chance for the improved adjustment to be implemented.

[Source for Agile Manifesto Principles: Manifesto for Agile Software Development]
[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)]


 

5 Ways to Recondition a Waterfall Mindset to an Agile Mindset

5-ways-to-recondition-a-waterfall-mindset-to-an-agile-mindsetThe hardest part about attaining an agile mindset is undoing the beliefs and experiences of the past, especially if they were set over years and years of performing under a waterfall project methodology. Many would agree they had would have rather just started off with agile right from the start, instead of now realizing that experience must be undone. But like the expression says “better late than never.” Those who now have their eyes open to the benefits of adopting an agile mindset know there is no turning back. Or maybe that’s not as easy as it may seem. Undeniably, we are always influenced by our past experience and reprogramming our mindset to challenge our waterfall vs agile beliefs can come into play at any time.

Here are 5 ways you can recondition or progress toward an agile mindset:

1 – Keeping your priorities in check

If there is one thing that a waterfall methodology makes us lousy at is practicing our priorities. Since in waterfall we rely on a project plan with features set at the very beginning while expecting few changes later on, we lose the sense of why we are developing features later on that we no longer need. You may still see this in certain instances in agile project whereby the client still asks that all the original scope be delivered by the end of the timeline even when they may realize there no longer is any value to having some of those features. With an agile mindset all stakeholders would better understand that the project is a success as long as the prioritized features (not necessarily the entire product backlog) were developed within the agreed timeline.

2 – Knowing the difference between variable and fixed timeline

Referring to the previous point, in waterfall we agree on a timeline that we then may need to extend if there were any delays or unforeseen gaps that occurred. In agile we can fix the timeline if all stakeholders agree to priority of the features that they would like to have implemented. If all the top priority features are implemented by the end of previously determined set of sprints, it very likely will not need to have the timeline extended. That would also allow everyone to walk away with confidence knowing that the most important features were implemented. This basically means you need to adopt the concept of a fixed timeline and variable scope from an agile mindset, vs the fixed scope and variable timeline concept from a waterfall mindset.

3 – Avoid mixing project Gantt charts with Sprint and Kanban boards

Some of us might be tempted to report to many stakeholders and provide multiple types of reports in general. This could be internal auditors, PMO, upper management, etc. What you need everyone to realize is that there is no need to report in so many ways. In waterfall methodologies we tend to use “unlean” processes that give rise to the tendency to send a different report to each stakeholder in the hopes that everyone is reading them thoroughly. The truth is, some of these reports may be so complex, that most will look at them without a critical eye, only to be surprised that the report had raised many risks that surfaced. This is where having an agile mindset would come in handy. Mostly all stakeholders including the agile team are concerned about progress and the rate of progress. Keeping it simple with the use of Kanban or Sprint boards, and providing easy to read information radiators like Burndown, Burnup, or Cumulative flow diagrams will give a quick and informative idea on where it all stands.

4 – Dedicate yourself to agile training in all forms

We should not just learn about agile methodologies and claim we know all there is to know. Agile working tools evolve over time and it’s important to keep your ear to the ground on what the latest developments and ideas are from the industry experts and peers. Simply having a discussion with colleagues that have similar interests in agile implementation is a start. But as you would notice there are many other means to sharpening your agile mindset and agile tools. Participating in regular industry forums, conferences, agile training courses and annual tours can be highly beneficial and open your eyes to some concepts that were not previously discovered. Also picking up some books on agile, and reading a few from time to time will make sure you are feeding your way to improving your day-to-day ideas on how to promote and implement agile in your immediate work environments. Finally the scrum master role should be well instated, at some times with the help of agile business coach on board with your team. The agile coach in particular can gauge and see what can help improve what may already be in place, and furthermore stimulate ideas and get everyone elevated to an agile mindset.

5 – Keep asking yourself why certain processes and values have been adopted into the agile methodology

There are some in the industry that have a skewed idea of agile. Mainly because it’s something they may have heard someone else talk about and it just may seem to be a common buzzword. Those with a waterfall mindset may just think agile is a process, and will treat it as such. This will give rise to even more issues, as they may try to put sprints into place, and not really knowing why they are used in the first place. For instance, they might not actually believe in delivering anything beginning with the first sprint, although technically that should be possible. Also the duration of the sprint should be determined on how risky or how much change in the priority of the backlog items you expect to have. The main point here is to always be asking why certain processes exist and why they would be beneficial to the overall methodology. The other side of the coin is that some will implement agile in an environment where it isn’t even necessary, “if it ain’t broke, don’t fix it.”

Bringing these tips into consideration will help alleviate the built-in or innate experience that many of us have, especially if coming from a waterfall mindset. Also to be considered, is that nobody can switch on to an agile mindset overnight by reading an agile book or attending an agile conference. However, continuous learning, coaching and mentoring agility will certainly build on it.

[Image courtesy of Stuart Miles at FreeDigitalPhotos.net]


Bringing Continuous Improvement to Project Methodologies

To those who have never seen agile at work, it would seem a bit odd to think of implementing it at first. Most people would see the vast levels of acceptance while bringing continuous improvement to project methodologies and think it was literally impossible to put into practice. But that is exactly what Agile is, practice. We live in an imperfect world, but we also have come to the belief that “practice makes perfect.” We’re not sure if that expression became so popular because it rolled off the tongue so well, or because practice really does make things perfect.

Perfection is unattainable, but reaching perfection is attainable. Typically when we’re practicing anything whether it be a sport, hobby, or process, we come to realize that we have a tendency to do it better and better every time we do it. Upon completion we use expressions like “note to self” in order to be sure we don’t make the same mistake again the next time. Or vice versa, we make sure we try another approach that is slightly different. It is exactly this line of thinking that fuels innovation. Much in the same way, this is how Agile project methodologies became what they are, bringing speed, synergy, and continuous improvement through regular practice.

Why Tailoring Agile Impulsively is Not Recommended

bringing-continuous-improvement-to-project-methodologiesAs some will find out eventually, we will not likely have a truly perfect product by the end of the first sprint, and there probably will be some revisiting or refactoring later on. However, with the use of multiple sprints, the team is aware that there will be goals to practice constant improvement of the existing processes along with a learning curve with each iteration. Whether it be the result of bug-fixing, improved design, or better material for a longer lasting product, it is that very system of agile project methodologies that allows increments to be built upon with regular feedback. As an example we can refer to the much ignored and under-practiced Sprint Retrospective. As there might be a sense of time limitations, to get things closed off and ready for delivery at the end of a sprint, some teams and stakeholders will make the sacrifice of skipping the retrospective to do what is thought to be more productive completion work. This is in fact a huge sacrifice, since the habit of skipping the retrospective in itself will wipe out the need or perceived need to do one for any future sprint.

An instated workflow process that does not leave time for a feedback loop, will likely leave one out for all future workflows. When this happens, danger presides and can only be undone when someone with a persistent agile mindset (likely an agile business coach or scrum master role) attempts to inform everyone that it needs to be added in. As you will likely notice, the “swimming against the stream” effect will come into play. It will be met with much resistance to change as we know most groups are prone to. It also will be met with much discouragement and heartfelt and time-wasting debate since there will be many who will be on both sides of the fence.

Setting the Record Straight

This makes the point, agile project methodologies, principles, and mindset are in place to function like an entire working organism, the events that are meant to take place are much more effective when they are all in plugged in. If they are removed or tailored, there has to be a highly experienced agile working team with an experienced agile coach that could pin point the possible downfalls of removing any aspect. Further to this, the highly experienced team would need to come to the agreement that if the foreseeable pitfalls were to occur, the missing pieces will be added back in, and with certainty of knowing that the pitfalls are being caused by the tailoring process itself, much like “trial and error” in experimentation. If the agile team roles are made up of fully inexperienced members, therein will be the ultimate risk and error just waiting to happen at which point there is no easy return even with agile training courses. This is where the self-fulfilling prophecy will come into place whereby naysayers will state that agile doesn’t work in the form of the much dreaded “we told you so.” Continuous improvement has a lot to do with accepting change. When sprints are completed and done properly over time and with additional coaching and mentoring, it becomes much more effective and seamlessly risk-free so that changes become more acceptable.

[Image courtesy of Stuart Miles at FreeDigitalPhotos.net]


 

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]


5 Ways an Agile Coaching Philosophy Enables Agile Teams

5 Ways an Agile Coaching Philosophy Enables Teams to BE AgileAdopting an agile coaching and mentoring philosophy for your team can be very beneficial. Most believe that all that is needed to keep the agile team in good shape, is with the scrum master role. This may be the case sometimes, however the agile coach brings about much more than what the scrum master can do. This also applies more to larger scale teams where there are many scrum teams, and their respective scrum masters. The agile coach can take on the role of scrum master of scrum masters, but generally they can represent the organizational coach and mentor with the agile mindset. The title in most cases is not important, but the role itself is relevant to take on the following ways to inspire their teams.

1 – Showing the team how to be open

Many teams whether in their beginning forming or norming stage will need to build on their openness throughout their communication process. The agile coach would be there to explain and show the benefits of being truthful and communicating openly, without hidden agendas. Also they can help build on agile team roles that might be lacking direction or depth. Occasionally some roles haven been taken on without necessarily knowing the full extent that role may need to contribute. The agile coach can provide this additional support to getting those particular team members to acquire communication skills, and the benefits thereof, to their fullest potential.

2 – Modelling what it means give and earn respect

There is an old saying that “respect can not be bought, it must be earned.” This is saying rings true in all levels of an organization. The agile coach knows that they can’t go around asking that everyone respect each other, but they know that with proper demonstration of leadership, others within the team will get to see from the agile coach how the proper use of communication and demeanor truly benefits everyone through the interactions with the teams. By earning respect from their peers, not just by title, but actual use of meetings and personal interaction.

3 – Bringing out special talents of each team member

It is very likely that peers within a team will compliment each other on the great achievements they’ve accomplished. The agile coach however, can make note of skills and talents that each individual will have. Being able to reach out to those looking for continuous development, the agile coach can provide mentoring sessions and guidance. The agile coach may also be able to set up agile games that promote deeper learning for the team, as well as agile training courses specific to each role or situation.

4 – Optimizing team performance

When the team has reached its top performance and velocity is steady, the agile coach can look to make sure the dynamics of the teams are protected. By that, it means that despite any change within the teams, the agile coach can identify if there is a good fit for the current team if someone leaves or joins. Also, where there is concern for self-organizing capabilities, the agile coach can explain how everyone can take on challenges and decisions on their own. This can be done by story-telling or giving real examples of how top performing teams have accomplished similar accomplishments.

5 – Keeping a positive outlook in the face of failure

Inevitably with all new developments and innovations that team attains, there is a likelihood of failure and disappointment. In those instances, the agile coach should be able to reach out to the agile working team and explain that it is normal and acceptable. The other important aspect that the coach will do is keep the team’s spirits up despite that. True team building comes with being able to show that everyone can get back up and do better the next time. Regardless of the number of times failure may occur in their agile solutions, the team can learn that it will be able to accomplish a lot more by not complaining or worrying about the past.

As we can see, the adoption of an agile coaching philosophy can facilitate many of the organizational aspects that we take for granted. Some of the points raised above may happen on their own, or may even be forced. Having an agile coach on your side is a choice, but when it comes to company values to keep their teams in top shape, wouldn’t you rather have someone there to give proper encouragement that teams need when looking for guidance?

[Image courtesy of David Castillo Dominici at FreeDigitalPhotos.net]


10 Signs of Unsound Agile Individuals

Top 10 Signs of Unsound Agile IndividualsYou may not always notice at first, but you may come across certain individuals within agile product management circles who although they may consider themselves practicing agile principles, may in fact not be.

Here are a couple of tell-tale signs on how to identify unsound agile individuals, or get some indication that someone isn’t grasping agile as it is meant to be:

1 – They use the term agile to refer to a process

You may see this one as the most common. Where the fact that their development cycles involve the use of sprints, they interpret this as being agile. This is one of the most common reasons why misinformed management see agile as ineffective. Most software development managers and their teams will take certain aspects of agile, mainly in the form of an agile tool, and then try to explain to management that they are doing things in an agile project methodology. Due to the lack of overall understanding of what agile is, this inevitably leads to failure, and the creates the misconception.

2 – They say agile for Kanban/Scrum/XP/Lean Interchangeably

Rather than referring to the synthesis of methods, processes, practices, principles and ideologies of agile solutions, some individuals seem to identify with only one agile practice, i.e. being knowledgeable in Scrum, they speak in terms of Scrum in itself as what it means to be agile. Certainly practicing scrum would be a step in the right direction, but it’s not all there is.

3 – They have a command-and-control approach to management

When someone uses their work title as the only form of authorization and direction to make decisions, you will inevitably see lack of innovation and creativity from the teams they were meant to lead. Micromanaging is counter-intuitive to the servant-leadership approach that agile promotes.

4 – They would rather work alone

You may notice those that like to just do things on their own, and see it at the most effective way to get things done. Agile is not accomplished in a bubble and it requires the full spectrum of agile team roles and the synergy that it provides.

5 – They prefer low-effective forms of communication

If the person you are speaking to prefers regular use of emails, texts, and IMs as their principle forms of communication it will short change the entire chain of communication. The reason for this is that most of those messages lose the original intent they are meant to convey. When we consider that 7% of all communication is words, 55% visual, and 38% vocal, we can see that there are some serious limitations to just communicating in a written form.

6 – They think that agile alone guarantees project success

This comes from many misconceptions, but mainly it principally comes from limited depth in understanding how to become agile. Some people like to throw around agile as a plan for success because they read about it in an article, when in fact they do not realize that using it as a “buzzword” for a solution does not mean there would be the proper steps taken to succeed.

7 – They expect others to “do-as-they-say”, not “do-as-they-do”

This is similar to command and control, but goes beyond structure. We are referring principally to when you have someone who likes to do things contrary to what they’ve recommended or said. Also where they tend to see a sense of impunity, bullying and envy among teammates is along the same lines of where someone has lost the grasp of what it means to be a part of an agile working team.

8 – They do a lot of talking and not enough listening

When you see that someone is regularly the only one talking or interrupting in a conversation, this means they are likely unable or unwilling to be active listeners. This likely could be interpreted to mean that they don’t value your opinion and would rather be in a position of influence rather than compromise or collaboration. This is not to be confused with active participation. If someone is asking relevant questions they are likely listening very closely and want to hear more about what others have to offer in the conversation.

9 – They judge unsparingly

We’ve all heard of tough love, but when you have someone who persistently rants and gives negative, unconstructive criticism it puts a halt on all team synergy. Nobody wants to contribute in an environment where they will be judged.

10 – They have low EI (Emotional Intelligence)

Many people are stuck on having the most knowledge, the most expertise, the most qualifications. All of that means nothing if you do not have a personable way to approach those you interact with. For someone having a low EI means that there’s a lack in ability to distinguish between their own emotions and those of others. This makes communication and trust (among other things), very hard to accomplish. In the presence of someone with low EI, most will interpret that person’s actions as being negligent, narcissistic, arrogant, or unsympathetic.

Giving these examples will hopefully shed some light on the types of signs where others who would likely present themselves as agile mindset individuals. This is not to be used as a means to single out those types of individuals to be banned from such teams, however we do encourage regular agile coaching, training, and courses to help educate them about the impact they take on their overall environment. It is difficult to find people knowledgeable in all areas of agile, as most pick their area of comfort and become highly skilled practitioners in their specific area of expertise.

[Image courtesy of iosphere 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.


How Servant Leadership Increases Agile Team Productivity

Did you ever give a very clean concise explanation to someone who was as asking very general question? You did this with the best of intentions so that you could share your knowledge and hope that the answer to the question was helpful. It probably was, but what you realized then, the only definition of the topic that the person will use at all times was the one you just gave them – without discovering for themselves what the many areas that topic may hold.

It’s not always about what to say, but mainly what not to say

how-servant-leadership-increases-agile-team-productivityAs servant leaders in agile teams, regardless of our the project methodology as waterfall vs agile, we need to identify where there is that fine line between giving finite information vs opening up the level of discovery on that topic by giving just enough to get interests elevated so that your team or individual members will continue to learn about that topic. No doubt, there are many modes of discovery for people in agile team roles. It’s human nature to stop learning when we think that we know all there is to know. Sometimes we feel as though, whatever our leaders or agile business coaches tell us, is all there is to know. This is where there are fine lines that servant leaders might cross. If you appear to be the only source of information in the eyes of your agile working team, you will always be that source and you will not be doing your team members any service. This will prevent your team from becoming self-organized.

Leaving the mindset of absolute control and absolute direction

It is important to realize that there are ways to keep someone on the path to staying innovative and productive. Mainly as servant leaders you need to keep your answers short but provide enough indication that there are multiple relevant sources of information. Certainly this comes with time, you need to somehow be a subject matter expert, or at least have access to some. But the main idea is how to keep the communication clear and give just enough to fuel the need to know more and more, and on a regular basis. The other side to this is to make sure there is no judgement when failure is imminent. We need to see failure as one of the ways we learn. The important part about seeing where the current path is leading to, is not to give too much information where you become the point of reference to each step. It’s easy to follow steps and that is where you may stagnate the innovative mind to just want to follow instead of taking the initiative.

Inspiring has a greater impact than informing

Whether providing agile consulting as agile servant leaders or as agile business coaches, there is greater benefit to being increasingly aware of what some of the side effects of our leadership and communication style may be. It’s fun to give information and know that it’s appreciated. However, if responding usually in the form of a question (i.e. what do you think would resolve this issue? or what issues do you notice come up frequently and why?), you may get your team to think self-sufficiently and get thinking on how to progress with much more impacting results. This will promote the need to attend more agile courses, or better yet create a system of agile games that enables issue resolution. Do not limit the amount of information you can provide, but give just enough and think along lines of quality, not quantity of the information. See it as planting a seed. The growing of the plant grows best on its own while giving it right amounts of soil, sun and water at different times. This is the best way to ensure its growth. It will grow without the expectation that you will need to pull on the stem to expect quicker and faster growth.

[Image courtesy of ratch0013 at FreeDigitalPhotos.net]


Top 5 Agile Myths and Misconceptions

If you are planning on becoming agile at your workplace, you’ll most definitely come across some colleagues that have a negative outlook about what’s coming. The thing to consider is that everyone wants the benefits of being agile but they are not likely to be committed to actually making the changes to become fully agile. This is where myths and misconceptions come into play to justify potential failure down the road. Keep in mind this failure would not be from implementing agile itself, but rather the lack of actually implementing agile to its fullest potential.

Here are the top myths and misconceptions that must be dispelled or at least brought up in situations leading to disappointing results:

1 – Agile is Chaotic – It certainly isn’t easy, but when implemented properly and with many trained and experienced practitioners, agile can be very organized and structured. There is a lot more planning that goes into agile projects when compared to waterfall. In fact planning is done at the beginning of every sprint, but it doesn’t stop there.

2 – Agile is just a recent trend – Believe it or not agile has been around for many years, and it has taken on many forms over time. The term “Agile” is perhaps more recent in terms of use, but the methodologies that were around previous to what are now encompassed by what we’ve deemed as agile, have been around for many years, and still continue to be used.

3 – Agile needs a lot of training – You need to start somewhere, but experience is valued more than training. Being on an agile project while being open to learning about it, can give you all the training you need. Certainly that comes with asking questions, reading a few books or attending a couple of seminars of agile courses along the way, but there’s no more training than any other process in today’s workplace.

4 – Agile is for small teams – Many people who have worked on large projects might see that agile and sticking only to the basic agile team roles is unattainable, at least in the strictest sense. However, an agile working team can be scaled and works very well with the proper structure put in place. Beyond that, keep in mind agile isn’t purely about the processes it imposes, but also relies heavily on the people and collective emotional intelligence of the agile team adopting it.

5 – Agile doesn’t require testing – For those accustomed to waterfall vs agile projects, most would be expecting to find or look for the QA testing schedule. The one that typically comes at the end of every waterfall structured project. With agile the testing takes place simultaneously throughout the project and is done in a more seamless process, usually facilitated by tools like jira. The testing (inspection) goes on from beginning to end and is part of every sprint.

[Image courtesy of Stuart Miles at FreeDigitalPhotos.net]