Time Management Decode

In a meeting, my team brought up the subject Time Management. People have been talking about time management for years. It is so easy to search on the internet. There are millions of articles. Sometimes many people look for answers, but they tend to forget to ask the right questions. What do you want to manage regarding time? Why do you need to do that?

I do not have neither questions nor answers. I do have my opinions in the topic instead. Hope they will give you some ideas to ponder.

You Cannot Manage Time

Everyone has exactly 24h a day. You cannot ask for more and accept less. No matter what you do, how you do, at the midnight, your day is over. It is just that simple. Time is up, over. You are done with your day.

I wish I had more time” Good luck! It is called naive. The universe laws say that

  1. The day ends at the midnight
  2. The week ends at the Sunday midnight
  3. The month ends when the last day finishes
  4. The life ends at the last breath.

There is nothing we can do. We should, well, just accept and embrace the facts. Once I realized that I stopped fighting internally about my lack of time. Instead, I focus my energy to find better ways of using time. Time is my own asset. Here they are, my views in the time topic.

Awareness

I spent a day without a single thought. Sometimes when it was over, I said “Thanks God! It is over.” I spent my most invaluable asset and I wished It was over. That was so stupid.

For the last couple of years, I have changed my mindset. Everyday I wake up, usually at 5:00 except I am hung over, the first thing I do is saying “Thank you, I have another day to spend. I will make the most out of it“. However, It was not easy, but I managed to follow. The more I speak to myself, the more awareness of the time I enforce.

We all have good days and bad days. When we have a bad day, we wish it is over. Please stop wishing that. We all have bad days. Some have more. Other have less. Raising the awareness will give us a better look at your day. You might look at your bad days differently. Why? Because you know that you have spent your most valuable asset. Therefore it is a good idea to reflect the result.

Respect

Respect time means a minute is valuable as a hour or a day. I often heard people saying

  • Let’s wait for 15 minutes. I will do it after 15 minutes.
  • Just 10 minutes left, I cannot do anything. Usually, it is 8:50 and you have to go out or do other task at 9:00. You have 10 minutes in between. And you just wish it slice.

During a day, there are so many time blocks, they can be 5 minutes, 10 minutes, even 30 minutes. Have we ever paid attention to them? Have we ever wondered how to use them, how to utilize them? No. Many people might not even know they exist. Tim Urban has excellent post about time block. You can define your own block in the way that makes sense to you.

Thinking in term of time block, we can explain why people feel lacking of time and struggle to find ways to manage it. The feel of lacking time comes from the fact that end the end of a day, you feel that nothing has been done. You accomplish nothing. And that when you blame for the lack of time.

When I asked someone what they have accomplished in the last 6 months. They said they wanted to learn/do many things. But they have not had enough time. That excuse has been used by millions of people over centuries. Please stop using it. Let’s someone else use it but not you.

Everyday we are often interrupted by unplanned things, by unexpected people. It is the reality. Let’s face it. Which means there are many small time blocks created. Look another way, that also means that you have many time blocks available at your disposal. On this view, you have more power on your time. Instead of struggling with time, you simply look for ways to make the best out of your available time blocks.

 

What should one do with their time blocks? I do not know. It depends on their interests, their purposes. But I can tell you what I have done with my available time blocks. I am writing this post in my available time blocks. I do not have a full block of hours to write the post. But I do have many small blocks of 10 or 20 minutes.

Here are things I usually do with my time blocks

Reading

I have work, have family. I cannot request a full day just to read books. I do not have any planned time to read books. Instead, I buy a Kindle, paper books. I always bring my Kindle, sometimes including some paper books. I read them when I am waiting in the car, when I am on taxi, when I am on Uber. I read whenever I have a block of 10 minutes. If I do not know how long I have to wait, I just read.

Learning

I prepared for PSM1 exam mostly in those time blocks. I made sure the materials are ready and easy to reach. Within 10 minutes you have learned a lot. It is much harder to learn in hours, but it is rather easy to learn something in 10 or 30 minutes.

I wrote this post in many small time blocks. Writing and blogging are good ways to learn.

Meditation

This subject is rather new to me. Sometimes, I spend 5-minute block to breath, or simply a quite moment to think.

The other time, I do yoga or Tai-Chi. I just need to learn some movements that allow me to perform within 5 to 10 minutes.

 

