CMMI and Agile Blog

January 30, 2017

Avoiding two common software project troubled paths by “being agile” rather than “doing agile”

This week I want to talk to you about two common troubled project paths, and give you some simple tips to avoid both.

The first troubled path is putting too much effort into documentation. When you catch your project heading down this path stop and ask:

What is the driving need behind our documentation requirement?

Often there are two driving needs. First, your customer or senior management may be looking for some kind of assurance that the software team is doing the right things.  The second reason is to help users and maintainers once the software is deployed.

Unfortunately, traditional documentation isn’t very good at meeting either of these needs. It isn’t good at helping users and software maintainers because often it isn’t trusted to be kept up to date after delivery.  And, historically, documentation hasn’t been very useful to software teams at helping them create high quality software.

The second common trouble path is reacting to the first troubled path by declaring “we’re agile!” –and throwing out the essentials for high quality software along with the documentation.

Now, today, it is a fact that we are seeing more and more organizations trying to increase agility, but many of these same organizations are struggling to figure out how to “become agile” without jeopardizing essentials for success.  And in a moment I am going to explain more what I mean by that phrase “become agile” because I may not mean what you think.

But first, a little background. You may know that in previous blogs and publications I have talked about Essence.  Essence is a framework that captures essentials for high quality software in a simple way—and most important to today’s topic—those essentials are independent of the degree of agility you are driving for with your teams. Essence also includes a simple language to express practices on top of the essentials to give guidance to your teams.

Today I want to talk to you about three simple parts of an Essence practice and how these parts can help your teams find their right level of agility while not jeopardizing essentials for success and help you avoid both common troubled paths.

Those three parts are:

  • the purpose–or goal– of the practice;
  • the activities conducted as part of the practice;
  • the work products produced.

Activities in an Essence practice are what people actually do when carrying out a practice.  They can vary greatly in prescriptiveness. In other words, you can provide activities in your practice that just specify “what” people must do or you can be much more prescriptive specifying in detail the “how to” side of your practice activities.  Similarly, the degree of detail specified in a work product can vary greatly.

Now, let’s look at some examples from my “Upside Down” book.

In Story Two in Part I of my book you learn about a team that came up with an innovative approach to achieve the goal of their sprint review practice when they learned a key stakeholder could not attend the meeting. They actual got on an airplane and went to the client’s site to engage that customer and get their feedback.

The point I want to emphasize here is that the real goal of the sprint review practice wasn’t holding a meeting called a sprint review which is what too many teams get overly focused on when they blindly zero-in on following specified “how to” activities in highly prescriptive practices.

Stated differently, what we are seeing too often is teams falling into just “going through the motions” of prescribed activities. Other authors have referred to this as the difference between “being agile” and “doing agile”.   And, to be honest, I really didn’t understand this difference until I observed it in one of my own client organizations.

What you learn from that story I just referred to is how a team stays focused on the real goal and figures out a creative way to achieve that goal which is gaining the buy-in of key stakeholders—not holding a meeting called a sprint review.

In that same story you learn about a challenge the team faces with a tester having difficulty communicating with developers.  In this case, the team came up with an improved testing practice that included the activity of developers placing a note in the ticket to the tester.  The note in a ticket could be viewed as an example of a very lite work product—not a heavy documentthat helped the communication problem.

In this story it is important to understand that the goal of the testing practice wasn’t to create a note in a ticket.   The real goal was improving communication between developers and a tester. Placing a note in a ticket was just one possible activity that could help the team achieve the real goal of the practice.  And in this story you learn how the team understood that in certain situations if it made more sense to just get up from their workstation and go over and talk directly to the tester that was an option they could and should use.  This is a perfect example of “being agile” rather than “doing agile”.

What you learn from these stories is that where teams often get in trouble is when they start confusing the activity they conduct as part of a practice, or the work product they produce with the goal.  One simple way to help yourself is to keep asking yourself are we are getting too much into “doing agile” –  or just going through the motions of our rituals, such as sprint reviews even when the key people can’t attend?

Or are we “being agile” by keeping focused on the real goal and coming up with innovative solutions when necessary, such as finding creative ways to engage our stakeholders when they can’t make it to our sprint reviews, and getting up from our workstations and walking over to talk to a tester when their might be some risk of misunderstanding.

One caution here, if you decide to allow more choices in your team’s practice activities by making them less prescriptive– it is also highly encouraged that you provide clear limits to the activities, and coaching in these limits, so the team does not fall into chaos.

Always keep in mind that activities and work products are important parts of a practice, but they should never be confused with the goal of a practice.

