Warning! Parkingson’s Law in Agile Projects

One cannot avoid unseen forces in effect when agile in place. That said, when practicing Agile you must be aware of the “Laws” at work. We’re not necessarily talking about the ones that bring about the police, judge and jury if you break them. When looking at Parkinson’s Law, we’re talking about a law that you can’t avoid whether you like it or not. 

What Is Parkinson’s Law? And How it Works

Parkinson’s Law is all around us, and it’s part of our everyday lives, but since we find it to be a natural progression of what is constant in our day-to-day, we think nothing of it. So it’s time to wake up! What about Parkinson’s Law? Well it states that “work expands so as to fill the time available for its completion.” That is to say, we usually think of estimating work (in whatever form you decide), to the extent that we know about the available resources. If you were asked to go fill a cup of coffee for someone, or yourself for that matter, would you be likely to fill it to the top, or just halfway. Sure we can think of the times we would fill it halfway, but more often than not, we fill it to the top. So we’re not saying Parkinson’s Law is an absolute or that it happens 100% of the time, but it does certainly happen often.

How Can You Spot Parkinson’s Law at Work?

avoiding-parkingsons-law-agileUsually when we estimate during planning sessions, we may be lead to fill up the time we have to do something, with the time we have available. So let’s think of this on 2 levels. In sprint planning we naturally fill in the Sprint with the story points based on our average velocities from previous sprints. Now that’s where Parkinson’s Law works well. And that’s actually why we use story points, to remove the concept of time, and falling into traps, not just Parkinson’s Law. But say for instance, someone asked you to estimate a Story (or Use Case) in real time, and imagine that you were somewhat influenced previously (or at that very session), where someone said in low-key that you had about 3 days to do it. It may very well take 2 days to complete the work, but are you being rational at that point? Or are you going to really take some time to figure out how long it may actually take? Any task, no matter how simple or compact, deserves a fresh set of thoughts and ideas to assess it’s level of complexity. Reason being, you wouldn’t want to over (or under) estimate a task if it truly wasn’t the time it could’ve actually taken.

What Are the Consequences?

Assume you estimated every task you had with what your colleagues told you is the “standard.” You could very well just go with the “standard” times, or better yet you may give yourself the excuse that you didn’t have the time to run through the actual requirement, or the task seems so simple, it shouldn’t take longer than the “standard.” Think about what this means with regard to the overall value of a project. The concept behind which sprint planning, depends on your flexing the metaphorical estimation muscles. The more you practice, the better you will become at being increasingly accurate. With unrealistic estimates, you may actually inflate budgets, and the perception of waste will be greatly increased, and the level of competitiveness drops. Many teams can fall victim with this Parkinson’s Law at work, when many tasks that shouldn’t take very long, end up being logged with double or triple the time it really took. You may be able to get away with it sometimes, but what if your client isn’t that naive?


[Image courtesy of stockimages at FreeDigitalPhotos.net]

5 Inefficient Communication Habits That Cause Waste

5-inefficient-communication-habits-that-cause-wasteIt’s not hard to believe, we have a tendency to waste a lot of time communicating whether it be through face-to-face, talking, texting, emailing, or chatting online. The problem with that is that everyone’s bad habits can get the best of you whether you like it or not. Have you ever gotten that email where you can’t decipher whether it was a request? some sort of prank? or yet something absolutely serious?

We all know the situation could be better, as many do in today’s day-to-day lifestyles, people claim they no longer have time for the simpler things in life, just relaxing or taking the time to do something truly for themselves. Below we’ve identified some of the bad habits that you may want to avoid, and for your own sake, be able to identify from other before you get pulled unnecessarily into someone else’s trap:

1. Putting “Quick Question” in the Email Subject Heading