There are hundreds of things we can do with our time blocks. What you will do with your time is more important than how much time you have. Instead of waiting for the right time, or asking for more time, try to look at time in this way

  1. Time is your most valuable asset.
  2. View a day as blocks of minutes. Either 5, 10 or 30 minutes is up to you.
  3. Be aware that you have those blocks available at your disposal. No one can take it from you.
  4. Respect those time blocks.
  5. And design a plan to use them best.

So, instead of asking how to manage time, maybe better to ask what do I want to do in a block of 10 minutes? Or what can I do in a block of 10 minutes? By the end of the day, you realize that you have done many things. And you will feel good.

Have a good weekend!

PSM1 My First Certification Since University

At 5:30 AM December 13th, 2017 I decided to take the PSM1 exam. I passed with 95% corrected answers. Such a big moment! Thái Anh Đức at Scrum.org. And there is a story behind my decision.

The Story

I was introduced to Agile/Scrum back in 2009. And I hated it, especially the Daily Scrum (sometimes called Daily Standup Meeting) with the 3 questions being asked every day. I even called them the three stupid questions. I still hold that opinion to now. Since then I read from here and there about Scrum. There are some notion of Scrum-Like in the organizations I’ve worked with. I also attended some Agile events. I still have not felt better about Scrum. I thought Scrum is just a theory and it does not work. I hold that bias for years and that bias blocks me from learning.

Recently, I realized that I had not studied enough into the subject. I was not serious about it. There are good reasons for Scrum to be popular as it is today. Why don’t I figure it out? Why do I block myself from that? Once I made that decision, the next challenge was how. How do I hold that idea seriously? I know the normal trap that people have when they need to do something. Usually, we tend to make a big promise to ourselves. However, just a few days later we come up with excuses for not doing it. That was when I decided to take the exam.

Taking exam is a way to ensure that I am not joking with myself, that I am serious.

 

Before taking the exam, I heard people saying that those exams have no value. They are just a matter of remembering questions, practicing the answers, … and you get the certification. Really? “Is that simple?” I thought. By now, I confirm that it is not easy. Here is my journey.

The Journey

I started with downloading the official Scrum Guide. I printed it and carefully studied it 3 times. I did not just read over it. I studied it with my pencil at hand, took notes, picked out the important information. Do not fall in the trap of skimming it and think you understand it. Some might be able to do that. Many of us do not. Be realistic! After studying the Scrum Guide, I read some books suggested by the Scrum Org. At the same time, I checked out some courses on the Pluralsight. Once I felt a bit confident with my knowledge, I went to the next step.

Then I have to find a way to test my knowledge and get feedbacks. I found these links

http://mlapshin.com/index.php/psm-quiz/learning-mode/

https://www.thescrummaster.co.uk/professional-scrum-master-i-psm-i-practice-assessment

https://www.scrum.org/open-assessments/scrum-open

I took one and did the test. I failed miserably 🙁 That was the moment of truth. The test result put you exactly where you should be. Embrace it. I came back to the Scrum Guide and continued my study.

The nice thing about those tests are they give you answers with an explanation. Mostly they pick out the part in the Scrum Guide to backup the answer.

If you take the tests from all the above links, you will notice that they have different formats. Which means that you cannot remember the questions and answers. And the fact that there are too many to put into our short term brain memory.

After a few days of studying and practicing, I started to understand the Scrum. My testing scores were improving. And soon I completed 100% with half of the time. I kept studying and practicing for another week. I do not just want the certification. I want knowledge. And I was afraid of failing the test.

The Day

The day has come. I had to make a decision – Take the exam. PSM1 is about the basic knowledge of Scrum. I cannot keep learning the basic forever. The only way to verify my knowledge and get feedback is taking the exam. Either pass or fail, I will know where I am standing. Took a deep breath, I did 2 important steps

  1. Order the exam from Scrum.org.
  2. Create an item in my TODO list to take the exam tomorrow at 5:30 AM.

They are very important. Otherwise, I will find a good excuse to delay. As planned, with a bit of nervous, a bit of thrill, I checked the network connection to make sure I had a good stable one, I started doing my test. Once I click the button, there is no way back. The clock starts counting.

