Using Kanban to run your start-up aka Stephen Covey was the first Agile Coach

Using Kanban to run your start-up aka Stephen Covey was the first Agile Coach

Honolulu has a thriving startup community. I decided to present on this topic after attending the kickoff of the extremely popular start-up event, Honolulu Startup Weekend. While listening to the pitches, I realized that these potential new companies were ripe for some Agile basics. Many of them were already very familiar with Lean Startup and customer driven business development, but very few were familiar with the Agile techniques designed to manage day-to-day projects or business.

I like to consider Stephen Covey as the first true Agile coach. His 7  Habits of Highly Effective People addressed key  effectiveness techniques that align nicely with Agile. My favorite one is First things First,  "To live a more balanced existence, you have to recognize that not doing everything that comes along is okay. There's no need to overextend yourself. All it takes is realizing that it's all right to say no when necessary and then focus on your highest priorities." This is perfectly aligned with the Agile Manifesto principle, "Our highest priority is to satisfy the customer through early and continuous delivery of valuable software."

One of the techniques he uses for First Things First is to get people to understand  the difference between urgent versus important work. He wasn't the first to make this distinction, Dwight D. Eisenhower is credited with this quote: "What is important is seldom urgent, and what is urgent is seldom important."  What Covey is responsible for is the creation of the following time management matrix to help people distinguish where they are spending their time:

  • Quadrant 1 is for important activities you could not have foreseen, and others that you left until it was almost too late. Plan for these.
  • Quadrant 2 is for important activities that help you achieve your personal and professional goals, and complete important work. Focus here.
  • Quadrant 3 is for time-sensitive distractions. They are not really important, but someone wants it now. Learn to say no.
  • Quadrant 4 is for activities that are just a distraction. Avoid them if possible.

The intent of this matrix is to get people to focus on daily activities and plan their time within Quadrant 2. At the time of publication (1989), the most common technique for managing your time spent on important activities was to capture them in your calendar book. This was before phone apps or even the use of Outlook calendars. They were documented in those heavy DayTimers calendars that people carried everywhere. Covey's training courses suggested that you block time in your calendar to focus on important tasks and limit the time you spend on urgent tasks.

This fits nicely with Agile prioritization approaches and managing WIP. For the purpose of the audience last night, small business owners, I compared this approach of managing your important work in your calendar to the Kanban concept of prioritization using of classes of service and managing work in progress (WIP). I personally use this approach to manage my business every day. I have an online Kanban board (LeanKit) with swim lanes of important activities and I have WIP limit of a minimum of 6 hours of important work each day. I assume that at least 2 hours of my day will be taken up with unplanned urgent activities. I also use the Kanban Board to capture a backlog of ideas that may eventually become actual work. Here is an example of my business-oriented Kanban board:

Kanban

For those of you familiar with Agile techniques, it is easy to see how these techniques can be applied to many different situations other than software project management. I also believe that there are very few new ideas in Agile since these effective management techniques have been around for many decades and are just now being embraced within traditional project management. If Stephen Covey was a software developer, he would have made a great Agile coach.

For more information Kanban, check out my blog post or listen to my Introduction to Kanban self-study training.

References:

About the author, Dan Tousignant

Dan is a lifelong project manager and trainer with extensive experience in managing Agile software development projects. Though the role of the professional project manager is changing dramatically through these approaches, Dan coaches organizations on how to transition teams and organizations to Agile.

Dan has over 20 years of experience providing world class project management for strategic projects, direct P& L experience managing up to 50 million dollar software development project budgets, experience managing multi-million dollar outsourced software development efforts and strong, demonstrated, results-driven leadership skills including ability to communicate a clear vision, build strong teams, and drive necessary change within organizations.

Dan holds a Bachelor of Science majoring in Industrial Engineering from the University of Massachusetts, Amherst and is a Certified Project Management Professional, Professional Scrum Master, PMI Agile Certified Practitioner and Certified Scrum Professional.

Dan Tousignant, President

Cape Project Management, Inc.

http://CapeProjectManagement.com

https://capeprojectmanagement.learnupon.com/store 

Please follow and like us:
Do you know where you are going with your Agile implementation?

Do you know where you are going with your Agile implementation?

What every executive needs to know!