The intent of someone who puts “Quick Question” in the subject heading of an email is certainly obvious: they have a need to resolve a question quickly. The problem is that the intent is a setup for one’s own need to get immediate gratification at the receiver’s expense. The question you have to ask yourself is how “quick” does a question need to be answered, and is it worth stopping what you are currently doing only to be distracted by someone else’s supposed “quick” needs. You may need to consider that there are times when someone’s need for a quick answer is valid i.e. a life-or-death emergency situation, but if you are seeing this type of email regularly coming from the same person, it indicates that they are certainly not taking their own time to get a little more organized. Then ask yourself this: Would you distract yourself from someone’s “quick” question, if they can’t get themselves organized? We are tempted to say “yes” if it was a situation where it was our customer, after all they are paying for it. Or are they? In the grand scheme of things you are doing both yourself and the customer a disservice. First, they will never learn how to organize themselves with prioritized efficiency, and second it will always be to your (and your company’s) demise as you keep your phone or emails rolling in for around-the-clock response times that weren’t necessarily part of the contract.

2. Calling With No Advance Warning About A Complex Question [something you couldn’t possibly have a quick answer to anyway]

We all know, receiving a call from someone in need is something urgent, should be taken seriously. However, you should be cautious about the intent of those who call others about a complex question that needs to be answered on the spot. The quick answer to that is “Can I call you back with the answer?” If they don’t want to give you the time to research and respond, then you know you may be facing issues about your response later on. The other way to prevent any misunderstandings is to ask that they send you a followup email outlining all issues in the question that needs to be addressed. Note, we are referring to a “complex” question. Failure to get this outlined in writing could present some issues down the road, as you run the risk of having to address “unmentioned” questions that they “thought” they asked you during the call.

3. Requesting Something That Could Easily Be Answered From An Online Search

Unfortunately, we all get this a little too often. In the age of Google, we still tend to get even those seemingly difficult (and more often simple) questions that can be easily answered by just looking it up online. As you may have guessed so far, we are referring mainly to the question “Can I answer this on my own?” Forcing someone (whether directly or indirectly) to answer a question that can so easily be answered is not only going to frustrate them, it could potentially cause you to not be taken seriously by peers. It could potentially create the “boy who cried wolf” scenario.

4. Sending Really Long Emails

Sometimes it’s necessary, but beware of the really long email. Unless you are sending out a newsletter or occasional email with reference to updates within your department, a really long email is what can cause many to just ignore right there and then, and for the next time around. We often forget that an email was meant to send a message, not a book… On this topic we are mainly concerned about quality not quantity. Many write their emails while restating the same issue many different ways throughout the body of the message. This only frustrates the reader while forcing them to read to get to the bottom of it, then only to notice they wasted more time reading it than it was worth. If you can’t get your message across in fewer words, then others may not see the point in reading your email. A good way to avoid this is re-read your message before sending it. If you find that you get bored or confused by your own email, consider that many others will certainly feel the same.

5. Sending Text Messages Even Though They Don’t Get An Immediate Response

The texting phenomena is at full stream. We all seem to do it, sometimes while driving, walking, or talking (if you do then STOP!!!). Let’s admit it, we all feel like it’s ok to text no matter what other activity is going on around us. The problem is that we don’t realize that we are creating a norm that we feel is ok, while many others (the silent majority), feel is inappropriate to do. Among these, is sending multiple consecutive messages to your peers while they may not be able to respond immediately, or better yet, they may not even see them by the end of the day. The last thing you want is having someone catching up with a backlog of messages, as the sender is rambling about something that couldn’t wait for input from the receiver in the first place. If that tends to be the case, a phone call may be a reasonably better alternative.

While the topics in the list above may seem obvious, there are many who don’t realize the auto-pilot mode that technology has all put us in. That is not to say that technology is bad. But what it does say is that we need to take it a lot more seriously, and more importantly we need to consider how we are affecting others in the process. If you are not taking your own habits (and time) seriously, you can’t expect others to do the same.

[Image courtesy of marcolm at FreeDigitalPhotos.net]

An Agile Hybrid Approach – What to Consider

