Software Development Team Manifesto

We are developing software with goals to bring the best value and satisfaction to the customer, company, team, and ourselves.  It’s pretty challenging to find a balance and reach all these goals at once. Through our work, we have come to values and conclusions which will make these goals do not contradict but fit each other :

  1. The Team is one of the most important values of the company.
  2. The Team is the most important structure of the company, which creates value for the customer.
  3. A motivated, result-oriented and professional Team can bring more value and satisfaction to the customer and company than just professional Team or group of independent employees.
  4. Team individuality, its rights to impact on its work processes and composition should be respected.
  5. The skill to act as a Team Player is essential for employees.
  6. Team & Employee Satisfaction is no less important than Customer Satisfaction.
  7. Being a part of a Team, with the ability to Own & Invest & Get value from work, is one of the best ways to make employees motivated, engaged and accountable for results.

It’s in review and will be enriched. Later I’ll also extend it by principles.

Photo by Mikhail Nilov on Pexels.com

Simple System for Processes Development ?

For a long time I work with teams to create some processes/workflows/guidlines across different groups of employees and structures (project, department, company, communities etc) .

Finally processes we create are spread across multiple places:

  1. Task Management System (like Jira)
  2. Knowledge Base (like Confluence) with process definition/guidlines/policies
  3. Learning Management System (like TalentLMS)
  4. Custom Automation tools (internally developed)
  5. Personal Checklist tools with my personal reminders or todo’s (like Todoist)
  6. Just Brain of some employee 😉

As a result, each time we build a process with such approach we meet the same challenges:

  1. It’s hard for employees to follow process spread in different systems. It creates several useless efforts to check how process was done, identify and repeat forgotten steps.
  2. When the process documented as text it’s hard for employee to go steps by step and nothing to forget. It’s hard to stop and proceed later.
  3. It’s pretty hard to build single, clear and continues process flow in different systems. Especially it’s hard because not only one employee involved in the process, but many from different departments, organizations. The process flow should jump from employee to employee with using of several rules/roles. Usually it requires some automation or just manual work of assistant (if you have them)
  4. It’s hard to support and extend process in different systems. You need to keep it in mind the whole process to not forget something.

Finally, if company have no approach/culture how to build a processes it creates some kind of mess which produces pretty big administrative efforts and impacts on quality (depends on company size). It creates a case when company is focused to make process work, but not the goal of the process, which is more important.

My idea that many of challenges from above can be fixed if company will have some kind of Process Development System which depends on size of the company. As far I understand, it’s a sub set of Business Process Management (BPM) Systems.

Based on my experience, many companies/projects/organizations doesn’t require complicated systems.

In my opinion it can have the following features:

  1. Process flow should look as a set of not complicated Checklists linked together in flow based on input and roles (something similar like Jira ticket flow).
  2. Checklist is a core node of process. It should contain information to proceed or direct links to materials where to find these details.
  3. Checklist item can have ability to save result for step (text, image, set of documents)
  4. Process should have ability to be assigned to user better if automatically on some action/schedule or information (e.g. based on some info from Identity Provider)
  5. Process should have ability to setup due dates for checklists (“steps”)
  6. It should be ability to track Processes state and statistics(current step, how long in this step, estimation of completion)
  7. It should be a ability to communicate inside of processes (steps) with all involved users
  8. Process can have sensitive data. It would be great if it will be possible to set visibility for some conversations, checklist results, checklist and process in general
  9. User should have a dashboard to see checklists waiting for processing
  10. System should have a knowledge base of attached materials
  11. System should have some kind of document-template which will be created (cloned) for each process
  12. It would be good to have any simple integration with another systems ( like Jira) to make them work in pair
  13. It would be awesome if flows can be build in visual way by drag&drop of checklists and linking of them.
  14. It would be great if user can suggest/approve process improvement directly in Process.

Now I’m in search of such system. Please share your experience with systems I’ve described before. It will be really useful.

I think such systems exist already. For example in google I’ve found:

It will be also useful to hear your feedback about topic in general. Thanks!

Photo by Pixabay on Pexels.co

Notes on napkins #2