Over the past decade, I've been involved in more than 20 Agile projects. Whether as a team member, Product Owner, Scrum Master, or Coach, I've had the opportunity to play a role in many successful projects. These days, however, I’m being brought in (more and more often) to prevent Agile failures. It isn't so much that the projects themselves are failing, but that organizational impediments are preventing success. Why? Version One’s most recent annual State of Agile Survey found that an “inability to change organizational culture” and “general resistance to change” are the most common reasons Agile projects fail.
.
I believe the bulk of these failures can be traced back to the initial implementation phases. For instance, were these organizations truly aware of what they were getting into? And did they realize the types of change that Agile requires? In my Scrum Master trainings, I emphasize the need for organizations to truly understand and embrace the change they are about to embark upon. We discuss what type of organizational change is needed for a successful Agile implementation. The three types of organizational change we look at include:
.
Developmental

  • Improvements on processes, methods, or performance standards
  • Done in order to stay competitive
  • Causes little stress to employees

Transitional

  • More intrusive because it introduces something completely new
  • Typically a planned change such as a reorganization, merger, acquisition, or implementation of a new technology
  • May cause instability and insecurity

Transformational

  • This leads to an organization that is very different to the organization that existed prior to the change
  • Since the change is radical, the organization and its employees need to drastically change their views, strategies, and assumptions
  • Such change can alter an organization’s culture, ethos, and systems

Most assume that Agile is a developmental change. They see it as a process improvement and treat it as such. I would argue, however, that Agile implementation is actually closer to transformational change. Since most companies don't anticipate this transformation, care isn't taken to manage the impact of the change and the outcome is often failure. Those organizations that do see Agile as transformational are better prepared for the work needed to achieve long-term success.
.
What does it take to have a successful Agile implementation?
.
At the highest level, organizations need to outline their Agile goals and define expectations:
.

1. Is speed to market the main issue? Does the company need to deliver products more frequently?
2. Is the organization inefficient? Does it need to be “leaner” and more efficient with existing resources?
3. Is quality the issue? Does the company need to improve customer satisfaction with the software it delivers?
4. Is the organization new, or is it one that’s trying to reinvent itself and have a more empowered culture?

.
It’s critical to answer these questions before embarking on an Agile implementation.
.
With these answers, the choices become simple. If, for instance, your organization can answer YES to all four questions above, and if you're willing to do what it takes to implement the Agile approach verbatim, then you should consider implementing Scrum and XP (Extreme Programming). These are transformational approaches which focus on team empowerment and cross functional roles. They therefore require re-organization and a dramatic shift in management and leadership style.
.
I recommend using many XP practices when implementing Scrum. At an Agile New England meeting I attended a few months ago, Ken Schwaber, co-author of the Scrum Guide, stated that the merger of Scrum and XP into a single approach was originally intended. The reason for this is that Scrum doesn't dictate any specific engineering practices. XP addresses key development practices such as pair-programming and continuous integration. Its focus is on high-quality code. Technical Debt is minimized when you follow strict engineering practices. Many of the other Agile approaches make major assumptions about engineering practices already being in place. This is one of the major flaws of many current Agile implementations. If you don’t have a solid set of engineering practices and tools in place beforehand, your implementation will only have a short window of success.
.
On the other hand, if you answered NO to question number four, you should consider a more prescriptive Agile implementation. Approaches like Kanban, Scaled Agile Framework (SAFe), and Disciplined Agile Delivery (DAD) are more conservative and provide a clearer set of requirements and processes that need to be in place for the organization to be successful. I suggest that Kanban can be presented as a developmental change whereas I still consider SAFe and DAD to be transitional changes because they often require a reorganization to align with the approaches. Though I'm thoroughly familiar with Kanban, I only have passing knowledge of enterprise frameworks such as DAD and SAFe. At the enterprise level, my experience is with organizations that create their own Agile/Hybrid methodology, adopting Scrum terms but keeping many of their existing roles and processes in place. This generally creates confusion for the team members who get “certified” in Scrum but aren't actually allowed to implement Scrum as it was intended.
.
Here’s a matrix to help you choose your approach:

Goal

Scrum/XP

Kanban

SAFe/DAD

Improve project success
Be more efficient with resources
Increase IT quality
Have a more empowered culture

.
If you've read my other blog posts, you know that I’m totally onboard when it comes to adopting a full Agile implementation of Scrum and XP—even though it’s EXTREMELY difficult. The key thing to realize when implementing Agile’s most popular approaches (Scrum, XP, DAD, SAFe, etc.) is that you must embrace the entire approach. If you don’t, you’ll quickly become susceptible to confusion and implementation “fatigue” from team members and stakeholders. The implementation will become a struggle and it will probably fail. In Scott Ambler’s 2013 IT project survey, he finds that 64% of Agile projects are successful while only 49% of traditionally run projects manage to achieve the feat. To me, this isn't an overwhelming improvement given the amount of effort required to implement Agile. It’s hard to decipher whether or not these Agile implementations were well-executed. We only really know that organizations which call themselves Agile are still struggling with 36% of their projects.
.
Summary:
.
If you're not willing to embrace cultural change, DON’T DO SCRUM OR XP. Go with Kanban, SAFe, DAD, or an internally developed hybrid instead.

