The Importance of Time Completed and Time Remaining in Estimations

importance-of-estimates-time-completed-time-remaining/One of the first things many team members on Agile projects lose sight of is the importance of tracking their time spent on their tasks identified in their Backlog Item. Whether it’s a User Story, Sub-Task, Enhancement, etc., logging hours spent is of absolute importance to make sure further Sprint burn-downs, velocity, and estimates will continue to reflect increasing accuracy. The tendency of some teams is to use their Backlog Items (in either of the forms mentioned above), as a scope tracker. However, time-tracking on a daily basis is of absolute importance.

How Your Hours Should Really be Logged

Once a backlog item has been completed, only then do team members log their hours, and it most likely ends up being the hours set in the original estimates. Not only is it best practice to log hours spent on your backlog items on a daily basis, but also to re-assess what the remaining hours are. Just because an item was estimated to take 16 hours, and you performed 8 hours so far, it does not mean 8 hours remain. Sure it would seem logical that it would come down to a simple mathematical equation, but it’s truly not what is meant by “Time Remaining!” So what should be put in Time Remaining? It’s really about what should be required to complete the task at the moment of logging your time mid-course. What that means in our previous example; if you logged 8 hours for a task that was originally estimated at 16 hours, you may come to realize, there’s only 4 hours left. It’s as if you are re-estimating or re-assessing what is left to do. A number that does not match what was originally estimated, is perfectly fine either from a downward estimate or an upward one (assuming it’s done correctly of course!). This is by far the best way to know if original estimates were done accurately, and gives team members a gauge on whether those estimates continue to be assessed correctly in later sprints. Better yet, if needed, the variance of estimation accuracy can be calculated as well.

When Time Remaining is Not Taken Seriously

The problem arises when developers mark down remaining estimates as a straight-line mathematical equation, since it would imply that all original estimates were done properly, and makes it impossible to weed out the estimation imperfections during Sprint Planning from Sprint to Sprint. The other issue that may happen is that there could be a skew in estimations since some developers will take their time to complete a task (if they see that they’ve completed it early), and then hurry their task, or worse, bust the estimates if the task was underestimated. From there, it may escalate to having only underestimated tasks as being incorrectly estimated. What that gives is a mix of underestimated, and on-time estimates. As you can see, when the hours are totaled up for that sprint, the skewed results give an impression that generally all tasks were underestimated, and the lack of transparency will make the team draw separate conclusions. This also affects your burn-down charts and interpretation of velocity, all the while the cycle of trust within the team is broken.

How This Helps Continuous Improvement

Seeing the above situation in a different light, if you were on a trip where the original travel time was supposed to be 10 hours, only to find out the ride is shorter than expected, you would probably want to know, right? The same would apply if it would be longer than expected. To make the point clearer, your expectations, and that of others depend on the transparency of what remains to be done on any development effort. This aids efforts for future estimations and weeds out any further potential to be disappointed.

The next time you may be faced with a seemingly obvious question “How much time is remaining?” it may need to be seen as “How much time is needed to complete the task?” It’s not just a simple math calculation. Remember that estimates are called “estimates” because there is a chance that they will not be “accurate.” Having those numbers accurately represent “time remaining” allows for the estimation process to get better and better, as the team looks back in retrospect and compares their estimations for future Sprint Planning sessions.


 [Image courtesy of lekkyjustdoit at FreeDigitalPhotos.net]

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]


5 Important Agile Interview Questions

5-important-agile-interview-questionsIf you are looking to recruit someone new in your company whether it’s for a new Agile implementation, or to replace someone who left, it’s important to get specific Agile interview questions asked up front during the recruitment and selection process.

Below we’ve outlined some basic yet relevant questions that you can ask a potential candidate, and gauge whether or not they are going to be a good fit for your department, team, or organization. That is not to say that your candidate should answer all of them correctly to be considered the perfect member to add to your team, but they should be within some level of understanding on why these questions are being asked.

1 – What does Agile mean to you?

For this question,  you should be looking for closely related Agile principles and values. It’s important to see how close your candidate can get to mentioning and explaining those values of:

A. Check whether your candidate is referring to how they like to interact in groups, looking to share ideas and solutions while promoting team building and servant leadership. If they tend to emphasize the processes and tools, this might not be such a bad thing but you should try to steer them into more group dynamic and group transparency based topics. If they don’t respond or get sidetracked to following orders and making sure everyone in their surrounding work environment must conform to process, this might be a less suitable candidate. However this is not the only basis on which to make your decision.