an-agile-hybrid-approach-what-to-considerMany practitioners and project managers look toward creating an agile hybrid approach by doing a mish-mash of waterfall with agile methodologies. However, what we are going to look at are the different agile methodologies and the ones that are actually compatible with each other. It must be said, that for any team about to proceed with tailoring different agile components, it is something that should be done with expert practitioners who understand the pros and cons of adding more than one methodology into practice. It is advisable that a solid team of expert agile coaches and scrum masters are present on such a team so that the evolution and benefits can be implemented effectively and safely for the entire team.

Agile Frameworks Compatible in Creating a Hybrid Framework

1- Scrum

Most members of an agile team know agile by way of the Scrum framework, but what most have yet to see is that although it presents a solid framework for complex projects, it could use the help of other methodologies. What we can take from Scrum however, is the concept of building backlogs with work items that get listed in priority. The second automatic component is the importance of a Product Owner who actually owns that list and ensures that they represent what the stakeholders will expect. This is done through prioritization of the backlog for the rest of the team so that a potentially deliverable product is completed and accepted by the stakeholders by the end of each sprint.

2- Extreme Programming (XP)

From this methodology we can gather the best practices for the development team including Refactoring, Test Driven Development (TDD), continuous integration (CI) and collective ownership. What we tend to see in these practices are the concept of work process that is conducive to the flow and efficiency of the work being done.

3- Agile Modeling (AM)

This methodology is usually considered an effective addition to most of the other agile methodologies. It has mainly two components: Modeling and Documentation. The Modeling component encourages best practices such as Just Barely Good Enough (JBGE), Architecture Envisioning, Lookahead modeling, Active Stakeholder participation, and Model Storming among others. The Documentation aspect covers the necessity of documenting continuously (not to be understood as documenting excessively), document late, executable specifications, and single-source information.

4- Unified Process (UP)

Over the years the Unified Process has taken on many forms, mainly the Rational Unified Process (RUP) from which it derived directly and sometimes is mentioned interchangeably. However, other examples include OpenUP, and Agile Unified Process (AUP). What needs to be considered is that UP is not just a process but an actual framework. What makes it useful is that it’s highly customizable with characteristics covering an iterative and incremental development process, architecture centricity and risk focus. From this framework we get 4 phases that are used for creating a project, namely in the following order: Inception, Elaboration, Construction, and Transition. Much of what is used in the Disciplined Agile Delivery (DAD) framework has adopted this but DAD has also added to this.

5- Kanban

From the realm of Lean practices, we get Kanban. This method framework builds on the concept of Just-In-Time (JIT) at its base, but it has many tools that derive from it, one of them being the Kanban Board. The Lean aspect comes with the concept of limiting work in progress to prevent waste. Along with that comes the concept of visualization of progress. With the use of Kanban, the level of product quality becomes optimal since all areas of waste (Transport, Inventory, Motion, Waiting, Over production, Over processing, Defects, Skills) are removed. Along with that, the high level of visibility of progress that the development team is something that is of utmost importance. As most who have practiced Agile will see, the aspect of visibility is a very important characteristic to creating and maintaining team synergy.

There are certainly other methodologies that can be put in the mix, but it must be considered that tailoring an agile hybrid approach is an art, not a science. That is to say, if key components are added from one project to the next, it will likely not create the same results for every project. There are many other factors that come into play, and would not simply be a matter of methodologies used, but also the variation of players involved, that is certain to change the project landscape at any moment’s notice.

[Image courtesy of ratch0013 at FreeDigitalPhotos.net]


 

Agile vs Waterfall – How an Agile Lean Approach Reduces Time to Market

When creating a product that we are excited about, we might already start to think about how to get it out to the market as soon as possible. When taking a lean approach if we were looking at it in terms of project methodology (agile vs waterfall), it is certainly quicker than waterfall. This however raises the question about what the primary features of your product will be. If you or your team have already wandered off into the abyss of creativity, and started to think of every possible feature, it’s fine to do so (without wasting too much time). But ultimately to get started, it’s important to get back to thinking about the core.