Even I did well in my open tests, the real test was a challenge.

  1. Most of the questions are not the same as you did in the open tests. Some might have the same idea with different expressions. That requires you to read and understand the questions and answers carefully.
  2. Time moves so fast. Make sure to keep a good balance between the time left and the questions. You should soon hit the speed of 1 question per minute. When I finished all 80 questions, there was 7 minutes left. I had very little time to
  3. Review all bookmarked questions. If you are unsure about a question, you can bookmark it.
  4. The test takes 60 minutes. Focus is also a challenge. That’s why I chose to start at 5:30 AM.

Mission Accomplished! I finally got it done!

Oh Congratulations! where am I standing in the Agile/Scrum buzzword? Basic, sirs! I know the basic of Scrum and have a good starting point for the next level.

That’s it!

6 Thinking Hats

Last week, I shared my 6 Thinking Hats understanding with my team. Initially, I had no clear idea of what I will talk. I just got started knowing it for a while. I love sharing my thoughts, my understanding even I have not had a strong knowledge about them. I just, well, do it. It turns out the presentation went well. The team loved the idea, loved the way I shared with them. I can feel it. At the same time, the 6 Thinking Hats idea is more visible in my mind.

Here comes the story. My wife usually mentions about the tool. She loves the idea, the principles. She has trained the tool to his co-workers. She told me to check it out. At the same time, I have read other tools, such as Mind Map, Visual Thinker, … I, well, did not check the 6 Thinking Hats. One day while driving to work, I viewed it on youtube from the author de Bono. I highly recommend you view it. And you should view it many times, at least twice. The video fits well with my driving time. By the time I got to the company, the video ended. I got the idea. I loved it.

I will write what I understand about the tool. Warning: I do not claim what I understood is correct. Each has their own understanding, own translation of the tool. If you are reading this post, please use it as a reference. If you think I misunderstood something, please write in comments. I highly appreciate. Thank you! Let’s get started.

Agenda

  1. Why? Solve problems?
  2. What?
  3. How to remember?

Why?

Why do we need 6 Thinking Hats? What kind of problems does it solve? I consider those are crucial questions.

The meeting

What were your last recent meetings? How were they going? More important, How did they end? When there is a problem, a team holds a meeting to discuss, to find a solution. They think that more heads are better than one. In terms of mathematics number, it is correct. The reality? Not so much as expected. There are many good meetings with good outcomes. I am aware of that. However, at the same time, there are many meetings with

  • Not many people involved. They are there but not there.
  • Everyone speaks their own way, their own language.
  • When an idea comes up, one person agrees, the other disagrees, … and so on.
  • People keep talking.

I wish you have good meetings

The personal thinking process

We learn many things technologies, culture, art, … How about how to think? Have we ever considered learning how to think? We often heard about *logical thinking*, *system thinking*, or *critical thinking*. Those are wonderful terms and techniques. However, looking back to the daily problem that people face, what are they? Does anything below ring any bell?

  • I do not know where to start.
  • I got stuck.
  • How do I know if I miss something?
  • ….

People, I meant many not all, are trapped in their thinking in a circle.

What is 6 Thinking Hats (6-T-H)?

Wikipedia has a full definition. For things like this, I usually have had a hard time to digest those definitions. I created my own version of understanding. At least, I can understand them in my way, thus, I can remember and use them.

6-T-H is a TOOL. It is crucial that you must see it as a TOOL. They are not some kind of magic hats that when you put on you get smarter immediately. No, it does not work that way. Just like any tool, you have to PRACTICE. Keywords are TOOLPRACTICE.

6-T-H is NOT a labeling system. There is no such a thing like: you are a black hat person, I am a white hat person or vice versa. The hats are not used to label people.

In a meeting or discussion, everyone must wear the same hat at a time.

Each hat with its color is a metaphor. The chosen color allows the metaphor to intercept the brain-default-thinking habit. The color plays the trigger role. When a color is named, a right thinking process is triggered.

Blue Hat: Managing, Controlling. When you start using 6-T-H tool, you wear it by default. Whenever you say to yourself “hey let’s try 6-T-H” you already wear the Blue Hat. Congratulations.

White Hat: Information. Just like a paper or a whiteboard. Collect the information.

Red Hat: Emotion. Express your emotion without judgment.

Black Hat: Danger, Risk, Alert. Such an important hat. You might want to ask yourself this question when wearing this hat: What can go wrong here? What am I missing here?

Yellow Hat: Value sensitive. The color reminds me of gold. Find the value, as many as possible. For everything, every situation, no matter how bad they are, there is always a good value out of it. Find it and you will see.