B. Many who try to impress in an interview, tend to throw ideas out of which documentation they would create and use throughout an agile project. It’s important to see if your candidate sees the value of delivering a working product. If they are the type of person that is trying to make sure everything works around the product except for the actual delivery of the product as necessary, it’s important to see if they are making this distinction.

C. If your candidate is more concerned about how many contracts they can get out of the customer, they might not understand the importance of the other aspect of Agile values which is to try to gain as much customer collaboration as possible. You wouldn’t want interactions with the client to be about how to draft a new contract every step of the way. Remember it’s the soft stuff (people skills) that’s the hard stuff, so your candidate should be able to demonstrate how they are able to engage the customer into problem solving discussions and come to mutually beneficial agreements.

D. If your candidate seems to be more concerned about project plans and gantt charts, they may be stuck in a waterfall mindset. These plans in an Agile setting are a distraction to actually executing the process of developing actual product. For this you should be trying to see if your candidate is looking solely to write-up a plan and make sure everyone follows it (command-and-control) vs. being able to point out the inherent importance of having a team self-manage and create a product based on prioritized features that a market is ruling as important for ROI.

2 – What types of Agile processes have you implemented before?

With this question, you should be able to get the candidate to point out if they’ve actually implemented Agile methodologies whether they are Scrum, XP, Lean, etc.. Key words that you can look for are those found from the beginning to end of the cycles. Words like Sprint Planning, Kanban Board, Burndown Charts, Retrospectives, etc.. You should be able to check and see whether they have an understanding of the ceremonies and events that occur through iterative cycles. More importantly, they should be able to point out why those processes exist and how they fit together to make a fully Agile environment possible.

3 – What is your idea of an Agile mindset?

The character and personality of your candidate fundamentally must be a good match to the agile mindset if they are to practice Agile. Common sense, right? however you might come across some who think they know what it means to be Agile but portray a completely different mindset. You may want to have a look at our other related articles that shed some light on what qualities an Agile Mindset has (or does not):

4 – How often must Agile be practiced during a project?

The answer to this one is simple: at ALL times! If your candidate starts to mention which aspects of agile should or shouldn’t be implemented, as if to compare switching it on or off like a light switch, this person may not actually understand the importance of synergies built over time through agile principles. This question is best answered in a holistic overall “outside the box” sense. Agility is not to be pulled apart and peeled only for certain parts and principles. This leads us to our next question.

5 – Can Agile be tailored?

This is a very important question as the candidate should be able to read between the lines. In practice it’s well-known that you should not be tailoring Agile right from the start unless you have many years of Agile experience. Many of the reasons why Agile fails, is because it is tailored to fit another mold, i.e. trying to fit Agile into Waterfall, and this is where false beliefs about the effectiveness of agile come in to play. Your candidate should be able to respond with a “yes, but…” type of answer. From there they should be able to point out that tailoring is not ideal, and that it would take place perhaps after multiple iterations and sprints, where the agile team notices certain events or processes that aren’t working well for them. This would usually be coming from the Sprint Retrospectives and observed in each successive retrospective to see whether they’re continuously improving or not. This makes the tailoring process more safe and tuned to the team’s needs.

[Image courtesy of Ambro at FreeDigitalPhotos.net]


 

5 Healthy Workplace Habits by Using The Scrum Process Model

5-healthy-workplace-habits-by-using-the-scrum-process-modelThere are many ways to do work, and to be honest, not many people are taught how to create good or optimal workplace habits. That being the case, workplace dynamics can range from being a cesspool of toxic behavior and habits, to one that has an environment of the utmost respect for one another. The environment created in most workplaces is a cumulative result of individual behaviors happening at a given time, much like society, but only much more concentrated since we’re left to interact daily from morning until afternoon with our work colleagues.

The following factors, as part of the scrum process model, are found to reduce stress, anxiety and in turn increase workplace  motivation and productivity:

1- Intermediate Deadlines (The Sprint)

It has been shown that when work has no confinements and there is “no light at the end of the tunnel,” the level motivation steadily declines over time. Further to this, the likelihood of burnout and employee turnaround starts to become more and more apparent. The Sprint as a 2 to 4 week timebox that is meant to happen iteratively, gives a mini-project sense to accomplishing each round that expectedly gives a delivery of product. Intermediate deadlines in this case, tend to occur frequently and regularly give a sense of accomplishment and cyclical motivation.