If you don't have engineering best practices and support tools, such as automated regression testing and continuous integration, then YOU'RE NOT READY FOR AGILE. Step back and institute these processes first before building a new project management approach on top of a flawed foundation.

Interested in learning more about my approach to selecting a project management approach? Check out my online training Implementing Kanban for Project Management in my Agile Training store: http://buyagile.com/Kanban1
.
References:

About the author, Dan Tousignant, PMP, PMI-ACP, PSM I, CSP

Dan is a lifelong project manager and trainer with extensive experience in managing software development projects. Based upon his experience, he has adopted both Agile as the primary method for developing and implementing software. He is passionate about the leadership emerging from self-organizing teams.

Dan has over 20 years of experience providing world class project management for strategic projects, direct P& L experience managing up to 50 million dollar software development project budgets, experience managing multi-million dollar outsourced software development efforts and strong, demonstrated, results-driven leadership skills including ability to communicate a clear vision, build strong teams, and drive necessary change within organizations.

Dan holds a Bachelor of Science majoring in Industrial Engineering from the University of Massachusetts, Amherst and is a Certified Project Management Professional, Professional Scrum Master, PMI Agile Certified Practitioner and Certified Scrum Professional and is the owner of Cape Project Management, Inc.

Dan Tousignant, President
Cape Project Management, Inc.
Contact: Dan@CapeProjectManagement.com
Please follow and like us:
Are you implementing Scrum but realize you are better suited for Kanban?

Are you implementing Scrum but realize you are better suited for Kanban?

I have found that very few organizations are starting out with Kanban as their first choice for their Agile implementation. Almost every organization that I have been exposed to through training and coaching began their Agile implementation with Scrum. Unfortunately, many companies have significant organizational impediments to being a true Scrum shop.

Before I go any further, I want to say that I am a Scrum believer. If there is a way to implement “pure” Scrum, I believe you will have the most productive and happy development teams. That being said, I have found that many organizations trying to implement Scrum have significant "Scrum-buts"and their implementations would be better served by stepping back and considering a simple Kanban approach.

There are many different approaches to Kanban for software development, and some are even proprietary. Since everyone else is attempting to trademark their own Agile approach, from this day forward, I am trademarking, “Simple Kanban™.” Just kidding… Anyway, the benefit of Simple Kanban is that it assumes you already understand Scrum and User Stories and can apply what you have learned in Scrum to Kanban. When I train on Kanban, I train one day of Scrum and User Stories and one day of how to apply those practices to a Kanban approach.

I can’t say that I am an expert in Kanban for software development, but early in my career, I did have some great exposure to Kanban in manufacturing. In college, I majored in Industrial Engineering, and my first “real” job was working as a sales engineer for an environmental controls manufacturer. They used the Kanban pull system for inventory control and as part of my onboarding training  I spent three weeks on the shop floor. It was an experience that left a deep impression on me.

While I worked there, they won the Shingo Prize for world-class manufacturing and excellence in productivity and process improvement; quality enhancement; and customer satisfaction. This award is considered one of the “Triple Crown” industrial excellence awards, along with the Baldrige National Quality Award and the Deming Prize.

Kanban was originally a lean manufacturing approach, and it was developed in alignment with these 5 lean principles:
  • Specify what creates value from the customer's perspective
  • Identify all the steps along the process chain
  • Make those processes flow
  • Make only what is pulled by the customer
  • Strive for perfection by continually removing wastes
These lean principles which I saw applied to manufacturing always stayed with me as my career shifted to software development project management. I was never a thought-leader advancing my ideas beyond the needs of my immediate project, but I was able to be “agile” before I even heard the term. I was applying both lean principles and common sense to keep the development teams productive and my customers happy.
Now that I am an Agile Coach, I have formalized my common sense approach so the process is repeatable and so I can train Agile teams. Here is how I implement Simple Kanban:

Keep existing functional teams: Most organizations are struggling with eliminating roles, especially QA. One major reason that this won’t change is because separation of duties is required for many IT shops.

  • Business Analysts perform role of Product Owner and write User Stories. They prioritize these Stories in the Product Backlog for the development team which becomes the work queue for the team to pull from. Ultimately, given the lightweight nature of User Stories, there will be fewer Analysts needed.
  • Software engineers perform high-level design, and identify the development tasks. For complex systems, it may require that an architect or senior software engineer is on the team for this activity.
  • Software engineers continue to develop, write unit tests, and advance Agile engineering practices such as continuous integration. This is the same role they have been playing, but in a “pull” environment they will be much more empowered.
  • Lastly, retain quality assurance team members to perform functional testing. I still suggest that the Business Analyst and/or a true Product Owner role exist to perform ongoing acceptance testing.

Utilize User Stories: Kanban typically uses cycle time to size requirements. It may be heretical for me to propose this, but User Stories can accomplish the same thing, especially if the team members have already been trained on User Stories.

Manage WIP using functional velocity: Each functional team estimates the story points for their work on a story. As with Scrum, over time, each team will know their velocity and can commit to their work in progress (WIP) limits. They can then work towards a stable time-based velocity which can provide the same transparency as cycle time.

Team Size is managed by Story Points: The number of business analysts, software engineers and quality assurance team members is determined by the number of story points in the functional queue and ultimately the release schedule. As with Scrum, multiple small Kanban teams work better than one big one.

Self-Organizing is the same as a Kanban pull system: When a team member is done with a story, they go get more work from the queue.

Keep open spaces: This is just a good idea. Regardless of your Agile approach, one of the keys to success is having everyone in the same room.
It may sound complicated, but as with Scrum, after a few cycles the team begins to work out the kinks. I agree that over time, cycle time is a better approach for Kanban, but if you are moving from a Scrum model, it may be an easier transition to retain the use of Story Points, and I have seen teams be successful with this approach long-term.

Bottom line – keep it simple

Do you want to learn more about our approach to Kanban? We have 2 options:

About the author, Dan Tousignant, PMP, PMI-ACP, PSM I, CSP
Dan is a lifelong project manager and trainer with extensive experience in managing software development projects. Based upon his experience, he has adopted both Agile as the primary method for developing and implementing software. He is passionate about the leadership emerging from self-organizing teams.
Dan has over 20 years of experience providing world class project management for strategic projects, direct P& L experience managing up to 50 million dollar software development project budgets, experience managing multi-million dollar outsourced software development efforts and strong, demonstrated, results-driven leadership skills including ability to communicate a clear vision, build strong teams, and drive necessary change within organizations.
Dan holds a Bachelor of Science majoring in Industrial Engineering from the University of Massachusetts, Amherst and is a Certified Project Management Professional, Professional Scrum Master, PMI Agile Certified Practitioner and Certified Scrum Professional and is the owner of Cape Project Management, Inc.
Cape Project Management, Inc.

Please follow and like us:
Why Scrum “Master”? What about Scrum Apprentice? Maybe we need a Scrum Jedi?

Why Scrum “Master”? What about Scrum Apprentice? Maybe we need a Scrum Jedi?

I learned the term Scrum Master back at the turn of the century (I like how that sounds). I first heard it from Ken Schwaber himself. At that point in my career, I was a true and tried project manager that had recently earned his PMP. I was a self-taught project manager, and looking back, my instincts and style were better suited for Agile, but I happened to go down the formal PM path first. After 10 years of experience, I had come to the conclusion that project management was a “craft”.  I believed it then and I believe it even more now, which is why I struggle with the term “Master.”

What does it take to be a "Master" of Scrum?

I was a carpenter before I was a project manager. I was the only honors student taking wood-working classes in high school and I worked as a carpenter’s apprentice during the summer while I was in college. I had tremendous respect and even awe for the master craftsmen I worked with. In carpentry, the term Master is reserved for the likes of Norm Abram. Also, to be a union carpenter, you have to go through a rigorous apprentice and journeyman program before you can get paid as a true master carpenter.

In history, you had to earn the term “Master” to be seen as the top of your craft. Wikipedia has a good definition:

“An aspiring master would have to pass through the career chain from apprentice to journeyman before he could be elected to become a master craftsman. He would then have to produce a sum of money and a masterpiece before he could actually join the guild. If the masterpiece was not accepted by the masters, he was not allowed to join the guild, possibly remaining a journeyman for the rest of his life.”

I think the intent with the term Scrum Master is that the title should be reserved for those that have earned the title of Master, but that is obviously not the case. There is no job requirement or career path to become a Scrum Master.  Most of us have had some type of career path as we developed our skills; e.g. in software engineering, there is a typical path of analyst, developer, designer, architect or in project management: project coordinator, project manager, senior project manager, program manager.