When we see this confusion starting to happen it is often a sign that an organization is falling too much into the “doing agile.”

Use these simple practice tips when you are developing your practices and coaching your teams, and you might just find it easier than you think to avoid both common troubled project paths and find your right level of “being agile.”

January 26, 2017

Is Upside Down the key to Moving Forward?

Last week I promised in my next video and blog to explain two specific ways projects often get into trouble and give you some simple tips related to Essence that can help mitigate the risk of both.  I have had a busy week and so I am putting off that video and blog, but it will still be coming soon!

This week I was interviewed by Bill Fox from Container13; Exploring Forward-Thinking Workplaces

https://container13.com/exploring-forward-thinking-workplaces/

Bill asked me some very interesting questions.  One thing I loved about this interview was that I was able to tie in a strategy that may seem “upside down” that is used by the coaches of the 2016 Little League Baseball World Series Champions from Endwell, NY– which is just 6 miles from where I live.

Check out the interview at

https://container13.com/is-upside-down-the-key/

I’ll try to get back on track soon!

January 15, 2017

A Key Value of Essence Related to Troubled Projects

I have been involved in the development of Essence since 2010 along with many other volunteers from around the world representing industry, academia and research.  And I have spoken on the subject of Essence at numerous universities and in many organizations including many of my own client organizations.  And the reaction I often get—to be frank—has been mixed.

Some people immediately see the potential value and react with comments like:

“Wow! I wish I knew about Essence when we were planning our last project.”

While others react with comments like:

“I don’t get it?” or

 “Why do we need it?” or

 “What’s so great about capturing what we’ve known for years?”

 Although it has taken me some time to figure it out, I now understand at least part of the reason why people react differently when first introduced to Essence.  The reason is because each person views Essence through the lens of their own experiences and perspective.  As an example, I can view my own clients as falling into two distinct types each with their own distinct experiences and perspective.

One type includes successful organizations with happy customers. These organizations have great people with proven track records of creating high quality software and meeting their cost, schedule and performance commitments within reasonable tolerances.  They come to me for coaching because they want to keep aware of the latest thinking and innovations in software development.  They do this because they know they have to keep getting better if they are to stay ahead of the competition.

The second type includes those who seek my coaching because their projects are in trouble.  Many in this group aren’t meeting their commitments and their customers aren’t happy and many don’t even know how they got into the mess they’re in.

Interestingly, it’s the first type who often respond when introduced to Essence with questions like,

“Why do we need it?” or

“What’s so great about capturing what we’ve known for years?”

 While the second type often respond with comments like,

 “I wish you were here and had told us about Essence when we were starting this project!”

When I help troubled projects I have found Essence to be an incredibly useful tool to help communicate to key organizational and project team leaders in a simple way where they went off course, and how to get back onto a healthy path.

This is a key value of Essence specifically related to troubled projects— it is a tool that can help you quickly pinpoint a problem area, and then drill down into that problem area, locating precisely what needs to be done, and then communicate the critical information to the people who need to know to get the project back on course.

I like to use a sports analogy to help explain this key value of Essence:

Most of us don’t appreciate a good referee in a well-played sporting event because we are focused on the game and the great performance of the players in the game.  But when the trouble starts, that is when the value of a good referee is recognized and appreciated by most of us.

What is interesting about this—and the parallel back to software– is that people who have only experienced successful software development efforts often don’t appreciate the value Essence can bring to– not only troubled projects– but to all projects, even the successful ones.  To help my successful clients understand this I like to ask them to think about the following:

Even though you are successful today, how confident are you that your next project will be as successful as your last?  And even for your current successful projects, how confident are you that the success you are currently experiencing will continue tomorrow?

 The point is that on all projects— successful or troubled—there is always risk of new circumstances and new challenges that can jeopardize future success.

 So what are you doing to mitigate that risk today?

While Essence clearly has proven itself in helping troubled projects today, its greatest value may actually lie in helping to mitigate the risk all software projects face of loss of essential software engineering activities that we now know exist and have captured in the simple Essence tool.

In my next video and blog I will explain two specific ways projects often get into trouble and a specific feature of Essence that can help mitigate the risk of both.

January 8, 2017

Helping Coaches Everywhere

In my last blog I highlighted how far a team can go to solve challenges on their own when given just a few simple principles and a clear goal.  But this doesn’t mean that teams don’t need coaching, tips, best practices and a structure that provides clear limits to how the team operates. This leads to the subject of this blog.

Besides the upside down principles, I also highlight in Part I of the book 18 coaching tips.  If you are wondering if a book that highlights coaching tips is for you, it is.  I believe everyone should view themselves as a coach.  But a big challenge most organizations face is how to communicate the right coaching tips to project personnel who need it, right when they need it.