2- Sense of Purpose (Sprint Planning, Sprint Goal)

When Sprint Planning takes place, there’s a chance for everyone on the team to set their sights on how much work can be estimated for the upcoming sprint timebox. As part of the Sprint Planning activity, a Sprint Goal is set by the Product Owner that enables all involved, the focus and vision as to what they will all being working toward by the end of the Sprint. Consequently if there is proper buy-in at the start with all sights on the sprint goal, it will give that sense of purpose that everyone can focus on and relate to for achievement.

3- Doing Things Better Every Time (Sprint Retrospective)

As most workplaces allow their employees to become complacent, and resulting in lack of performance feedback, the Sprint Retrospective allows for that time where everyone as a group can look at what were the great and no-so-great behaviors of the previous sprint. This sets the course for getting better on an iterative basis as this is done in each sprint. What some people don’t realize is the advantage of thinking of what to “stop doing” and what to “start doing” is already a two-fold way of taking on good habits. This is a bi-directional thought process, since most people typically think of improvement in one direction such as “just do things better” and leave out “what bad habits should I leave out of my routine.”

4- Great Support Network (Daily Scrum/Standup)

Everyone knows that an ongoing support network is a great positive factor. The daily scrum/standup allows for everyone to confirm what they were working on the previous day, and what they will accomplish for the remainder of the current day. The key part of team support for that day is when impediments and blockers are reported. This is a chance for everyone to chip in and see if there’s a way to resolve the blocker. This isn’t just the job for the Scrum Master, but also for the rest of the team. So the blocker announcement starts at the scrum meeting, but gets resolved outside of the meeting with the relevant members of the team, most likely those that are knowledgeable in the area of the impediment. Everyone else continues on their existing tasks to make sure productivity is not impeded.

5- Being Able to See Results  (Daily Scrum/Standup, Sprint Review, Sprint Retrospective, Sprint/Kanban Board)

The structure from which we have a sprint allows everyone to see results on a regular basis. Whether it’s on a daily basis (Scrum/Standup) or by sprint duration (Sprint Review, Sprint Retrospective). We are able to see and experience results on a very constant basis. Along with tools such as the sprint/kanban board that are high-touch/high-visibility in nature, allows for everyone to see progress and status as it happens.

On a Final Note…

It must be said, getting everyone aligned to proper workplace habits can come naturally to those who adopt the scrum process model. It’s not necessarily about having a process, but actually  having a positive attitude and confidence that it will work. Creating that momentum in your day-to-day, will likely come with resistance at all stages of development, but those who are on board, will quickly become visible to the organization and will certainly become the agile champions and leaders.

[Image courtesy of Ambro at FreeDigitalPhotos.net]


 

7 Reasons Why Some Corporations Hate Agile Methodologies

7-reasons-why-some-corporations-hate-agile-methodologiesConventional business wisdom will tell us that we should tell our shareholders what they want to hear so that the price of company stock will rise. This displaces the value that corporations will aim for toward the shareholder and not necessarily toward the customer. This is where Agile methodologies conflict as the goals of a conventional vs. agile mindset are not the same.

Below we will outline how conventional corporate mindset thinking conflicts with that of an agile mindset:

1- Focus on customers over shareholders

As a company you would likely be trying to appeal to both the shareholders and customers, however it’s usually shareholders that will come first and customers second. Based on agile principles and agile mindsets, the priority undeniably reverts to customers first! Everything in the agile value mindset reflects a goal toward delighting the customer and the accepted agile methodologies and processes show much evidence to conclude this is always the case.

2- Perceived Loss of control

The thought that there could be teams that are self-organized and self-managed leaves a sense of control loss by management at any level. Management may argue that if the teams are self-managing, then what is the use for management in the first place. Unfortunately this is a false perception, since management would likely still be needed for areas of business operations that are not covered by the day-to-day of agile processes. 

3- Perceived loss of authoritative rank and power

Most conventional businesses will follow the militaristic approach as the known command-and-control approach to business structure and organization. Companies with a highly vertical (hierarchical) structure being at one extreme and the more flat (horizontal) type of organization at the other end. Those with a heavy emphasis on a vertical structure tend to harbor many of the anti-patterns of an agile approach. Be it either from lack of trust or lack of willingness to let go of authoritative power, many companies that have a top-heavy structure will not be easily capable of converting or adopting agile.