Green Hat: Opportunities, Possibilities. Explore all the possibilities. Sometimes, we are so focused on one thing. We are missing the many of others.

The common questions are

  1. How do I know when to wear what?
  2. What are the orders? Is there any specific order to follow?

Because there is no simple, single answer for them. They are holding people back. I would suggest that you should go with White Hat first, btw you have a Blue Hat for free when you decide to use 6-T-H. Next, you might want to use either Black, Yellow, or Green. Most of the time, I do not think that we need to use all of them.

The most important part is not about what/where/how to use them. The most important part is getting started, is to practice it. As you practice, you will define and build your own version of 6-T-H. The more you practice, the more natural it becomes to you. With time and dedicated practice, it becomes a part of your brain, of your thinking. And that is how you are thinking, that is how you are solving problems.

It is not going to work“, some might say. No, it does not. Unless you actually do it. If you are looking for ways to improve yourself, I highly suggest you try. If you think it is not going to work, or just a bullshit method, look up on the internet. You will see what people are saying about it. Still in doubt? Maybe you should try another method, maybe 6-T-H does not suit you.

How about using 6-T-H to decide if you should practice 6-T-H? That might be a cool idea.

How To Remember?

To practice anything, you have to remember them first. It must be a deep understanding, not a high school lecture. Back in the school, I was taught to learn by heart with sentences and bullet points. It works. I can do that. I can cite when someone asks. But

Back in the school, I was taught to learn by heart with sentences and bullet points. It works. I can do that. I can cite when someone asks. Problem? Think about it for a second. You are about to apply 6-T-H. Then your brain is interrupted by recalling those memories. By the time you remember them, you have lost your moment. The focus has been shifted. This remembering method is used for schools only where you learn knowledge, not skill.

Then I have had a chance to meet Mind Map. It is such a powerful tool. However, I do not feel it fits my need to remember 6-T-H. I find Mind Map is wonderful for creativity, exploring ideas, and taking notes.

Finally, I come to Visualization Thinking. I am not sure that term exists or there is a method for it. What I meant by Visualization Thinking is that I build an image of 6-T-H in my mind. The fastest way the brain can access information is by images. So instead of remembering sentences, remembering definitions, I remember images.

I built my own unique image of 6 Thinking Hats in my mind

Take an example of Yellow Hat. One might want to remember the definition in text. Or remember the keywords such as *value sensitive*. How about an image of a 9999 Golden Ring? When using an image, it allows you to explore the meanings. It is more powerful in that way.

That is just one hat. The problem is that I have to remember all hats in a connected way. Each hat is a dot. You have to connect the dot.

Here is how I built that image. I hope it can help you in some ways.

When I was listening to the video, when came to the Green Hat, the golf field came to my mind. Well, because there is a golf field in front of my condo (of course the golf field is not mine 😛 ). I took that scene, encoded, and visualized in an image.

White: A big empty paper. Imagine that I was about to paint a picture. Let’s put some information in.

Black: Draw a curly line in the middle of the paper. Black is the hell underneath. It means watch out, there is something underneath that you have not known yet.

Green: The grass on the field. Because the grass is green. There are plenty of them. They represent for opportunities, for possibilities.

Red: There is an in-love couple standing on the field. Thinking of a red face of an in-love girl. We are talking about emotion.

Yellow: Oh the man is proposing with a big golden ring. That is a good thing. Gold is value.

Blue: The sky. The sky is covering the whole picture, over the golf field. If the weather is good, the couple is still there, the grass is growing, looking good. Otherwise, things might tear apart and the picture must be re-drawn.

The image looks funny. Sometimes, it does not make sense at all. But that is the whole point. I created my own, unique image connecting everything I need to remember. I created that image weeks ago. I can access it anytime without losing a single small detail. The beautiful part of this approach is that when retrieving the image I can add more detail. It allows me to explore more.

The approach can be used in many areas of our life when we want to remember something when we are learning something. Imagination is a powerful tool. It helps us to connect the dots and put them into our long-term memory.

Final Thoughts

This is my first attempt with 6 Thinking Hats. The more I think about it, the more I like the approach. It is so simple that I can practice. The most important thing to remember is that it is a tool and has to be practiced a lot.

