SEMAT, Essence, “being” Agile

In my previous blog on retrospective, I mentioned that this year my focus will be on some exciting developments in the field of Software Engineering. Currently, the field of software development is led by the Agile software development, It has made sufficient contribution to the whole paradigm of software development. It has made it very clear that “…the sole purpose of software development is to develop software” though it might sound like a Zen koan(1), it is explicitly stated in one of the principles in Agile Manifesto – Working software is the primary measure of progress. The shift in focus from planning, estimating, contract negotiation, hardware, technology to delivering software has made a huge difference.

“…the sole purpose of software development is to develop software”

The last couple of years I have spent studying, practicing, studying, practicing, studying …..  various agile methods and the current state of agile development, there are many new developments happening but in my view, the current challenges faced in the industry can’t be solved by the direction in which agile development is heading. Maybe it is worthwhile to pause and connect the dots with some fundamentals and then build new solutions, frameworks, and methods.

In this article, I will introduce some interesting developments that I found useful. In the later articles, I will share more details about the work we are doing at ProcessWhirl about using behavioral economics, analytics, and Lean Product Development.


It stands for Software Engineering Method and Theory, the initiative was launched in December 2009 by Ivar Jacobson, Bertrand Meyer, and Richard Soley with a call for action statement and a vision statement.

The purpose of SEMAT is to bring the rigor of engineering discipline back into software development. If the project involves developing a driverless car or a health monitoring systems based on Artificial Intelligence (AI) it is important that failure modes are considered as part of the design, the boundary conditions, reliability and critical to quality (CTQ) parameters.

SEMAT can help in bridging the gap between current methods and theory.


The most interesting part that caught my attention while studying SEMAT was “Essence” – it is the kernel or a foundation on top which any method or framework can be expressed. Essence aims to find the common ground across various methods. It is based on three principles. it is actionable; it is extensible, and it is practical.

Essence aims to find the common ground across various methods.

The kernel provides a simple language to express methods and practice, in line with the three principles.

“being” and Agile

This is the topic close to my heart, exploring the world of being. I’m exploring the “being” part of “being Agile”

This takes me back to study of Ontology (I have written blogs and spoken at Global Scrum Gathering and in Capability Counts conference on this topic), It is a branch of philosophy(in particular meta-physics) focusing on study and nature of ‘being’, this term is also widely used in social science, computer science /artificial intelligence, information science and in many other fields.

The term is derived from Greek words, “Onto” for existence and “logia” for study, science. The Latin derivative ontologia means the science of being.

In general, ontology focuses on nature of ‘being’. For example, let’s consider an apple. The existence of apple can be experienced by sight, touch, smell, and taste. In an apple juice, though the form is changed the existence can be experienced in the form of smell and taste. The “essence” or the being of an apple can be experienced.

In the case of living beings the concept of “being” is different, especially for human beings. Human beings have a wide range of ‘beings’ in which they express themselves. Normally they are expressed as emotions like “being happy”, “being sad”, “being angry”, “being enthusiastic” and so on. The being is not just the emotional state but it is much more than that. It is a combination of mental state (attitude and state of mind), emotional state (feelings and emotions), bodily state (body sensation), thoughts and thought process (logic and memory) in a given moment of time or in a given situation.

This also includes mind-set (frame of reference) and worldview (model of reality).

In fact, one can’t write/read about “being” then it becomes “knowing”.


There is a work to be done to express all these ideas as well to study the existing methods and theory. The concept of common ground and Kernel is fundamental and fascinating, it helps to connect the dots with so many interesting topics.

This year also marks 50 years of Software Engineering, time to celebrate as well as take the developments further.

A proper understanding and complete knowledge will help in building effective solutions for businesses and for the society.

Finally, I will end this article with quote from Bhagavadgita(2)

” The impermanent has no reality, reality lies in the eternal. Those who have seen the boundary between these two have attained the end of all knowledge”

Further study



(1) Zen Koan