Let me step back here, and tell you a little about my background.

I’ve been involved in the software business for over 40 years—the first 20 years as a software practitioner and the last 20 years as an independent consultant/coach.  And during the second half of my career as a coach I have often been called in to assist troubled projects.  One observation I have made about these troubled projects is that most of them fall into one or more of a surprisingly small set of common patterns.  But more importantly, when that pattern is detected in a timely manner, it’s usually not that difficult to steer the project back onto a healthy course. I’ve discussed this in previous writings and blogs. But this leads to an interesting question:

Wouldn’t it be great if there was an easy way to capture these common patterns and share them with coaches everywhere so more coaches could steer their project teams when needed keeping them on course?

This was my motivator for including a Part II in my book where I have framed the highlighted principles and coaching tips that have emerged from my stories in Part I within a framework called Essence.

If you have not heard of Essence yet, you have probably heard of the foundation from which it evolved, which I also explain in Part II of the book. I also explain with examples in Part II how Essence provides a simple and easy-to-use medium to communicate any organization’s practices, tips, principles, and checklists even among non-technical stakeholders.  This last point about stakeholders is particularly important. 

This is because when you read Part I you will learn how stakeholder issues related to understanding and knowing how to carry out project responsibilities is a repeating theme throughout many of my stories.  But, more importantly, it’s a repeating theme within many of those troubled projects I referred to.   

In my next Youtube and blog I share a personal story specifically related to troubled projects that can help you understand a key value of Essence that took me quite a while to fully comprehend and appreciate.

January 1, 2017

The Power of Principles

In my last blog I shared what motivated me to write my latest book, “It’s All Upside Down,” and I shared a little about what is in Part I of the book including some information about the 26 “upside down principles” (that aren’t really upside down).

In this blog I explain why I have chosen to focus on principles in the book rather than the more traditional approach of focusing on “best practices.”

So let me start this blog with a little background.

In 2015 I was fortunate to be invited to speak at the Agile Africa conference, and while attending the conference I listened to Kent Beck who gave a keynote address.  Kent talked about what he called policies – or what many of us might think of as principles–used at Facebook.

An example Kent referred to in his talk was “personal ownership”.  I found his talk fascinating.  The way Kent presented his material was by showing a single diagram with all of the principles visible.  He highlighted each principle he was about to talk about. Then he explained—using no extra slides, but just informally speaking– how the highlighted principle was implemented by practitioners at Facebook.

Listening to Kent using this presentation style gave me great insight into how work actually gets done at Facebook– and it struck me that he didn’t say anything about specific “best practices” used at Facebook.

This caused me to think about what the difference is between principles and practices.  This led me to the realization that principles are more closely aligned with goals, while practices focus more on approaches–or steps– to achieve a goal.

Now, please don’t jump to the wrong conclusion, or misunderstand what I am saying here.  Practices are certainly needed– especially for less experienced practitioners who need guidance in the steps to achieve a certain goal.  They are also needed for more experienced practitioners who often need reminders. However, there is a power in simply stated principles, along with a clear goal, that practices alone cannot provide.

For those who disagree, or challenge this assertion, I provide many examples in Part I of my book of the innovative activities teams come up with on their own to address their specific challenges.  And they do this with little help beyond having a clear goal and a few simple principles.

As an example, in Story Two of my book I share four specific examples of simple creative activities one of my clients came up with to solve specific challenges faced with regard to a stakeholder issue and a testing weakness the team knew existed.

Now, please understand that this is not to say that industry best practices cannot help teams with specific challenges.  But it is to say that best practices and lessons that were learned outside your organization can never replace listening to your teammates’ current specific challenges, brainstorming possible solutions to solve those challenges, and agreeing on specific courses of action.

Many might think that industry proven “best practices” would always trump whatever an individual team might come up with.  But my true stories demonstrate over and over again where this is often not the case.

Give your team a clear goal, and share some principles along with simple guidance in applying the principles, and you might just be surprised how far they can go to solving their challenges on their own.

I would also like to point out that I am not the first person to have observed the power principles.  Scott Ambler, one of the reviewers of my book, told me that with Disciplined Agile Delivery (DAD) they emphasize principles because people might actually read them and understand them.

In my next blog I will share with you a little bit about why I decided to include a Part II to my book, and what is in Part II.

December 27, 2016

What I’ve learned about software development and why it seems opposite to everything I was taught

In this blog I would like to share with you what motivated me to write my latest book, which is titled: “It’s All Upside Down”.  And I would like to tell you a little bit about what’s in Part I of the book.