4- Focus on delivering immediate customer value over immediate revenue

As many have noticed the periodic reporting of large businesses, especially those whose stocks are on the market exchange, the revenues that were forecasted must hold up in the later quarters or else face the consequences of lost share prices and market share overall. This places emphasis on how soon work can be done and made billable rather than concentrating on the actual scope and process of work to be done. The best interest of the customer is left behind as resources are stuffed into the work processes, rather than allowing agile methodologies to take their course.

5- Too much learning and too much change

Most who have reached a respectable level within their company whether it be in management or non-management (technical) levels, may tend to sit on their laurels all too often. Although we seem to hope that society is a meritocracy, let’s face it, some people just get to the higher positions based on years of experience rather than actual willingness to continue learning and changing. To this point, there are some who live up to their titles, but others who don’t and wouldn’t care to collaborate with their fellow colleagues either because they have underdeveloped people skills, lack of extensive knowledge, or because it’s seen as too much work to learn and share.

6- Customer value is cumulative while overall benefits only come if done properly in the long run

If there is anything we can’t promise is what will happen in the future. It is highly unlikely that an executive management team will wait to see if there will be continued commitment and support from their existing customers. Since much of what builds up customer satisfaction retention accumulates over time, most companies do not factor that in and will take the shortest path to generating revenue. Building quick untested solutions for the sake of having something billable does not look after the best interest of the client. This extends further to the disappointment of employees who are being told what to do, without buy-in. Some companies would rather sacrifice growth of their existing team synergies to result in high turnovers from unmotivated employees, rather than keep them on-board. This is why at the first sign of lost profits, most companies will take the immediate route of terminating their employees. The reason? It’s the quickest and easiest way to lower costs. However in the long-term it proves detrimental, and usually leads to further “voluntary” fallout where employees lose sense of purpose from the previous setback of layoffs. This affects customer relationships as the level of expertise and direct customer engagement from employees diminish.

7- Increased level of transparency perceived as very risky

Most companies do not share at many levels for fear that the truth may  reveal too much for many to be comfortable with. High levels of transparency bring about a sense of fear that the information provided can be way too sensitive or used against the company. Although transparency may reveal positive and negative aspects of a company and its operations, most companies tend to err on the side of non-transparency to avoid the risk at all costs. This approach of course lowers the level of trust and therefore the level of engagement from customers as they find out from latent communications throughout the project life-cycle.