It is also super easy to get started. Here is how I do it. Notice that I do not apply it in every thinking or problem-solving. When I have a problem to solve, I will self-talk/self-ask:

  1. Ok, let’s apply 6 Thinking Hats to see what I can do. At that moment, I got the blue hat by default. I have started the thinking process
  2. Put on White Hat: What information do I have at hand? I write them down on paper. This is very important. If you do not write them out on a paper, you will have a problem with processing that information. Most of the time, you will be trapped in your thinking. Well, unless you are an expert.
  3. Put on Black Hat: What am I missing here? what is the real problem? Again, I write down on paper everything I can think of.
  4. Put on Green Hat: Ok Good. I have information. Let’s connect them. And find some possible outcomes – the possibilities. Sometimes, I use the Green Hat to answer the question “what is the real problem?”.
  5. Yellow Hat: What have I learn from this? This is where I extract the value from problems I have solved.

I have been working on improving my thinking pattern. Practice makes perfect.

I hope the post gives you another perspective when looking at 6 Thinking Hats. If you give it a try, I would love to hear your feedbacks on your progress. Otherwise, thank you for your time. I am very appreciated your reading time.

Deliver This Feature, Agile Said. Hmm, What About?

Agile is a good methodology to get things done. I buy the philosophies behind it. I think it can be applied in many areas, not just at work, not just at building software. To me, Agile is a tool, a meant to help me get the job done. In software development, I have heard people talking about these beautiful things.

  1. Agile team is self-organized
  2. Deliver working software (features) every sprint.
  3. No upfront design.
  4. Hmm, do we need an Architect? Do we need a Team Leader?
  5. Embrace changes
  6. ….

Many fantasy things. When I first heard about them, I thought

Wow. That’s so cool. Everything looks perfect. Hmm, if everything is perfect, then there is a hidden problem.

Unfortunately, I felt something was missing. Later on (at least up til now), I have found many. Basically, all those things are correct if, and only if, you have a perfect Agile Team. In reality, we all know that human is the root of everything. And having a good team is, well, just a dream. We have to face that truth. Do not try to assume we have a good team at hand. It just does not work that way.

Let’s take a small area from that fantasy: Add a new feature.

The Story

Good morning SWAT Agile Team, in the sprint we will deliver a new cool feature: Delete (soft delete) user. The feature will allow the administrator to delete a user. Users are marked as deleted but not removed from the data storage.

With these facts

  • The system has 10 of features built in.
  • There are features associated with User: Create, Edit, Manage Order, …

The wishes

  • The new feature will not break the existing ones.
  • Reuse the code as much as possible.

The untold facts (which will be discovered when writing user stories for the feature)

  • Some existing features will be impacted. Cannot delete users having orders. Cannot edit a deleted user.
  • Code Quality: Cyclomatic Complexity (CC) must be under control.

If you have been in such a situation, please share how you will handle it.

The Problem

Developers, Testers when joining a so-called agile team, how much have you known about Agile? When a project starts, developers are sold a plan of getting small deliveries, increasements. No upfront design. No architecture. Hey! That is the waterfall, folks, an Agile-men said.

There are many requirement meetings, discussions, … Everything goes well as planned. The team has a clear set of user stories. Estimation is done. Agile is on set.

Good! Ladies and gentlemen, where do we write the first line of code? Serious. Where do we write? Not mention how. To make thing super clear, where/how do you write the first line of production code? Just to opt out the Unit Test code.

A harder question. How do we code in such a way that in the middle of the sprint (or next sprints) the requirements change? How do we embrace the changes?

As the system grows, the harder to add a new feature.

The Solution

Hell No. I do not have a solution. However, I do have some proposals.

Infrastructure and Architecture

No matter what fields we are in, to embrace changes, to stand still, we need support from Infrastructure and Architecture. Without a good foundation, we just build a house on the sand. A single wind can blow it away.

We need an architect. We need a good, stable foundation. If there has not, we must build one.

We need an architect to define system boundaries, to separate the logics into proper concepts, to decide the architectural style, to decide design patterns. A good architect will limit the impact when implementing a new feature or modifying an existing one.

For legacy systems, a good architect can help decouple the dependencies, create boundaries. It is much harder than in the green field projects. But it can be done and can improve over the time. Otherwise, every single change is a risk.

Agile Mindset

People are the core of everything. Members decide the success or failure of the project, of the team. What is their mindset? We bring Agile in to increase the flexibility, to embrace the changes, … None of them will work if members think

  1. I must have a clear requirement to start with.
  2. My job is just coding or testing
  3. Who cares about the design. I just need to code this function. I change only a small part of the code.
  4. Hey, I just add a new method for me. Isolated. No breaking change.