So let’s start with the motivation. The title of this blog post is actually the subtitle of the book, which has a lot to do with my motivation for writing it.

In just the past few years I have made such drastic changes in how I help software development teams as a coach that it often appears what I am recommending to my clients is the complete opposite of many well established long held software engineering principles.

Now, in fact, my recommendations are not really in opposition to these principles at all—but they appear to be because what actually works in practice oftentimes isn’t what we think based on what many of us have been taught.

This was my major motivator for writing this book. I wanted to share true stories of what we have recently discovered really works for successful software development teams in practice.  There are eight stories in Part I of the book that all occurred in 2015 and 2016.

As I share the stories I also highlight 26—what I refer to as– “upside down” principles.  Now, the principles themselves are not really upside down.  What is really upside down is what many believe they need to do to effectively apply these principles.

To help communicate this message I focus each story around three key items:

  • First, the activities successful teams conduct in practice
  • Second, how much of these activities they conduct
  • And third, when they conduct each activity

 

I expect many readers will be surprised to learn how little time successful software development teams spend on certain activities that have traditionally received high focus, and–even  more importantly–  how much time is actually spent by successful teams on activities that traditionally have received little attention.

In closing this blog I would like to point out that I am certainly not the first person to have observed that what works best in practice often doesn’t match the theory.

It is also worth pointing out that this observation is not unique to software development. As the immortal New York Yankee baseball legend Yogi Berra once said:

“In theory there is no difference between theory and practice.  In practice there is.”

Now, in this blog I have referred to both principles and best practices.  In my next blog I will share with you why I focus more on principles in the book, and I will explain the power that principles can bring to a software development team’s performance.

Click to purchase the book

December 27, 2014

Essence: What’s New and Different?

In November of this year, 2014, I gave a talk on Essence at Binghamton University to a group of Computer Science students.  You can catch the highlights of Part I of the talk on YouTube.  This is a great video to watch if you want to learn what is new and different about Essence, the new software engineering Object Management Group (OMG) standard intended specifically for software practitioners.  If you don’t have time to watch the complete Part I– which is about 44 minutes– you can find a cross-reference at the end of the video to where in the video you can find the following 23 key topics:

http://youtu.be/uDELOAAFVlA

  1. What is Essence?
  2. The Difference Between Scrum and Essence.
  3. What Does Essence Contain?
  4. Why Did We Create the Strange Alpha Word?
  5. What is Different About Essence?
  6. The Essence CARD Deck.
  7. An Example Demonstrating How Essence is NOT Waterfall.
  8. A Question About Essence Versus Scrum.
  9. How Essence Can Power Whatever Approach Your Team is Already Using.
  10. About the Problem We Are Trying To Solve With Essence.
  11. How Does a Team Use the Essence Model?
  12. How Essence Checklists Are Different.
  13. How Do Teams Apply the Essence Checklists?
  14. On the Importance of Knowing When You Are Done.
  15. A Question on How a Team Can Fall Back.
  16. On the Order You Address States, and Decisions on Checklists that May Not Apply.
  17. An Example of a Team Deciding if a Checklist is Applicable to them.
  18. On Activity Spaces.
  19. Competencies Within Essence.
  20. How to Figure Out if You Have a Leadership or a Management Competency Issue.
  21. What if a Team Can’t Meet a Checklist Item?
  22. Why Isn’t Risk an Alpha?
  23. Why is Hardware included in the Definition of the Software System Alpha?

As always, your comments and feedback are encouraged.

September 16, 2014

How do you keep your audience engaged when they don’t understand your language?

In August, 2014 (this year) I faced this challenge when speaking at the Latin American Software Engineering Symposium (LASES) in Barranquilla, Columbia. The night before the talk Dr. Carlos Zapata and I came up with an idea that not only worked, but also generated more questions than I ever imagined.

The title of my talk was: Essence: A Practitioner and Team Performance Perspective.

Take a look at this video to see how we pulled this off.  Below the link to the video find a sampling of the questions I received and how you can locate them quickly in the video.

Following is a sampling of the questions I received during the talk:

  1. Why are there only 7 alphas in the Essence kernel?
  2. How long will the SEMAT community work on Essence?
  3. Why don’t we see practices represented on the kernel?
  4. What is the vision for how companies will represent their practices using Essence?
  5. Will there be more disciplines added to Essence?
  6. How is the kernel changed, and what changes are coming?
  7. What criteria was used in selecting Essence checklists?
  8. What is your vision for the future of Essence?
  9. How would you sell Essence to companies?
  10. Where are we headed with practices on top of the Essence kernel?
  11. What is the definition of practice from the point of view of the Essence kernel?
  12. How will practices be captured in the Essence framework?