[Image courtesy of cooldesign 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 Negative Sounding Terms Used in Agile Working Settings (But are not!)

10-negative-terms-in-agile-working-settingsSome level of confusion may occur with the use of certain terminologies, likely when a relatively new-to-agile member joins an agile working team. Let’s face it, we are living in a society that requires us to know expressions, abbreviations, or acronyms on what everyone is talking about as common knowledge. It’s certainly always best to ask the question up front, but for those worried about terms that typically come up in the context of agile projects, we’ve outlined some below.

Those joining an agile project will naturally learn quickly about every day agile terms that are not usually used in any other project context such as: scrum, sprint, retrospective, standup, etc., but what about the mention of some less familiar terms? Some might come up only a few times within a sprint or throughout the entire agile project.

Here’s a few examples of terms, that could raise some eyebrows upon first hearing them. You can rest assured most have a positive context despite their seemingly negative sounding words:

Burn-Down

The instance from which we use the term Burn-Down is with the Burn-Down Chart. This term has very little to do with burning anything down, at least not from the context of lighting something up with a flame or fire. The Burn-Down Chart, as an agile tool, gives a graphical representation of how much work is left to do in the sprint. The main component that is being represented is the amount of scope or story points completed, while giving a visual cue of agile team velocity.

Peer Pressure

Many of us started to hear the term Peer Pressure in our high school days. This brought about times of being pressured to fit in with the crowd by doing acts of stupidity, substance use, or criminal activity. Performing any of the acts would reassure acceptance for that member, but if not they would face possible rejection, bullying or humiliation. Peer pressure in agile working environments comes about more from the high level of transparency and visibility, than actual pressure from the agile team. The occurrence of peer pressure comes about when the individual reports their own performance and realizes that they may be stalling or slowing the rest of the team down. This could be a result of over committing, or just simply under-performing within the group. This typically would require the individual review with the agile business coach or scrum master role to see where or why they may not be a fit for the current team.

Burn-Up

Similar to Burn-Down, this term is also used when referring to an agile information radiator called the Burn-Up Chart. This chart can viewed side-by-side with the Burn-Down chart, but today most software applications can show them both superimposed for better understanding of progress. While the Burn-Down Chart will show how much scope or points being completed. the Burn-Up Chart shows how many hours are being used to complete the tasks. Both charts together will confirm whether or not estimates that we set in the sprint planning are on track or not.

Servant

For those who have taken on the Scrum Master role, they may learn eventually that their preferred form of leadership is that of “servant-leadership.” This in no way means being a servant in the traditional sense, but rather one of the most effective ways to lead by example. So the idea that a servant as a slave is very far from the intent. Servant-Leadership in principle is meant to serve others so that others can grow and become self-organized, rather than the opposite “command-and-control” approach to leadership that creates drone-like behavior from others.

Playing Games

Much of agile training and learning can come about from playing agile games. Typically when you think of playing games, it is thought that people are just horsing around, not being productive or wasting time. In the context of agile teams, it is very much encouraged to play games to get familiar with agile workflows, planning, iterative development, and team building activities. There are numerous and still new and innovative ways that agile practitioners play games to learn while adopting an agile mindset and principles.

Disruptive

When we think of the term disruptive on a day-to-day context, we tend to think of disturbance or distraction. In an agile context and mainly technological circles, disruptive commonly refers to innovation. To be part of an agile team that has created a disruptive technology or invention means that there has been a major advancement, so much so, that it actually brings the previous function, or use of the previously existing technology to obsoletion.

Pigs and Chickens

While working on an agile project, you may come across some farm animal terminology, specifically Pigs and/or Chickens. These terms are perhaps used less and less recently, but they came about from an anecdote that demonstrates the level of commitment of certain members of the team. The story refers to a chicken asking a pig to start a restaurant together called “Ham and Eggs.” The Pig answers “no thanks” since the Pig would need to be committed (since Pig has to be killed to make Ham), whereas the chicken would only be involved. This basically gives an idea of the different levels that certain stakeholders and agile team roles have in a project and how they should participate in sprint events such as the daily standup.

Pirate Metrics

For what is now being used as a part of agile metrics, you might think this has something to do with piracy. The term pirate metrics comes from the mnemonic term AARRR (the pirate rant) to remember the 5 key metrics to measure increasing revenue: Acquisition, Activation, Retention, Referral, and Revenue.

Fail-Fast

This concept about failing fast may confuse early agile practitioners since most people are told early and for most of their lives that failure is the opposite of success. Certainly this term can raise a sense of fear of failure and cause some resistance at first. The concept of Fail-Fast is a principal agile concept coming from inspecting and adapting. It is an approach to encourage early detection of failure, to be able to learn or fix quickly before sunk costs are incurred. In principle you would want to know if a project or product feature would fail at the beginning instead of reaching the end to find out it is a failure.

Empiricism

We’re not referring to empires and conquests with this term, although we can certainly get carried away and think that the project may take on that type of personality. Empiricism is mainly a scientific approach that requires a process to be observed and tested so that it can be considered universally effective.

Learning and Understanding Terms for Better Communication

There are certainly more of these types of terms that are used in Agile, but note that the best way to start learning, to keep learning, and to contribute to the discussions that come up in an agile project is by communicating with same type of vocabulary. There are already many factors that increase the risk of breakdown in the communication process, so we may as well get on the same page and know up front what common terms everyone may use use in the project.

[Image courtesy of photostock at FreeDigitalPhotos.net]


 

5 Signs Your Agile Team Roles Might Be Falling Behind

After a couple of weeks, your team has undergone a couple of sprints. As an agile coach, scrum master, or team member you start to wonder if there are any signs that the agile team roles are performing up to par, or better yet, if there are tell-tale signs that your team is likely to under-perform in the long run.

Below are some distinct signs that you need to look out for:

1 – Velocity is fluctuating and unpredictable

The point behind tracking and managing velocity is to expect that eventually the velocity will stabilize at some point. This will go hand-in-hand with being able to make decisions on how many remaining sprints can be used to eventually complete the prioritized items in the product backlog, or how many points will be used for planning the subsequent sprints. If the team members are being pulled in and out of external assignments or multitasking on multiple projects, it would be expected that velocity is not going to stabilize any time soon. This type of issue can be rectified if the scrum master role or agile business coach point out to team members that they should remain exclusive to the one project being measured.

2 – Scrum and standup durations go off topic and outside timebox period

In many circumstances, we tend to go off topic on meetings where the members involved lose sight of the purpose or agenda of the call. If everyone is stuck on trying to resolve an issue on the scrum or standup, there needs to be a clear signal to all, “make a note of the issue,” and the respective members close to the issue can work together to help resolve it after the meeting. As a self-organizing team, all members should eventually realize that the scrum/standup meeting is not about problem solving, nor is it entirely about status. Some agile practitioners do not realize that the meeting ultimately is about commitment to the team. The update comes when saying what was done yesterday, but what will be done today, given there are no blockers, is the commitment. Beyond that, there should not be any reason why a scrum/standup would take so long.

3 – Overly dependent on fill-in roles

5-signs-agile-team-roles-might-be-falling-behindThis issue comes with improper planning, lack of agile training, or missing skills assessments. It becomes a very awkward situation when large gaps in skill sets occur in the project. This may also be a result of disengaged stakeholders that may have misrepresented their requirements early on. The main idea behind having a self-organizing team is to be sure they can cover each other’s skill gaps in a general sense, but if there are huge gaps, i.e. there’s nobody with agile business analyst capabilities, and project requires one, there certainly needs to be a discussion around why that position isn’t filled right from the start. Other issues start when agile team members are partially assigned to another project at some point mid-flight in the project. As an example, if a Product Owner is not fully engaged, the backlog ordering and prioritization will suffer. This may put a strain on the entire team to fill in for. Since the Product Owner is the one who knows the business values of the features to be ordered in priority, it’s not necessarily an easy gap to fill. Someone needs to step in and take over that role on a full-time basis so that the backlog is groomed effectively and with the expectations of the stakeholders.

4 – Loss of transparency and hidden agendas

There may be instances when some members are no longer motivated, perhaps because of personality incompatibilities, or superiority complexes. Obtaining an agile mindset is not easily achieved by everyone, but there are some that fall back into command-and-control mode, or don’t feel  the need to attend agile courses. In doing so, this may bring about the sense that some team members are trying to “one-up” the other by keeping information hidden from others until the last possible minute, and catching everyone by surprise. Nobody would want to find out toward the end of the sprint that a particular feature can not be implemented, if that information was actually known at the beginning.

5 – Repeated anti-patterns that were identified in Retrospectives

As you come to the end of a sprint, the team’s opportunity to provide continuous improvement feedback is driven in most part by the retrospective session. This allows everyone to identify what they did that went well, and didn’t go so well. Further to this, there are categories of instances that should be identified as what to “continue doing,” “stop doing,” and “start doing.” As you might guess, the hardest part to do out of those three instances is the “stop doing.” We can see even in our present lives, that habits are hard to break, and in most cases we like to keep the good ones, but really try hard to get rid of the bad ones. Over time it may be normal to see that certain bad habits within the agile team continue through multiple sprints, however if you’ve reached past your third or fourth sprint with the same habits continuing forward, there may need to be some further process analysis to zoom into why these ineffective workflow processes or habits have not been extinguished. A simple and fast way to get to the root of most issues, is through activities such as asking the “5 Whys” or drawing (and populating) a Fishbone Diagram.

What to Expect From the Team

The agile working team is one that learns and innovates over time. If everyone is there only to keep up with the status quo, the team will inevitably under-perform, too many negative issues will be left unresolved while leaving no time to address value-added tasks. The team should be engaged right from the start, with ample opportunity for buy-in from each member. If there are doubts being raised early in the game, that might be normal, but keeping those doubts on the radar, and perhaps even asking the product owner to add them to a risk-adjusted backlog (no matter how ridiculous they may seem) can provide some great benefits over time.

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


How to Define Your Kanban Workflow Management

Whether or not your workflow management tools include a kanban board with a workflow process via an actual (low-tech) office wall or having a (high-tech) virtual agile software board, you want to avoid having too much WIP (work in progress). If there is too much WIP, you may create too much waste or risk in the form of lagging partially completed work, or excessive waiting. Furthermore, excessive WIP will also cause blockages to be obscured and hidden.

Here’s an example of a comprehensive status workflow automation from beginning to end:

New –> Open –> In Progress –> Code Review –> Code Committed –> QA Ready –> QA In Progress –> QA Passed [or] QA Failed –> UAT Ready –> UAT In Progress –> UAT Passed [or] UAT Failed –> Closed/Done

A more simplified (and recommended) view of this workflow process would look like this:

To Do –> In Progress –> Done

how-to-define-your-kanban-workflow-management/In either workflow solution, it is in everyone’s best interest to place WIP limits. Before your sprint would start, you should be able to determine based on the story points and team size what the typical limits should be as per the agile team roles and team members. These can then be calculated and factored to represent the overall WIP limits for your board to prevent too much clutter. However as you can guess, the comprehensive example above or any type similar to it, would be the most difficult one to set limits to, since the stories would be scattered everywhere across multiple statuses.

Like any complex procedure, it is best to break it down into smaller parts. A simplified board should be used as your dashboard view to get a consistently general view of progress.  Once you’ve scaled down your board as much as possible the WIP limits will become easier to manage. A notable mention is the status “Blocked” which can be shown with a more specific indication of which workflow the block occurrence came from, i.e. Blocked in Dev, Blocked in QA, or Blocked in UAT. This will further allow for a quick response to the blockages.

The example given above assumes workflow management processes are happening simultaneously, but it would certainly be more appropriate to create some workflows in later sprints or specific milestone date if you knew, for example, that UAT was coming at a much later time. The key is to keep it simple.

[Image courtesy of Stuart Miles at FreeDigitalPhotos.net]


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]


 