So, how does someone earn the designation of Scrum Master? Until recently, it was just take a 2-day class. Now, at least there are exams to test your knowledge of Scrum. It is surprising how we have come to a place where the term Master can be designated without any true effort or experience. Most of us have had to show both experience and knowledge to get the certifications we have. PMI, for example, requires the PMP and the PMI-ACP designation be based both upon experience and knowledge.
I am not sure if there is a way to backpedal to introduce qualifications for Scrum Master, so maybe we need a new term that actually requires that someone has proven themselves. How about Scrum Jedi? Just a thought… All I ask is that I get credit for the term when it goes viral…

Dan Tousignant, (long list of acronyms usually goes here, some hard earned, others...)

@ScrumDan

BE AGILE.®

Please follow and like us:
The Agile Success Algorithm

The Agile Success Algorithm

al·go·rithm

algəˌriT͟Həm/

noun
1. a process or set of rules to be followed in calculations or other problem-solving operations
Those of you reading this are more than familiar that Agile is all the rage. Executives like to say that their organization is going "Agile". They throw out terms like Scrum and Kanban without truly understanding what they are getting involved in.
In order for Agile to be implemented successfully, I have created the following simple algorithm. Embrace Change + Learn from Mistakes = Agile Implementation Success.

Input 1 = Embrace Change

The primary risk with implementing Agile involves the ability your organization to embrace change. You need to answer the following questions about your organization's culture and your leadership team before you can successfully implement Agile:
How does your organization respond to change?

  • When was the last time your organization underwent any major changes?
  • Have they been through major layoffs? Have they introduced new leadership?
  • How long have they been in business? Have there been major new product introductions?
  • Have they been acquired or merged?

How did these changes go? In this case, past performance often dictates future performance. If your company struggles with change, then they will have trouble introducing Agile. Agile introduces change in so many ways:

  • Changes in roles, title and responsibilities. Just look at the roles in Scrum, since it is currently the most popular Agile method being implemented. How easy is it for your organization to adopt these roles?
    • A Scrum Master?   How many managers or project managers do you know who truly understand the concept of servant leadership? How many organizations allow for management positions that do not have direct reports? To truly be successful with Scrum, a Scrum Master role has to be created from scratch, not just assigned to an existing function.
    • A Product Owner??   Organizations that have a mature product manager function can transition easily to this, but many organizations manage product related decisions by committee with a team of business analysts. The role of a truly empowered Product Owner is difficult for many companies to swallow.
    • A Scrum Team??? A self-organizing team is the foundation of Scrum and of Agile in general. How many organizations actually foster this? How many middle manager's jobs would be eliminated if an organization becomes successful with this? How many under performers would be exposed in this model? This is the most difficult, yet most critical change required.
  • Changes to process.
    • No analysis or  business requirements phase? No Gantt charts? No 12 month project plan? Traditional project management was just formalized at many organization in the last decade. Formal PMOs have been rolled out, massive enterprise tracking tools implemented and teams of project managers hired to create and maintain documentation. Can your organization tolerate getting rid of all the processes you just implemented?

Input 2 = Learn from Mistakes

Only a company or leadership team that has experienced project failures can truly appreciate and support an Agile implementation. These failures may have come in many different ways:

  • The project came in too late to meet the market opportunity.
  • The budget changes were so excessive that the project was either terminated or deemed a total failure.
  • The customer rejected the product because it was "not what they were expecting."

The list goes on and on....The Agile Manifesto was not crafted by grad students developing a thesis. It was developed by people who were clear that the way we were working wasn't working. Many people, like myself, have become Agile evangelists only after suffering through one or more of the above project failures over which we had no control. One of the major downsides with introducing Agile to the "younger" workforce is that they don't truly appreciate how much more fun and enjoyable it is to work on an Agile project. Give them one month of using project time-sheets and hourly tracking in an ERP tool and they will start to see the light.

Output = Agile Implementation Success!

The benefits of Agile are self-evident for those who have lived through traditional project failures and are willing to change. There are hundreds of successful case studies and stories of successful Agile implementation, but implementation failures are becoming more and more common. Becoming "Agile" is not just using the term "Agile", it is a transformation that will effect your entire organization.

Dan Tousignant, PMI-ACP, PMP, PSM, CSPO, CSP
@scrumdan

Please follow and like us:

Enjoy this blog? Please spread the word :)