If you don’t have time to watch the entire video, jump to the end of the video where you will find, along with the 12 questions above, 30 more key questions/concrete examples listed and a reference to where you can find them quickly in the video (minutes and seconds into the video).

July 17, 2014

Turning a Weakness into a Major Strength In My New Book “15 Fundamentals…”

I just released a new book titled, “15 Fundamentals for Higher Performance in Software Development.”  You can learn more about the book at www.amazon.com (paperback book or kindle store) or at www.leanpub.com/15fundamentals.

In this, my first of a planned series of blogs about the book, I want to share some background information about how the book evolved and how I was able to turn a weakness into a major strength of the book.

If you have been following my blogs over the past few years you probably know I have been involved since 2010 in the SEMAT (www.semat.org)  initiative.  SEMAT, just last month, achieve a major milestone with the Object Management Group formally adopting the Essence Specification as an OMG standard.

When I started to write my just released new book close to 4 years ago I did not plan for it to include any discussion on SEMAT or Essence.  My intent was to describe a problem that the software development community faces that I felt needed to be discussed more openly.  You can learn more about the problem at:

But as I moved forward in writing the book in parallel with my work on SEMAT I started seeing more and more areas where SEMAT’s Essence framework could help to solve the problem I was talking about in the book.

At first I was unsure how to address this because I did not want to disrupt my  planned flow of the book, so I decided to interject sidebars in the book explaining how Essence could help to solve the problem I was describing.

I had twenty-one reviewers of this book who reviewed multiple versions over the last three years. Only eight of those reviewers had any knowledge of SEMAT/Essence before reviewing the book.  Unfortunately, many of my reviewers gave me negative feedback on the new sidebars with comments such as:

“I find the sidebars distracting,”

“I don’t get this Essence thing,” and

 “The alpha idea makes my head spin”. 

Multiple reviewers suggested that I break the book into two books – taking all the Essence material out of the first book, having a second book just about Essence. Clearly these sidebars had  become a weakness of the book that I would need to overcome.

One reviewer who was a real practitioner and knew nothing about SEMAT or Essence suggested that I take all the  SEMAT/Essence specific material out of the first two parts of the book (first 12 chapters/ about 150 pages), and replace the sidebars with a more general “framework vision” that explained in simpler terms what was needed to solve the problem I was talking about.

He suggested that I use no “process-freaky” words in the sidebars.  This was a project manager in a large US Defense Company who is a very practical oriented manager.  He then said I should keep the Essence framework discussion in the book, but present it late in the book showing how it meets the requirements of the framework vision and how it can help to solve the problem I had discussed in the first two parts of the book.

This is the path I took, and most of my reviewers not only agreed with this approach, but some even went so far as to say they thought the new framework vision was now one of the major strengths of the book.  It was particularly good to hear that the reviewers were able to easily grasp the vision and agree with it, as it now was being presented in the new way.  I now think of this framework vision presented in Parts I and II of the book as the requirements and Essence, as presented in Part III of the book, as an example of one way to implement those requirements.

One reason I wanted to share this story with you is because in Part III of the book where I do talk about Essence I do so from the perspective of how it can help to solve a major problem the software community faces today.

As it turned out, taking this approach achieved another goal as well. Whenever I have spoken at  Universities or Conferences in the past about Essence, there always seemed to be at least a few people who would ask:

“Why do we need Essence?” 

Or

“What problem is Essence going to solve that the other aids we have today like Scrum, CMMI and Lean Six Sigma don’t already handle?” 

By presenting the framework from the perspective of how it can solve a real problem the software community faces, answering those common questions becomes much easier.

This leads us to an important question.

Why is it so difficult for many people to grasp the value of the Essence framework when first presented to them?

Some have observed that it could be because Essence requires a paradigm shift not unlike what was needed when object oriented design was first introduced in the software community.  I would love to hear your thoughts related to this question.

You can learn more about how Essence can help to solve the problem that I talk about in the first two parts of the book at:

In future blogs I intend to share more about how this book evolved including a story related to how the book achieved its final title which was based on a  polling of many of my reviewers after I had literally written down more than 100 possible titles.  I will also share the top 4 candidate titles, and I will tell you why they all would have been great choices, and I will tell you now my initial personal favorite was not the final choice.

The book is available in ebook and paperback format from http://www.Amazon.com.  It is also available in multiple ebook formats from www.leanpub.com/15fundamentals, and www.apple.com/ibooks.

 

Blog at WordPress.com.