Sharing is Caring – Why Transparency is Necessary in Agile Teams

In agile consulting there is much emphasis on having all parts of the agile team working together in the same direction, that even when there is conflict, it is mainly constructive. With that we tend to give rise to quick failure only to give a quicker solution so that progress continues. When all parts don’t communicate and hold back, the system falls apart. An agile working team is based on the principle of being transparent – no secrets!

The Agile Team Dynamics Working Toward Transparency

When we think of the primary agile team roles (Scrum master, Product Owner, and Team), we might be easily swayed to think that they are a distinct and separate part of the whole. In some ways yes that is true, but in every other way, they are a very synchronous part of the agile system. That is to say, they always communicate much in the same way that the human brain works with the other parts of the 5 human senses. When one part hears a sound, the entire brain works together to analyse the situation so that when there is a sense of danger or harmony, the reaction is acted upon without judgement and without resistance. All parts work together to give a common result.

sharing-is-caring-transparency-in-agile-teamsThe other benefit of all senses working together in one’s brain, is that new and more intuitive senses come into creation. When you see that everyone thinks about something right before someone else is about to say the same thing, you know that there’s much more at work than the regular senses can provide.

What Breaks Transparency

If there is one thing that breaks all forms of constructive progress is fear. Much like Roosevelt’s saying “Only Thing We Have to Fear Is Fear Itself’,” that is a very true statement. Much like every other team, there are causes to what might keep others from sharing and communicating information effectively, and therefore reducing transparency.