Koans (pronounced KO-ahns) are cryptic and paradoxical questions/ridles asked by Zen teachers that defy rational answers. Teachers often present koans in formal talks, or students may be challenged to “resolve” them in their meditation practice.

The above example can be framed like “What is the purpose of developing software? “

(2) Bhagavadgita – Eknath Eshwaran

Conference Slides

  1. CMMI and AGILE – Ontological Perspective – Capability Counts 2017, May 2017 VA, USA
  2. Ontological Constraints in coaching agile teams – Global Scrum Gathering, Jun 2016, Banaglore, India


Why do we have brakes?

As we were stepping out after our weekly 8D* meeting, Gireesh asked me “Raghav, Tell me why do cars have brakes?”, I responded with a smile “of course to stop the car.”

Gireesh, functional specialist, manager for the verification team, smart and good people’s manager,responded back with a smile “No, we have ‘brakes’ so that we can go fast !!”. I could sense the shift in my perspective. “Is it not true that brakes help us to drive faster?”

This is one of the reasons you should put a brake to your routine and spend time for retrospection,so that you can go faster.

In this blog I will share few points on personal retrospection. The personal retrospection is effective when it spread across few sessions but it is also important that it is done with some planning.

People in the Agile Community are familiar with the doing retrospection with teams. The following points might help you in your personal retrospection.

Step 1. Preparation

Block about 1–2 hours of your time.

Decide on a place that has less distraction and comfortable to sit and contemplate.

Have all your source of information including your phone, laptop, i-pad, Notebooks etc.

Supplies — Notepad, pens, Sharpies plus pack some light snacks/coffee/tea (optional).

Step 2. Making lists

List all the major events of the year.

Write down your accomplishments.

List of your failures.

List of down your incomplete/ work in progress initiatives.

List down people who helped you in your journey.

List down people who let you down.

List down your regrets.

Revisit your goals (if you have one).

Step 3: The process

Go through your lists in the following order.

First, take the List of failures and make note of lessons for the future. If you are feeling bad about the failure, this is the time to let it go. Feel good that at least you got a chance to try many people will not get that opportunity. Finally, failures are not the end but are intermediate milestones.

Next, take the list of “incomplete/ work in progress initiatives” — go one by one and decide the next action. It can be “drop the item” or noting down the next action required or mentioning a revisit required.

Next is to look at people related lists

“List of people who helped you in your journey” — Make a plan in your calendar either to send a thank you note or small gift or time to speak etc.

Next, it is important to look at the list of “people who let you down” — In this is list if there is any unresolved issue or incomplete communication set-up a time in your diary to complete the conversation. If you don’t want to do any of these simply you can forgive and let go any negative emotions that you carry.

Take a moment to wish well for all people on your list.

Then look at your list of regrets.

As you are going through the list ask yourself these two questions

“What I could have done?” — Note down your response.

“What I can do now?” — Note down your response. If there is something you can do now then note down the action in your diary.

Then look at your previous year’s goal and assess your performance, Make notes for your planning exercise (Don’t try to do both retrospective and planning together), make a summary of your retrospection.


Finally look at your accomplishments. Note down the motivation and factors that helped you to achieve these objectives. Make a plan to celebrate your achievements.

Step 4: Completion

Finally take moment absorb all your experience, complete the retrospection process.

Nature does not hurry, yet everything is accomplished. – Lao Tzu

Summary of my retrospection

Overall the year 2017 was good. In terms of experience it gave me lot of time to think and contemplate about my future direction. Made some good friends and connections. Read some extraordinary books !! It was a good year 2017.

Last few years I have spent enough time and money on acquiring new skills, experience and qualifications. Now it is time to put all these back into practice and help others to grow especially our team in ProcessWhirl.

I will continue to share and help people to grow. Personally, I will stop focusing more on “Agile” (not that I will stop working on any Agile assignments) but go beyond and focus on core software engineering.

I will do some research and experiments on SEMAT/Essance and also sharpen my coaching skills along with study of “Ontology” (“being”)/philosophy.