Still the old mindset. I am not saying that mindset is wrong. But it does not fit the new environment either.

I would suggest the first thing we should do is to train our member; to get them adapt with the new mindset; to install the agile mindset into their subconscious mind. It is not easy, not at all.

A few things we can train developers

Architectural Thinking

There is no clear definition of Architect. However, everyone can think architecturally. Every developer, paid for a job, must be able to write code. They should not stop there. Instead, ask these questions

  1. Can I read my code after 3, 6 months? How about a year?
  2. How many ways can break the code?
  3. How easy to change? What if clients want to change XXX?
  4. Is it easy to understand?

What kinds of architectures that support well to embrace changes?

It is a long road. It is worth a try. Oh, wait a minute! Which means we need an architect. Yes, Sir! We need an architect or one having architecture skill in the team.

There is an argument saying that the architect will setup the system, build the framework, make some training sessions, and finally handle over to the team. Good luck! Soon enough, the framework will break. Things will tear apart. Why? Because of the lack of quality of maintainers, the development team.

Coaching

We cannot change someone else mindset. It does not work that way. However, we can show them the right mindset. We can consistently tell them the right mindset. Coaching approach might work. That is you do not train or tell someone what to do. No! They decide what they want to do and how they will do it. We, the team leader (I hope you have one), will

  1. Give some suggestions, show the direction
  2. Encourage
  3. Motivate

Will It Work?

I do not know. But if your current team does not work as you expected, maybe you should try it. There is no silver bullet. Try and Improve!

In discussions, every leader seems to know that people are the most important asset. However, when it comes to daily work, the reality might not the same. How much do we care the most important asset? What have we done to improve that asset?

Agile or waterfall, no matter what methodologies we use, we are a team works on a mission. We want to get that mission done and we want to be proud of what we have done.

Should we need an Architect in the team? Yes. Definitely. Then help everyone think as an architect.

Should we train our people? Yes. Definitely.

To win the war, you need good soldiers!

Happy Sunday! Thank for your reading.

Agile, My Own Version

People talk about agile these days in Software Project Management. Each has their own understandings and practices. Sometimes, I have a feeling that people focusing too much on its concept; on what it is; on what we should apply; on how to apply …

Is there any problem with that? I do not know. I cannot judge someone decisions.

However, these are what I know. I know that I have to start with asking the right questions, that Agile is a tool to solve a set of problems.

  1. What are my problems?
  2. How can Agile help solve my problems? Has it solved the similar problems?
  3. What are fundamental steps I should follow?

What Are Problems?

You cannot bring a tool to fix a problem that you have not known. It seemly does not work. There are hundreds of problems when running/working a team. Each team has different set of problems. There is no perfect team, my opinion.

The first step is to identify basic problems that the team is facing. As a software development team, there are some common problems that I have seen. Yours might be different than mine.

Lost Focus

What if you ask a developer in your team “what are our goals this week?“. I hope you will get good answer that your members know the team’s goals. From my experiences, they cannot say clearly about the team’s goals. They might say let me check the board. The point is that those goals are not clear to them.

Why? There are 2 possible reasons I could think of

  1. Developers are so focus on their tasks (or they say so). Everyone has their own “to do” list on their mind.
  2. The goals themselves are vague. Even the leader cannot say it clearly in 1-2 sentences.

Low Productivity

Output is not good. There is a high bug rate, high regression bugs. There are different definitions for Productivity depending on the team and organization. However, in short, Productivity means you deliver what you are supposed to deliver.

Why?

  1. Lost Focus (from above): People are not aware of what they should deliver.
  2. Cooperation: a crucial factor of a team.
  3. Lack of energy: There is no rhythm in the team. People feel bored.

Agile as a God

Agile has emerged. People pay attention to it, read articles, books. And they quickly start to apply in their own teams and organizations.

Then we see people asking about “how to apply agile?”, “why does Agile not work in their team?”, …

Imagine the situation when you come to your team meeting with a strong claim: guys, we apply Agile. Then you start explaining about it. How cool it is. How popular it is. You have hundreds of reasons. You, then, set up Kanban board, announce daily standup meetings, … all other practices written for Agile.

What will you get after some weeks?