Let me continue practice of small notes about Management:

  1. Good Leader / Manager unites the team, Bad – make team members fill outside
  2. If you not an engine by anchor for your team – it’s time to step out and give ability for a new engine. It will save what you have done.
  3. Every Activity (including Project, Process, or one time change) should be wrapped with key Goal(s)+ KPI(s) to track success. If manager says it’s impossible to setup – they doesn’t understand what they are doing.
  4. Every Activity should have an owner who has a short-term vision/plans in short term (“executor”) and owner who has long-term vision (“visioner”). Both visions are really hard to combine in one person.
Photo by Jess Bailey Designs on Pexels.com

Some notes on napkins

From time to time I make some quick notes. I think it’s a good time to collect them here:

  1. Good Manager simplifies complex things
  2. Great (Clear) idea compensate a lot of gaps to be achieved
  3. Power of Manager is a power of his team. Hire powerfull employees.
    A Manager hire A employees
    B Manager hire B/C employees
    C Manager hire D employees.
    Be an A Manager
  4. Leadership is about bravery: to take reponsibility, make decision, be transparent.
  5. Under Process we still mean exact People. Under Changes we mean exact People.
  6. Before giving benefit, define what you want to take back at the end.
  7. To change some process you need to describe the process at first.
Photo by Karolina Grabowska on Pexels.com

Homophobia from Employees – how to react?

Recently, there was a case when an employee was fired from a large company for speaking aggressively on LinkedIn.


In fact, I was surprised by the reaction of some colleagues and decided to share my opinion:


1) Aggression, which is aimed at a certain large and heterogeneous group of people on the basis that is given by nature (gender, sexual preference, age, skin color, nation, etc.) is essentially close to hooliganism for no reason: such aggression does not put in the calculation of a specific person to whom it can be directed. It can be any person with different values ​​and education. Usually, it’s a normal person.
Such aggression is irrational. I think this is a sign of some kind of trauma, fear, or lack of education.


2) Such aggression devalues ​​a person, reducing his dignity to a certain sign. I have doubts that it is possible to build rational, open, positive relationships with such a person.


3) In their work, such people clearly create risks, given the fact that other team members and the customer may belong to the group. Working with such a person is a ticking time bomb. Perhaps he extends this pattern to other groups (for example, women)? I understand this reaction from the company.


About the dismissal. Here I have a twofold feeling and the question: does it make sense first to give a choice to such an aggressor: take a course with a psychologist/psychotherapist or still quit. Should the company take responsibility for the person in matters of psychological health? I don’t have an answer yet.
I am also surprised to read the opinions of other members of the IT community when they support the expression of such aggression. On the other hand, I understand that it is sometimes difficult to draw a line between freedom of expression and irrational aggression.


I also made a survey “Should the company pay attention to the psychological health of the employee?”

Out of 618 people, the answers were distributed as follows:
40% – Yes – conduct training
30% – Of course – a psychologist should be on staff
30% – No – it’s a human business

Photo by Polina Kovaleva on Pexels.com

Few opinions about Interview

I read more and more about the 4 stages of an interview, etc. I was also previously skeptical about the principle of fast hire, fast fire.

At the moment, I have two opinions on this matter.


Opinion number 1


A good interview could consist of 3 parts.

Ideally, could be reduced to one interview:
The first part (30 minutes) is HRM pre-screening, which is essentially done to save time and superficially assess the candidate / match the position and the company as a whole (soft skills). The candidate asks questions about the company. This can be done simply as a short informal acquaintance. This part is best done separately from the interview.
The second part (1.5 hours) is carried out by a similar Expert Advisor, which is one level higher. It is important to have a quick test task (30 minutes). This part will help you understand the suitability of the position (hard skills)
The third part (30 minutes) is a direct acquaintance with the future manager. This will help to understand alignment with the future objectives / values ​​of the leadership. For an employee – to get specific work. Unfortunately, this important part is often skipped because the manager is busy or even uknown. Anyway this part gives necessary specifics and can solve a lot of questions and risks in future.

In total, the optimal duration of an interview with a separate prescreening / acquaintance is 2 hours.

Anything that longer seems to me more redundant and can be minimized to this timing. Of course there are exceptions: you build rockets or is has a non-trivial position.
Anything shorther – carries certain risks and benefits.

Opinion number 2


After all the interviews I have done and the bugs caught, my slogan is:


The best test for a person is directly the work that he has to do.

I made sure that:

  • There are candidates who can go through all the stages, any tricky interviews and tests, but show their inadequacy to the work / team,
  • There are also candidates who do not disclose at the interview, but demonstrate excellent results at a specific job.