Here are a few of such causes of fear:

1 – Failure – Someone can have a great idea, but as a result of fear of failure will hold back from sharing with the rest of the team. Think of all the ideas we had that we thought were ridiculous, but when someone else acted upon it, we found out it was a great and highly popular or profitable invention.

2 – Lack of Trust – When we get over the fear of failure we may traverse another realm of fear, the lack of trust. We might actually get to the point where there is self-confidence in what we might be able to contribute to the team, but only to be taken down by the possibility that someone might steal your idea or even worse, take all credit for it.

3 – Past Experience – This is a big one. Due to societal anxieties and situations that cause many to try to avoid the past, many try to undo or avoid what may have happened in the past. What most might not realize is that every team is different, even more so, is that there are many more situations out there that might seem the same as previous one, but are in fact not the same due to even slightly different variables.

4 – Success – You might ask, how can this be??? Well many people think that success is going to change their life so in many ways this is the fear of the unknown. What this might mean to a further extent is that many are afraid of the attention gained by success because they don’t know how they will react to it.

How do we get past fears?

Agile processes and methodologies strive for bringing out intuition to the team members and groups that adopt them. With that comes about the need for many angles toward increased knowledge and practice. The ways in which to accomplish agile solutions, and perhaps break the habit of fearful thinking is by attending online agile courses, agile training sessions, agile games, agile consulting, or better yet just get an agile coach on your team.

A business coach would be able to analyse and review an agile project methodology, and pick out what areas of fear that could be holding a team down. Getting to the bottom of what is preventing the team to move forward will get team members to gain speed and velocity much more quickly and build on team synergy that is remarkable if set in the right direction with the right ideas.

[Image courtesy of Ambro at FreeDigitalPhotos.net]