Agency — July 10, 2015

J-D Method: Fighting the Enemies

Slaven Vincetić Software Developer

What’s every professional’s worst nightmare? The moment when they realize that they are having problems in their everyday work, and that whatever they do to fix them, it just doesn’t work.

Here at Degordian, we’ve implemented the J-D method to meet those challenges. It helps us boost personal growth and push the organization to the next level.

In part one of this series, we briefly discussed some of the most common roots of those problems and their implications on our work.

Now that we know the problem, we can discuss how to approach those problems, create an ecosystem that can work against them, and provide support for everyone to do it the proper way.

Just to remind you, these are the most common roots of all our problems (J-D enemies):

  • No planning
  • Short term planning
  • Bad habits
  • Lack of knowledge or experience

In order to fight them, we will create a troop for every mentioned enemy. We need to add all those troops into a single unit that will keep them all together. That unit will be organization.


We all know the importance of organization and we all know its benefits. But why do companies invest in the optimization of organization only when things start falling apart?

There are various levels of organization, but when you simplify it to the most basic level, the quality of your organization is determined by how much every person in it knows what he is supposed to do and how.

Do you know exactly what you are supposed to do and what is expected from you? Also, do you know exactly what every person in your team is supposed to do?

Organization creates consistency and a set of rules that define everyone, with no exceptions. The level of organization is the level of your and your team’s efficiency.

A well-organized system provides guidance on when and how to react, how to do something, how to communicate and how to use information channels. It keeps everything connected. Why do we need it? Because people are easily led astray, especially when there is a lack of good guidance or work organization.

A great example are the pit stops of Formula 1. Every individual knows exactly what he is supposed to, where to move and where not to move, when to act and when not to. And they do the entire act of changing tyres in a remarkable speed. Think about that for a second.

So, the first trait that we need is organization, and organization is nothing more than a set of rules.


If you are going to be good at what you do, you must be systematic. It’s easier said than done, I know. But, its impact and long-term benefits are quite obvious.

Being systematic in simplest terms means stopping and thinking about what you are about to do. It implies planning and trying to see the bigger picture. In the long run, it forces you to do things right,  and avoid doing things as you go.

It’s like playing a game of poker. Bluffing or being too aggressive could be a great tool to confuse, gain great psychological advantage or even scare some players, but if you don’t use it wisely, you’re more likely to end up bankrupt. On the other hand, if you are systematic, if think about your actions and evaluate them before you do them,  your chances of winning grow exponentially. Sure, you will lose a few hands, but in the long run, you are winning.

Be systematic, or in other words — plan ahead.

Performance orientation

Being performance oriented means that what you are trying to do is not just functional but also optimal. Being performance-oriented means that you will always try to push yourself and your solution from “ordinary” to great or even exceptional.

We can again use the Formula 1 pit stop example. We know that they are organized, and everyone knows what to do and when. But the thing that makes the difference is the fact that they care about their performance. They optimize every possible step and try to have the most optimal set of hand/leg moves to enable them to finish everything under 2 seconds. Try counting those 2 seconds. There, you just had your 4 tires changed! All that makes them exceptional, don’t you agree?

Another example. If you are writing a description for an item that you are selling on Ebay, you could write 3 pages that will thoroughly describe what your item does and what makes it great, but is that optimal?

Being performance-oriented means that you are aware of the system’s bottlenecks and you try to optimize them. Whether it’s Formula 1 tire changes, description of the items or the organization structure, the performance of every part of your system is important and it should be optimized.

In other words, ensure good performance by having quality checks.

Being able to abstract

Pretty strange trait, isn’t it?

Well, being able to abstract means that you are trying to see the bigger picture. And then a one even bigger than that, and then to see a possible redefinition of the first problem. It sounds a bit abstract? Well, at its core, it’s really about trying to predict as much as possible.

That means that you are not building fragile solutions but instead, you are giving solutions that are applicable even if the original requirements go through a bit of a change.

To explain it a bit better, let’s think of an example.

Let’s take a game of chess. (Or any other strategic game). Yes, great players are trying to predict up to 10 moves ahead. And they are building their position according to that. That makes them flexible enough to confront every situation derived from their opponent’s moves. That is a good example of abstraction.

I must admit, some things are hard to abstract, but there is no excuse for not trying. Also, people with more experience in a certain field are generally better at abstracting anything related to that field of expertise.

To emphasize, good abstraction comes with experience.

J-D Solution

OK, now that we know what traits we or our organization needs to have, we will explain how to ensure that we develop these traits.

We talk about the need for rules, planning, quality checks and experience. When we analyze these traits, we find that most of them can be acquired just by following a set of rules. Experience trait is a bit different, but that can also be acquired by sharing knowledge. So, how can we acquire all those traits? Well, by having some sort of code to follow, and that code must enable and support knowledge sharing.


Yes code, code can be a set of rules, written or verbal, it doesn’t matter. It’s just an agreement between you and the rest of the team/organization. Or between you and yourself. Code will make sure that everyone is following the same steps and incorporates needed procedures.

You can have a pirate code, samurai code, Jedi code (can you draw a parallel between Jedi code and J-D method), Barbie code. You can call it a procedure, process or whatever, the name doesn’t matter. What matters is that you defined it and that everyone sticks to it.

Following the same code (or philosophy), every individual will be on the same level as the rest of the team, and everyone will know how things are done. It helps to keep organization in place, to encourage good practice and to plan. Also, it will enable the organization to make sure that everyone is playing by the rules, and it will help every individual to avoid falling into the trap and going to the dark side.


Knowledge sharing

In order for everyone to keep moving forward with their personal growth, one must constantly learn and gain new experiences. The best way to do it is to use knowledge of people around you (or from some external sources). That is not an easy task.

You must be prepared to sacrifice time in order to gain new insights, but it pays out big time.  By sharing your knowledge, you are helping others grow much faster, be more productive and be more efficient. By transferring that knowledge to others you become even more familiar with the subject and you get a deeper understanding of it. And last but not least, if you are sharing knowledge with your team, the computable knowledge begins sharing exponentially.

Now we know our worst enemies, the roots of our problems. We know the traits that we (or our organization) must have, so we don’t fall into the same trap anymore. Also, we defined code and knowledge sharing as means to acquire those traits, boost the quality of our work and speed up our personal growth.