— — — — — — — — — — — — — — — — — — — — — — — — — — — —

* 8D : The eight disciplines (8D) model is a problem solving approach typically employed by quality engineers or other professionals and commonly used by the automotive industry.

Raghavendra (Raghav) Mithare, (

Consultant and coach at ProcessWhirl based in London.

How many colors are there in the rainbow?

How many colors are there in the rainbow?

Did the number seven come to your mind?  Think again and look at the image clearly, can you see it has millions of colors? Still, If you are not convinced,  you can validate this from the data of Spectrophotometer.  


Number seven is also not totally wrong, you can call them as seven primary predominant blocks of color. The seven primary colors are RED, ORANGE, YELLOW, GREEN, BLUE, INDIGO, VIOLET, and from these primary colors we can create millions of colors.

But, Why did the number seven come to your mind when you think of the rainbow?

The reason is due to the working of the brain. In order to processes, large amounts of data and information the brain simplifies the input and stores them as concepts. These concepts are linked by categories and patterns (in this case Colours is a concept and the primary colors are patterns).

This complex processing can be demonstrated as below.


Input :

Brain simplifies the representation of the complex world and stores as (mental) models

World    —————-> induction   ———-> Simplification

In the same way, the brain uses deduction to interpret the world using its models or simplifications.

Similarly, the reverse happens through deduction.



To interpret the world the brain converts the simplifications through deduction and creates a sense of reality.  

Simplifications ———> Deduction ———-> World

Your view of the world (Simplifications) is a constructed based on the context and the mental models, beliefs, and values.

The real world (Reality) is given (it exists as it is), it is complex, uncertain, unstable, and contains a vast amount of information and data. The brain balances/limits the amount of information that it can process.

But it is important to note that, you have a sense of the reality or your interpretation of the real world. Hence two people react differently to the same situation.

So all the Models are the simplification of the real world. It is an abstraction from the past and sometimes a base to build the future.A proper structure and a language will help in developing robust models and interpretation of the real world.

UML is a good example of a notation that helped in developing models and developing software systems. The whole concepts of Object Oriented Analysis and Design is a mechanism for simplification of the real world.

This understanding of models, simplification, and deduction helps in analyzing and implementing models and framework like CMMI, Scrum, SAFe or LeSS.  The initiatives sometimes don’t yield expected results due to our inability process these models and convert them into useful practices, structures for the organization.  

This phenomenon is elegantly summarized by statistician George Box

 “Essentially, all models are wrong, but some are useful”.

Some interesting links

All models are wrong

Raghavendra (Raghav) Mithare  –



Ontological constraints in coaching ‘Agile Teams’- Part 2

The workshop was well received during the Global Scrum Gathering in Bengaluru. One common question asked by many participants was the meaning of “Ontology”. Ontology is a branch of philosophy, dealing with study of the nature of being. Currently ontology based concepts are used in professional coaching and leadership development work.  (Harvard Professor Dr. Michael C. Jensen (his initiative EJI) , Prof Dave Logan of UCS author of Three Laws of Performance, have done significant research and contribution to this field).

The term ontology is also used in Computer/Information Science for formal naming and definition of the entities for a particular domain.

The presentation slides

The intention of the workshop is to give the participants a glimpse of “being” as an experience.  It is important to understand and know the difference between “doing” and “being”, since in any agile implementation “being agile” is more important than doing agile. If this distinction is not made very clear then all the agile practices will face the risk of ending up like rituals without significant outcomes.

During the sessions one key exercise is to identify the subtle differences in actions taken (doing), results obtained (having) and the experience (being). The importance that the language plays in differentiating the experience is also discussed.

In the later part of the workshop the key constraints which are natural to all human beings are discussed and demonstrated through games (Rocket Singh).

The best way to understand these concepts is to participate in one of the sessions and experience it.

For more details contact :  Raghavendra (Raghav) Mithare at +44 782 164 5866 /


Ontological constraints in coaching ‘Agile Teams’


I’m speaking at the upcoming Global Scrum Gathering in Bengaluru (27-29 Jun, 2016). In this article I will give some background about my 90 min workshop. The ‘ontological constraints’ is the topic close to my heart and I’m excited to share these concepts with all of you. These concepts are easy to understand but difficult to explain. I think these concepts have evolved along with the evolution of human beings. I find them very relevant in the context of Agile Software development which emphasis “interaction” among people.

Whenever there is an “interaction” among people these ontological constraints play a vital role in the overall outcome and experience of that transaction.

Let’s look at, what is Ontology?  Ontology is a branch of philosophy focusing on study and nature of ‘being’, now this term is also widely used in social science, computer science and in many other fields.

The term is derived from Greek words, “Onto” for existence and “logia” for study, science.

In general ontology focuses on the nature being for everything for example take an apple. The existence of apple can be seen, felt and can be tasted. In the context of managing Agile teams, I will be focusing on “way of being for people.”

To understand ‘the way of being’, pause for a moment.

Observe your mental state (attitude and state of mind), emotional state (feelings and emotions), bodily state (body sensation), thoughts and thought process (logic and memory). So your way of being is “what is going on with you internally in a given moment or in a given situation”


Once you experience the way of being, you can now look at the ontological constraints.

To look at the ontological constraints you need do a small exercise.

Write down or make mental note of the following question.

What kinds of people or kinds of situations you find uncomfortable to deal with?

Consider that there are some invisible ontological constraints are at play here.

Share your thoughts here or write to me at /

Tweet at @mithareraghav  with #agilecoaching #SGBLR

I’m speaking at Global Scrum Gathering Bengaluru, 27-29 June 2016.  #SGBLR

Architecture & Agility


Few weeks back I attended a wonderful session – Architecture & Agility:Married, Divorced or Just Good Friends? by Kevlin Henney. I was particularly interested in knowing  Kevlin’s view on scalability , extensibility of Architecture especially using Agile methodologies like Scrum.

Before you read further let me caution you that I’m not an expert in the field of  (software) “Architecture”.  My expertise is in facilitating adoption of best methods and techniques for developing great products and coaching teams. I have a seen very high co-relation between  great teams v/s architecture and Agility. In this article I’m sharing few notes I had made during the session and a question which I’m pondering upon about software architecture.

Learning Connexions

Kelvin’s session started with many quotes and definitions of Architecture and their limitations and interconnectedness.  He shared the various views people have expressed to define architecture.

I personally use the definition provided by ANSI/IEEE , which states – Architecture is defined by the recommended practice as the fundamental organization of a system, embodied in its components, their relationships to each other and the environment, and the principles governing its design and evolution.

Kevlin spoke about all the points – components, relationships, environment, principles and subsequent design and evolution with appropriate example and quotes.

He made it very clear that (irrespective of the various definitions used)

Architecture is

  • central to your software system
  • it has to be represented (Abstraction)
  • it has to be implemented (code!)

In my own experience over the years, I have noticed that different levels of importance is given to “Architecture” in Software Development efforts.  I have seen huge shift in the activities related to defining architecture.

In the pre Agile era, in many organisations small group of people created huge set of design documents and they called it Architecture and very few created models by using tools.  Also few teams sometimes created additional documents to meet their internal policies , procedures or contractual obligations/milestones with lot of resistance!.

In the current Agile era, surprisingly, teams are not too keen to spend lot of time on  solution architecture. They are busy rolling out features every sprint and resolve architectural challenges as and when they encounter it.

In both pre-Agile era and Agile era( i.e. now), wherever the team is good and have at least one or two people with an “Architectural” mind set, the solutions have evolved exceedingly well.

Kevlin made it very clear that our architecture (Representation) and code base (implementation) are not different.  He made us look at the Twelve Agile Principles – “Architecture and Agility” are embedded in each of these principles.

Final point from Kevin’s talk was that -it is NOT about being rigid architecture.  It is not about saying – “this is it”. It is about being open to changes.

On my way back I was thinking about numerous interesting quotes and examples shared during the session. I saw the beautiful tower of the Shard* and  I stood admiring it’s beauty when a thought came to my mind.  Before the tower was built, lot of work might have gone in defining the architecture. Then there was the labour of constructing the structure and finally the building has come into existence. What is the force that binds and continues to hold all these elements together? In the case of Shard it is “Gravity” that is holding it together. So all architectural decisions are based on it. In case of Software Systems – what would be the equivalent of  “Gravity”? Unlike Shard our systems continually evolve. They are not static, standalone systems. Are the set of all “Customer Requirements” the “Gravity” that holds our Software systems? or is it something else? I don’t know but it will be a good question to ponder on.


Raghavendra (Raghav) Mithare is a professional coach and a scrum master, regional head for ProcessWhirl based out of London. Feel free to share your opinions, comments and feedback. You can reach him or +44 78216 45866

 Session Image courtesy : Learning Connexions Twitter Feed (@lconnexions)

Three pitfalls

2.LinkedIN Image Tempale

As I was undergoing my training to become a coach, I had the privilege of working with a wonderful coach.

One day when I was sharing with him that I was feeling a little low, he shared something that made a difference to me .

What he revealed to me was this –

Consider whenever you are in a bad mood or feeling low, you are most likely to be trapped in one of the below three pitfalls.

The three pitfalls,

#1. Comparing

#2. Complaining

#3. Competing 

The first pit fall is you are “comparing” with others, or your current situation with past situations or with some expectations. 

Majority of the times you keep comparing yourself with others – in schools it was the other guy/gal who got the better grades and today it may be a friend who is in a better position in terms of role, income or recognition. Look and see if you are trapped in some kind of comparison.

The second pitfall is “complaining”. You may be upset because of some unfulfilled expectations. It can be from people, systems and processes around you, society, current state of affairs, traffic, pollution, environment, global warming, etc. etc..

When you are in a complaining mode you are in trapped in the second pitfall.

And the last pitfall is you are trying to compete with others and you want to be ahead at times. When you are not ahead you feel a sense of losing. If it is healthy competition it is fine, but this is about the competition that drains your energy.

As a human being these are our natural pitfalls. But being aware of these help us to come back to our normal self.

As such these are not bad things but you need to be aware when the above feelings are not leaving you empowered.

Comparing is good when you are planning your next goal for development. It is good to look around, compare and then set your goal, and create a plan to accomplish it. But there is no point comparing every day.

Complaining is required to bring any unresolved issue to the attention of relevant authorities.  For instance, if the street lights are not working or if you have lost your baggage it is good and sometimes necessary to complain to the relevant authorities.

Competition is good as long it is healthy and you are growing.  A competition with your own self can be very beneficial.  

Hence while comparing, Complaining and Competition can be healthy, it is important to be aware about your own self and ensure that you don’t fall into the pitfalls of these emotions.

 Hope it helps you as well.

Raghavendra (Raghav) Mithare is a professional coach and a scrum master, based out of London. Feel free to share your opinions, comments and feedback. You can reach him at or +44 78216 45866

“Managing Change” – insights in implementing large scale Agile transformation


Over the years “Agile”1has become the de-facto standard of software development. This development is enabling organizations to deliver faster and better software by encouraging collaboration, rapid feedback and turn around. Agile software development not only ensures better quality product but also avoids expensive rework. From engineering point of view it has solved many of the challenges of traditional software development by adopting practices like continuous integration (CI) and sprint based releases. There are also numerous tools to make the process more adoptable.

But the challenges of large scale Agile implementation is no more technical in nature. It is around ‘people’ i.e ability to change people’s mind-set for agile adoption. Many of the agile coaches and sponsors have expressed this concern in multiple forums. This article is an effort to understand the nature of this challenge and share some insights.

First we should look at the nature of change itself. I have done many assignments, but while reflecting on those so called ‘failed’ assignments, I observed one common thread that existed in these engagements.

It was the nature of conversations in these organizations.  Steve Zafron in his best-selling book, Three Laws of Performance3 mentions “ .. an organization can be viewed as a network of conversations”, many of these organizations where the initiatives had failed consisted of conversations like “ .. Nothing is going to change here”, “we have tried this earlier”, “one more new initiative”.  There was a strong belief that “Things won’t change here”.

It is important to be aware of your conversations and ask yourself “Is Change Possible?” Depending on the answer you can plan the next steps.

“Is Change Possible?”

When you are tasked with facilitating the Agile Adoption the question to be asked to self is- “Is Change possible?”– This is not a new question. It is an old debate that goes back to many centuries. People who say change is not possible belong to Parmenides family. Parmenides, a great Greek Philosopher (515-450 BC) and founder of the Eleatic school of philosophy (universal unity of being) taught that change is impossible.

If you think change is possible then you belong to Heraclitus family. Heraclitus, another great Greek Philosopher (535-475 BC) taught that there is ever-present change in the universe.

There may be other factors that might influence the overall outcome of the engagement but it is important that you take your position on this debate.

If you take a position that change is not possible then you should look at appropriate ways to complete the assignment.

If you agree that change is possible then the next important step is become aware of two types of change. One is the change -“within”.  This is related to perception, opinion, judgement, point of view etc. of various stakeholders involved in the assignemnt. The second type of change is -“outside/out there” and it is related to the reality, the world as it exists. For an example you have a “good Python developer” in your team. This means there is a perception that he is a good developer and if the person is able to showcase skills in solving complex problems consistently then the person lives up to the perceptions around him, thereby strengthening people’s view of him. Lack of skill and/or perception needs attention.

Human mind constantly creates images of reality from “outside/out there” into “within” to form perceptions and opinions but this is a non-linear process.

When working with large organizations, it is not enough that you ensure effective change only by working on reality. It is equally important to have change in perception for all stakeholders involved in the implementation.

So there are two types of changes – Continuous (Reality)  – something that changes every day for e.g. implementing few stories, fixing some bugs, shipping code etc. Whereas discrete change(change in perception for stakeholders) happens suddenly. It may be an outcome of series of actions but the change is drastic. For example a small incident can break the ‘trust’ between a Scrum Master and the team. In a small conversation you might get connected to a stakeholder.

B1Generally we take good care of continuous improvement changes by taking various actions, completing tasks, conducting meetings, workshops etc. But in this process we tend to neglect working on an important task of changing people’s perception. Though there is no straight forward answer or formula to make this happen, but being aware of its importance definitely creates an opening towards it.

Let me illustrate the change in perception with an example of discrete change.

Let’s count the number of Lego bricks –

B2Totally there are 8 blocks but did you observe “Lee” hiding between these boxes?

I’m sure some of you have already found it but for those who have not yet found Lee, get ready now !

Look at the box again and this time focus on second line, keep looking at the white spaces.

You will see “L E E” written in a white paint on a black background.  Once you distinguish this it is easy to see both perspectives.

Therefore it is important that as a change agent one should ensure that the change happens both in reality and in perception. Marketing people know this secret very well that is the reason they spend lot effort in creating and maintaining a brand. May be it is time for Agile Professionals to apply this secret and help our clients for successful large scale Agile Transformation.


Raghavendra (Raghav) Mithare is a professional coach and a scrum master, based out of London. Feel free to share your opinions, comments and feedback. You can reach him at or +44 78216 45866


1 Agile – Software Development methods based on Agile Manifesto, it includes Scrum, Extreme Programming (XP), Adaptive Software Development (ASD),   Dynamic Systems Development method (DSDM), Crystal Clear Methods.

2 Agile Development Tools – Atlassian Jira, OnTime Scrum, Lean Kit, TFS,Rally Agile Platform

3Steve Zaffron, Dave Logan

4 Parmenides –

5 Heraclitus –

6 HeLuc De Brabandere


Creative Commons License

“Managing Change” – insights in implementing large scale Agile transformation by Raghavendra Mithare is licensed under a Creative Commons Attribution 4.0 International License.