agile-vs-waterfall-how-an-agile-lean-approach-reduces-time-to-market

The first step to accomplishing this is to think of scaling your product with a list or series of MMFs (Minimally Marketable Features) to create your MVP (Minimum Viable Product). This could be more difficult to do than you might think. If your team has already gone really far in the amount of features your product will have, you’ll have to take a few steps back, and do some agile release planning with the intent of categorizing them (or backlog items) in the following order:

1 – Is this feature adding to necessary working functionality?

As part of scaling back your product to be a minimum viable product, you have to think about the basic features and functions. In today’s technology enhanced world, we may feel blinded to the extreme amount of features that we get when buying something like an electronic device. Some may come with a user guide that, let’s admit, only 10% or less of buyers will actually read. Many just need 5% of features that the product can provide. That is not to say that the other features aren’t useful, but you can easily appeal to the larger part of the market that is looking to use the product for the majority of uses. For example, think of a product like the smart-phone and think about how many people actually use it just for talking or dialing numbers to call people. Most consumed the majority of the device’s use by texting and emailing, and reading. Imagine if you spent 90% of product development time (or project management life cycle) on a feature that is only used 5% of the time. You wouldn’t be attracting much of the market. But we have to admit, if you bought a smart-phone, it’s very basic function would be to make or receive calls. Using iterative deliveries such as what we find in sprints, can allow for those quicker more frequent releases.

2 – Is this feature marketable once implemented, and what is the perceived ROI?

There should be some considerable market research for the product you are willing to produce. More importantly, the research should also be able to provide the level of market demand. With that level of market research, the Product Owner and Agile Business Analyst should be able to determine the short to long-term benefits of that product once begin it is released to the market. This could be listed out as ROI for each of the features being planned to include in each iterative release of the product. For example, Feature 1 = $10,000 returns, Feature 2 = $5,000, Feature 3 = $100. By looking at the list you will immediately know that developing Features 1 and 2 will give you a return of $15,000. Especially if you knew that your project could only budget for development of 2 features.

3 – How soon can it be completed? implemented?

The time to develop and release a new product will ultimately determine how fast you can get your product out to the market. The key will be to take the features that would provide the highest level of return for the lowest amount of development time or cost. This might not be a simple exercise, but with proper analysis and calculations, your agile team, should be able to decide which those features give the highest result. This reduces risks in multiple forms. Primarily the risk of waste is reduced, such that the possibility that the product feature becomes obsolete before it is ever released is diminished being sold and in the hands of your consumers.

4 – Is there a foreseeable or complimentary enhancement release that can easily be added to this feature?

If you are working on Version 1 of your product, you may already realize that a few more plug-in features can be added to the product with minimal effort in future releases. Your competition may already be looking at those added features before you get them out to the market, so it would be important to consider carefully before you develop your first version. Having a well laid out agile release plan, would allow you to see if the market will be looking for an update to your product relatively quickly. This would also depend on the nature of your product, since software is relatively more easy and less costly to update and distribute than a piece of hardware.

5 – Can the product be easily adopted or used?

With reference to point 1 above, if you are developing a product that the market can use right away, that is certainly a plus. The other side of the coin is, whether or not the consumer-base is able to use your product right away and would it fill an immediate need. The intent to having your product out to the market quickly, is to be the first product that the market will adopt and hold on to for future updates. If there are many competitors out there producing similar featured products, you have to compete on the level where you are releasing the most amount of updates or upgrades in the form of additional features so that the perceived benefit of your product is the highest among your competitors. If you keep in mind, the higher the perceived benefit, the market value will go up. With a higher perceived value, there is an automatic willingness for the market to pay more for your product, and that gives higher ROI.

Taking all points into consideration with an agile mindset and lean tools can more easily facilitate the team’s ability to get your product out to market. Since after all, the best way to consider simplifying all product options and how to simplify them further, is more easily attained by engaging the experts themselves.

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