There is another important reason why employees can leave their work after an excelent interview and great manager:

Work and external factors affecting the employee are also quite dynamic things.

If a person came to the same tasks, there is a possibility that over time (and usually unexpectedly soon) they will change, like the manager, the team. Even candidates don’t know if they can cope with such changes. Only time and specific work in a specific team will tell.

As a result, I think it doesn’t make sense to scare away candidates with complex interview: you will never find all hidden stones or gold. Real work will make it clean and clear.


In fact, I think fast hire, fast fire still makes sense, no matter how brutal it sounds.

Photo by Streetwindy on Pexels.com

It was a white stripe

Against the background of a decrease in connections / interactions within companies due to the coronavirus, I see a tendency towards a decrease in the values of values / attachments / loyalty of employees to the company. This greatly simplifies the attitude of employees towards changing jobs.

According to my feelings, we are only on the eve of a hiring crisis.

It seems to me that it’s time to revise your answers to the question:
“Why our company is better for an employee than company X, Y, Z”.

I see that many people have already accepted the fact that working from home is better than from the office. In fact, the quality and location of the office is no longer important, fresh coffee is not important, there are fewer intersections in extra-project activities, contacts with colleagues have become more abstract and virtual.

When a person stays at home, he definitely loses the mental connection with the context of the company, he contacts more with his personal environment (family, children, park near the house).

It seems to me that it entails a change of focus and priorities – people are more focused on themselves, on their environment, and their personal goals/comfort than on the company and its values, goals.

What’s still in the price is something that can improve the personal environment:

  1. Salary often comes to the fore. Left alone with personal space, there was a clear desire to improve and expand it.
  2. The ability to easily go to a completely different comfortable location for yourself / family (at sea) and work from there.
  3. More time for personal life, less workload (reducing the working week no longer seems fantastic)
  4. Interesting work and a good project team.
Photo by Ferbugs on Pexels.com

Big Difference

I notice it many times

There are two key types of people:

  1. People who are talking about the job
  2. People who is just do the job

I’ve noticed that people who are talking a lot before any job, spend the energy on how to avoid and delegate the work. It’s not bad, but one more strategy of life.

How to recognize them: they provide a lot of critics, they don’t want to take responsibilities, they are not proactive, they like to discuss others work, etc.

They select a “victim” role, but not “actor”.

Usually, they demotivate. Under the criticism, they like to hide their laziness or lack of their own motivation.

I respect people who take the job and move to success. This is the best example. All things in the world are done by their efforts.

They don’t search for an excuse, but ways to solve the problem.

just-do-it-hed-2013.jpg

 

Work and Horses

There are two nice proverbs about work and horses which I often share with my colleagues to describe few ideas in clear and easy way.

The first one is from Russia:

Horse worked harder than other on the farm, but don’t became a farm owner

I think it’s a good example, if you need to describe that you don’t need work harder, but more effective and smart.

Another is from the East:

Get off the horse if she died

It means that it doesn’t make sense to work on obsolete idea or goal. You need to select another one.

Sometime you need to be brave enough to realize that work you’re doing does not makes sense anymore. It looks stupid to continue with it.

Chaotic thoughts about processes and people

Time after time, it’s the strong feeling growing in me:

Processes are much less important than people who set and handle them. Even more: we’re speaking processes, but meaning people.

As far as I see, the process is just a tool created by the exact group of people to achieve defined goals.

From such point of view, the right process is just the implementation of the visions of the right people.

I think, that is the root cause why the processes in different companies has different level of success.

From another side the quality of a process and achieved results depending on the people who perform it.

As a result, even similar processes can produce different results. It makes hard to reapply the process to another environment.

I think the company culture plays a big role here.

This point brings to live another old idea to remove the human factor to make the process stable.

It makes sense, but what I see everytime I want to implement it

It’s really amazing how many efforts do you need to make an human-independent process.

Probably the cost of this approach is the biggest factor why it’s not applied everywhere and we’re still working with human-based processes.

In general, there are a lot of open questions. Some of them I want solve:

  1. How to build a stable process, but with room for creativity?
  2. What technics is more effective in building stable human-dependent processes. What books are describing them?
  3. How a company culture should grow to motivate the people for accurate process execution? How to do it without pressing and checking?