Soon you will chase to solve another new problem: why has Agile not worked with my team?

Wait a second! What was the problem that we wanted to solve at the first place? I hope someone in the team will ask that question.

Agile, on My Eyes

I would like to use Agile as adjective (yes, Agile is an adjective). That is Agile is a set of principles to help us improving our way of thinking, help us delivering better software, better output. That it has some practices to help us solving (improving) our problems (some I mentioned above).

I do not like to think Agile as a set of processes, steps, … or a set of instructions that we should follow.

Let take it small steps.

Daily Standup Meeting

The most common concept that people talked in that meeting is the three questions. In the nutshell, they are

  1. What have you done yesterday?
  2. What will you do today?
  3. What block your way?

My opinion, they are boring. I do not think they work as expected, either. To force myself from not thinking about them, I called them Three Stupid Questions.

Wait! What the problems the meeting is trying to solve? Focus and Cooperation. By letting the rest of the team knows what you have done, everyone has the same vision. By raising the impediments, other can have a chance to help. The intentions are good.

However, in practice, I have not seen it worked (I know it might work on other teams). How to verify that? I suggest asking one of these questions (after the meeting)

  1. How far are we closed to the delivery?
  2. What were the team’s accomplishment yesterday?

Pyramid and Brick

I created my own version of daily standup meeting. The main idea is to utilize the visualization. In stead of writing the goals in words, I draw a picture with the concepts of Pyramid and Brick.

Agile DailyMeeting Goals Visualization
The visualization of the goals for the team

It must be a hand-drawing one. Team leader will draw it everyday in the team meeting.

  1. Pyramid: is the rectangle.
  2. Brick: the yellow or black boxes.
  3. The window on the top right: The visualization of the delivery. In this example, it is a web form.
  4. The face (with 2 arms): The team. The team controls the pyramid. They are in charged of everything. In the end of the meeting, it will either a smiled or sad face.

How does it work?

In the first meeting of the week (or sprint, I prefer weekly basic), the team will help build the pyramid. Bricks are work they have to do to build the pyramid. In the Agile terminologies, they can be either Epic, Feature, User Story, Bug, or task.

On the next meetings, each member will say what they have done will either move the bricks forward or out of the pyramid.

Agile Goals DailyProgress
Check the daily progress. Should be more yellow bricks. The red ones are out of track

By having this visualization, everyone is more aware of what going on and how far they are closed to the delivery without reading a whole bunch of words.

At the end of the meeting, we should expect this happy face. If not, we should draw a sad face, honestly.

Agile DailyMeeting HappyFace
A happy face we should expect at the end of the meeting

It depends on the creativity of each team to make the visualization alive. The more creative the better they will remember.

Task Based Completed

Put aside the requirement of having a good user story. Because we do not have that much luxury. The reality is that most of the time, we do not have a clear requirement, a well-written user story. That causes some problems. One of them is the feeling of getting thing done. Having spent more than 8 hours per day, working hard on the job, and the next day, we cannot proudly say what exactly we have done. We are kind of aware of what we did, but fail to name them.

To improve the situation, we came up with “Task Based Completed“, known as “The Golden Board“. In the Standup Meeting, your face should be on the board. There is no rule, no punishment, nothing required. Simply your face should be on the board. If not, not a problem, see you tomorrow. Again, your face should be on the board.

There are some benefits with this approach.

  1. Encourage the cooperation and design. To breaking down in to small delivered tasks, they have to cooperate with each other and in that process, design the system. Tasks become your technical design documents.
  2. Short error prone detection cycle: While implementing a task might spot a fraud in the design or requirement. The sooner the better.
  3. Feel good. We know for sure that we have done something; that we get the job done; that we move things forward; that we cooperate with others.

One of the key point to make this system works is to make the task creation/completion super easy. In other word, do not put processes in the task creation. Task creation should be easy as creating a task in to-do list application. However, one should be improving the task’s name. The task’s name should be clear and understandable to the creator. Again, there is no requirement for others to understand others’ tasks.

 

Final Thoughts

Tools are tools. They are their to help us, human being, do our job. Each tool solves a set of problems. Before applying any tool, make sure we analyze our problems first.

When come to the teamwork, the most important factor is people, not tools/processes. Do not throw a tool to a person without instruction/training.

Boy Dig a Whole
Boy, here is the hoe, dig a whole.

Have a good week!