Category: IT »


Build teams that are proud of accomplishments and happy to show successes

Top virtues for a manager are to be able to select great professionals, to create a happy workplace and to promote innovation, learning and creation of ideas.

There are books and books written on how to achieve this, but many companies are struggling with unmotivated, chaotically hired employees that are “just working somewhere” and from that source they expect great achievements and to win in the market. Unfortunately, that doesn’t work.

As was I already writing in the past, the key problem in every business is conceived when owners are not able to verbalize what are goals and what they are trying to do with their investment. First and most valuable layer of goals should be around expected profit margin and its growth. “How to do things” is allowed from owners only if that is a distinctive business value that generates revenues otherwise, just confuses and clutters the pipeline. If you instead of growth (measurable, not to be “better”) you set goals as “create good product”, you will fail because “what is good?” and “why do you think that good product means profit?”.

When you have understandable goals (as profit growth), management has to hire top technology person that will start creating philosophy and products that will generate revenue that will be transferred into a profit. That person has to also be personally motivated and to have share of that expected profit. By using of that top technologist, you start hiring senior and a lot of junior professionals that will be “flash” of your creativity. They have to be from diverse backgrounds (to be able to provide different ideas) but they have to generally share same philosophy around some key aspects.

Seniority represents a trust. Do not hire too many senior professionals compared to juniors. You as a manager will entrust a lot of decision power to your top technologist and some to senior professionals. Think about it during hiring process. Never try to create amorphous mass, a goo of indistinguishable people because that will kill their productivity. Try to have them competitive between groups, but also to understand that majority of productiveness happens when they work as a team. If you setup them well, they will generate great value automatically and you will have a really good prerequisites for a success.

Different companies are using different techniques to keep employees motivated. Some of best I’ve experienced are to show that each of them can do a contribution that will be recognized and appreciated and let them be productive. Productiveness is the best motivator for technology professionals so clear space to let that happen. Build teams that are proud of accomplishments and happy to show successes. Create showrooms, create town hall meetings where you will let everyone to show great accomplishments and “what I’ve learned”.

No islands. You have to explain that everyone should be connected to hands-on creation. That will promote learning and staying up to date with technology. You do not want to have architectural boards if all of members will not sit with everyone, one-on-one, even with most junior developers to make connection and to detect potential issues by talking about ideas and solutions. One bad example is to have “diagram architects” and to create a body where developers present their technology changes to that board and get approvals. If you check principles of modern agile, you will see that architect role is dramatically changed and now is more an advisor, a guide or a coach than an executive and a decision maker. For that reason, architects are members of teams and not a separate body.

To be able to achieve this, in many situations you will have to bend rules and to let more chaos to happen than what you would like to have, but science shows that more control means less innovation and your job is to find a line where you get most from it. One of great approaches is cutting of waste and managing businesses by following lean business principles: have rules just enough and have control mechanisms to add new rules and to remove ones that are not longer needed. Also, sometimes you will do some practices as no one before and in the end if best practice is discovered, than all companies would follow that one and be equally successful and as you can see, that is not happening. Focus on delivery and results, not on process! A culture will create process, but process will not develop culture.

Permanent Link
Why less stringent rules and less managing produce more innovation?

We all like to live and work in well established and organized environments. That is history of humans for last thousands of years. But, change started with emerging of individualism in England and later in other countries (as USA) something interesting happened. In many countries people started being more and more innovative because innovation was connected to their interests and that was to improve living conditions. Today’s wealth of top countries is based on that freedom and individualism.

In everyday business we see a diverse company management styles, but one that is distinctive is combination of lean business and promotion of innovation. You would say: distinctive in what? In output, in company value gains. To be big or to be small doesn’t need to have any impact on company health and future. The problem is because larger company is, it has more and more strict rules about every detail of business. But it doesn’t need to be the case. There are positive examples that have less waste than counterparts (Google, etc).

Rules are definitely welcome, but we have to be really careful not to overdo them. Businesses are trying to make perfect system where great rules and regulations make people irrelevant so everyone is replaceable. In real life, that doesn’t work. We have science supporting that, and even it is clearly visible by watching successful companies. Greatest companies are successful because they have successful and great individual innovators that have a vision and know what is the right path to achieve goals. For example, Steve Jobs return to apple rejuvenated that company and after he left, Apple has similar problems as before even it is much wealthier company. That is why clever businesses keep their innovators as “golden geese”.

Great managers have to nurture intelligent individuals that like to try new things, that think about solutions without dogmas learned in schools. For that reason, my experience as a manager in the university taught me to hire interns and people not too established. All of them became great IT professionals. They learned how to think freely and how to solve everyday issues. After working in the university, all of them became top tier IT professionals working for great international companies.

For that reason, if you start micromanaging people it will make them passive. Some companies hire more managers to “animate passive workers”, but that always fail. You have to promote a feeling of ownership and allow individuals to get cheers when something is good or to be responsible if something ended bad. Not to be understood wrong: you have to allow people to fail sometimes because without failures there are no innovations. I learned from one manager that you have to ask them: “what do you think?” before you say something. It is the same when you talk to a patient. Any opinion you say before patient says what he/she thinks only “pollutes” his/her opinion and removes some value from the conversation.

Do not hire people with only questions how they did something 10 years ago by focusing on technology. It is entirely irrelevant. In past experience you should research on person’s ideas, adaptability, critical thinking and problem solving ability. You are not hiring someone to solve your problems as 10 years ago, but to help your business to solve problems in the future. Especially knowing how dramatically technology changed only in the last few years.

In the future we do not know what technology we will have. Sometimes it is extremely hard even to predict. For now we see that open source, distributed computing, big data and high business responsiveness approaches are winning and for that reason ideas as NodeJS had great success. Also many others. Even some hard to change companies like corporate giant Microsoft did tremendous move forward with plans and architecture of new .Net Core by moving it to open source, opening C# and compiler to other IDEs and other servers then Microsoft. But how successful that will be, future will show.

Great individuals will make you successful as a manager. Do not even start thinking that you can be any good manager by yourself. Remember: manager is professional that manages resources in the name of owners. So, if you create great team of individuals and let them to be productive, it will return as a great success to you as their manager.

Remember, do not allow yourself to be caught in any dogma that will cut your ability to see the future clearly. Open your mind!

Permanent Link
Why a lean business is so hard to have?

Since introduction by Toyota, lean business principles are more and more used by some of most successful companies. But, why it is so hard to introduce lean business principles in majority of companies? Because everyone is against them, everyone except owners and market.

Lean business general thought is to cut all actions and procedures that are not proven to directly help production timeline and quality. Lean principles treat all other things as a waste and tend to eliminate them. That exposes key items of productivity and nearly all of them are measurable.

Management, senior and junior professionals will in general tend to do things that are not measurable. To fix that, you have to be really clever with picking people for managerial roles and intelligent in giving your management clear and strict instructions about how to introduce competition, promote learning and sharing of ideas and opinions and how you will be grateful for all actions that are helping in your business goal: quality product on time.

It is easy to say that, but how to know that there is a problem? You will see enormous production of papers and “tasks to be done” full of words like: “increasing visibility”, “making customers happy” and generally never words about how to do it, when and what is cost and expected result of that change. That will show that your teams do not understand that you are not paying them to do things but to have things done.

So why everyone is against lean business? Because lean business is cutting not needed positions, creating competitive environment and decreasing costs. Modern managers behave as they are leading roles in union more than “governing hands of the owner” as they should be. They will kill you with costs, they will kill your productivity and you will be lucky if you survive the market. From three different competitive strategies: first runner, quick follower, legally protected, if you are in first two (as most are) you can forget it.

How to fix it? Again, pick top managers that you will use to run for you and your interest.� Reward them for any move toward business goals (speed and quality) and you will see that lean business will come automatically.

Permanent Link
Management: Why the combination of trust and responsibility plays so important role?

During his tenure in management, every manager has to understand that delegation of responsibilities plays extremely important role in everyday business. Because a lot of managers arise from other professionals, delegation is one of problems they do not address well often. From my experience, the top indicator that there is some problem is if manager is “tired”. Generally, that tiredness is created not by managerial duties, but by a feeling that “I can do something better than my team” and then you have manager becoming a resource.

Manager has to trust his people. When you hire professionals you have to pick people that are professionally trustable and accountable. More senior position is, more you have to be able to trust them. When you delegate some responsibility, you will create a feeling of ownership which creates much better performance and leaves you more time for other managerial duties. If you have to check everything and approve everything it shows:

  1. you are not able to hire people properly,
  2. you are not well organizing your team, and in the end:
  3. you are reducing productivity and output of the team you manage.

If I delegate everything, what should I do?”. This is very often remark that shows other problems. As I already wrote: you have to manage resources, not to be one. When manager is not properly delegating execution of some tasks to his team, he sacrifices some items that should be in the top of his list and that are: creation of strategy, creation of vision, evaluation of previous performance and creating an environment “to make it better next time”. If you have team members coming to you asking how to do something or/and what to choose for every detail, you can know that you broke the system. Team should be able to function without you making decisions for every detail. You will find companies with a lot of senior professionals without any trust to make any decision. That means that: 1. you are overpaying your people or more common: 2. you are not delegating responsibilities enough.

It is never too often to repeat that the top position in the list of duties for every manager is “increase of productivity”. Anything you do has to be oriented towards that and all optimizations of the procedure, changes, hiring and selection of technology has to be in the direction of increasing, communicating and maintaining of productivity:

  1. education of team members - creates people that are solving problems quicker and with more quality
  2. motivation of team members - increases their performance and ideas
  3. promotion of diversity of opinions - creates a much wider “knowledge bag” that will offer more diverse solutions to problems and requirement
  4. creation of feeling that everyone has an important position and role in the team - increases performance
  5. creation of feeling of responsibility - team members will start to fight for tasks they are assigned to, not to be passive and inert

Conclusion. I know it is hard, but you have to see that top managers in the market spend a lot of time in creation of positive thinking, innovative culture and most important: they have people they can trust. Managers generally have really untied hands to do a lot of conventional and unconventional things for the benefit of the company so do not waste that trust from the owner and use that to create a difference.

Permanent Link
How bad is for a manager to be surrounded with only yes-tellers?

Every manager tends to create more stable and more “quieter” environment for working. Outcome of that is elimination of all people thinking “progressive”, “different” and introduction of beautiful peaceful environment everyone would wish for. So what is the problem? The only problem is that that system is planned failure in long-term both for that manager and even more for the company.

Positive behavior. More senior manager you are, more you have to understand that you are here to introduce and promote positive behavior in all groups you manage. You cannot do micromanagement because it shows to your managers that you are not trusting them and also elevates the stress among non-managers. Also, you are responsible for the procedure and for organizing and by micromanaging you are giving a direct admission that you failed in that chapter. Ok. You have great managers under you, you have process and one day they discover that you have more and more yes-tellers around you. That only means you are sensitive and you positively react to all people agreeing with you in everything. Soon, you have “your people” against “other people”. Even people who do not agree with you will start to agree of risk to be out of deciding group and definitely out of list for promotions.

Pollution. Even in the most situations it is not intention, but when you start “game of thrones” everyone is loosing:

  1. your players because everyone start thinking that they value is based only on you. Every decision or statement they say is accepted as your and they start to be frustrated,
  2. opposition players because they become demotivated and inert with no contribution to the joint cause,
  3. you because you are spending more and more time to fix dramas and not do business. Later you start to have more and more issues with your superiors or with owners if you are senior manager and
  4. in the end company because you created a chaos that is doing everything opposite from your goals: decrease of productivity, decision instability, lack of trust, increased employees turnover, etc.

In the end: if you are not able to move back to the track you will bring business to the point that everything will stop and complete system will be oriented to fix problems you created with misbehavior. If you let it go too far, you are voluntarily putting you on the list for removal.

The root of the problem. Never forget that management is “managing of resources” and the most valuable resource we manage are people. We have to show the trust relationship with people we manage and build the feeling of responsibility. If we are successful, people start to be stand-alone professionals defending the interest of the company without your interventions. Then you are responsible to keep them motivated and promote positive culture. During hiring process, you have to hire diverse people that will help you in the future. Diverse backgrounds mean diverse experiences and in the end more possible solutions to “need to change” requirements. Completely opposite: if you hire only people that will follow your ideas and support whatever you say, you will never have some kind of internal check about what you do.

Science in management. Management is as many other branches of human activity based on scientific methods. That means that every decision has to be based on need, observation, plan and it should have verifiable success. Sometimes we succeed, sometimes we do errors, but we have to measure them and be able to explain every anomaly happening in the process. That makes us better and better managers every day. As in science, it is good to have independent audit or consult someone who is not “polluted” with our way of thinking to check if the methods we use are aligned with goals we have set and with regulations present in some industries (as HIPAA for healthcare, SOX for corporations, etc).

Way to fix it. Everyone had or will have the situation with lack of people that will make a contribution to our decision making process. As any change, we have to detect the problem, to have some plan and to correct it in some time. In the end we have to see positive impact. We should try to do all efforts to keep best players in the company, promote them to have and express diverse opinions and allow people to feel the ownership and to be productive. In modern business, the good practice is to create small motivated teams and to show everyone how every additional energy spent for the best interest of the company is well appreciated. Promote people that are trusted by others and that are respected without your interference.

Conclusion. Even many managers think that, but we are not here for anything but for� the “best interest of the business” that is directly aligned with “best interest of the owners”. The best interest is increasing of value of resources business owns or uses, increasing of responsiveness and productivity which combined leads to increase of revenues. Good culture, motivated professionals, open panels and exchange of opinions dominate in every successful modern company. Reading that, you should think about your process, your people and try to find what could be better tomorrow: what could help and increase your output and quality even more?

Permanent Link
How to introduce a change into business process?

Regardless of if we are changing the delivery route for our goods or changing the application used by our employees or users every change of business process has to comply with the process of change. Process is needed even we have smallest business and really small impacting change. Process should be trimmed to really simple one (especially if we follow lean principles). There are few phases before we start with a change:

  1. detect, describe and understand a need for change
  2. create an idea about what has to be changed
  3. create a plan in steps to introduce the change
  4. create a measurement tools of success for every step
  5. describe and understand potential risks during change

A need for change. Before we do any change, we have to first declare that some change is needed and to describe why. If we do not have this, first phase any move forward will lead us to change of status that is risky and that doesn’t have verifiable outcome. That is definitely not wanted scenario for any business regardless of size of business or size of change.

What to change. If we know what has to be changed, we have to use professional capacity of our team members to create the best idea about what is needed to be changed. Change is very often process and it creates new value for the business. To have the best performance in change, top businesses are investing a lot into creating of teams of diverse players. Diversity promotes ideas and in the end makes business benefit more than if we have group of similar thinkers.

Plan in steps. Never do change in large moves. Large moves have large risk for business. Because we have to try to keep risk in controllable state we cannot allow escalation of size of change steps. Doing change in steps does not mean that change will be slower, but that in the end it should have better stability in the end. Steps allow us to plan much better and to detect any deviation from the original plan.

Measuring of success. Continuing from previous section, every move have to be able to be measurable. All people that are executing the change are somehow biased about the change. For that reason, business needs to develop some system that will allow more or less independent measuring of the success of change. Sometimes it is done by the same team members where we have to focus on numbers that are not easy to misinterpret. In perfect world it should be done by independent peer review where we remove bias. It is more expensive measurement, but creates much more precise data. Decision should be based on impact of change and potential risks.

Risk of change. Every change, even tiniest one has its risks. In many businesses you will see groups of people unable to move anywhere because of ultimate fear to introduce any change. If that is paired with disoriented management you have more and more intensive issues with business performance and in the end business tends to fail. Thinking about that, we have to put all risks in the equation and understand that sometimes change with more risk will remove risk that will accumulate and destroy our business. The complete concept of lean business is partly answering this problem with proper dosing of intensity and complexity of the procedure. Generally there is more risk of business failure because of not having the ability to change or to be adaptable/responsible enough than of risks emerged during the change. As managers, you have to keep in mind that there are always quicker and more responsive business and because we are operating in the free market we cannot afford bad business practices.

Conclusion. Business management, especially management of IT is sensitive because it impacts whole enterprise. We have to understand the procedure, understand majority of principles of good management and do intelligent moves in proper time. Even managing is complex activity, that doesn’t mean that it cannot be done well and better and better every day. After you complete some task, do retrospective and try to make it better in the future. Grow in knowledge and easy adapt.

Permanent Link
What is the position of management in the company? Why some managers fail?

Different companies are doing different businesses on a completely different way. But many companies are losing money� because of lack of understanding of the position of management. If you follow books: “managers are entrusted by owners to do business as eyes and hands of company owners by� respecting� owners best interest”. That said, what is the problem? Many managers do not know, care about� or� understand that statement. You will see a tendency of bureaucratization in every management and also transition of management to do their jobs as “union leaders”. If anything will increase the value of staff you manage, do it but do not forget who you represent.

From my experience, common error in communication between owners or upper management and lower management is question as: “how you will fix xyz?”.� That is not the question. The right question should be: “how you will use your team, create a lean and effective procedure following quality standards to resolve tasks management above you or/and owners put on your list to do?”. No one want to answer that question and upper managers and owners will rarely ask that one even that is the only proper question for a manager. As I said in one of previous articles: to learn management best practices you have to be able to learn from your and other people’s errors. First error is that managers are playing as “resources” and not managers. In the meeting, they have opinion about all professional topics and they will rarely or never ask their team to help them with something. Also, you will see micromanaging that promotes chaos, dissolves trust and introduces complete demotivation especially with senior staff and always ends with a failure.

The main focus of every team and every manager should be measurable productivity. In IT, a modern CIO� has to use architects to create framework for responsiveness, stability and scalability of products. He has to introduce culture of learning and adaptiveness. As every other manager he has to create a positive culture that will increase productivity and quality and that is his best contribution to company he is entrusted to manage. As manager is hired on basis of significant trust, hiring process of all staff members has to follow similar principles. If you are hiring senior position staff member, you have to be able to entrust some task and to rely of his/her decisions. If not, you hired junior staff member as a senior one or you hired wrong person for needed position.

In modern time, good companies’ managers provide really impressive project plans, show dedication and good culture creation which promotes them to A-grade leaders. As a manager, you have to respect the feeling of owners that they are spending too much and that everything can be cheaper. You have to show them all benefits of your decisions and to emphasize ways how to use their money as an investment that brings benefits for the company. You have to have intensive communication on appropriate language with everyone. If you are CIO, you are called to help company in creating longterm strategy and goals in IT. Today, by following of TOGAF architectural principles: “IT is everyone’s business”. It influences all parts of the company so it has to be really reliable and enable company’s growth. When you select best technologies for your business, do not forget that technology is not a goal, but only a path to achieve business goals.

To conclude: As a manager, you have to improve your management skills every day. You have to learn from others, both their successes and failures. After you complete one phase or some task, use some time to analyze what could be better done. If you are not able to find anything wrong, you will not be able to grow and improve your skills in time which leads to deterioration of managers value in time. Ask people for opinion, try to use all resources to improve your performance which will bring fruits both to you and to a� company you manage. Never forget: be focused to your team’s productivity because in many cases that is the only visible and important outcome of your work!

Permanent Link
SQL vs NoSQL: Is this question important?

Today, more and more engineers are offering and pushing for use of NoSQL technologies. It has better performance, infinite scaling and it is much cheaper. But after some time spent in the same debate I think the question is completely wrong. The real question is are we aware that we cannot use databases as anything else but data storage and also that for connected layer (direct applications use) we can start forgetting about joins and relations between tables.

SQL technology started in 1970-es and it was revolutionary in every point: it allowed structured storage of data, it created a system for not repeating of data (normalization) and it allowed security and easy maintenance. Today, we have large established SQL systems as Microsoft SQL Server, Oracle, MySQL, Postgres, and many more. But with invention of NoSQL technology solved important problems and created grim future for SQL as an approach of storing of data.

What SQL databases were missing? Well, with SQL everything is good if you have small data. If you have a bit more of data you have to start archiving old data and that is the reason your bank account cannot show all data from the past but only predominantly last 12 months of activity. We are all used to it and banks decided to archive everything older to allow new data speed and good performance. And after that you have second example as e-mail accounts that can store infinite number of e-mails from the future (as Google, Yahoo, Hotmail, etc.). Same with Facebook. You do not see disclaimer that “only posts from the last 12 months will be visible”. Why? Because they use NoSQL.

But can we conclude that we have to use NoSQL because it is “better”? Yes and no. My opinion is that NoSQL brought different architecture of data storage, but if you start thinking about why NoSQL can scale indefinitely you will see that SQL can mimic that benefits, but it has to renounce “what is good in SQL”. The first to be shoot is normalized data structure and constraints. Why? Because if data is normalized you cannot store different parts on different servers. Especially if you have strict constraints validation. For example, if you have table of doctors with 100k doctors and other table of patients with 1m patients and if they have relationship you have to keep them together if you want to have any performance. If not, adding a new patient will demand search through all locations of doctors table data to check if that doctor exists which will make whole system really bad performance.

To conclude, I think the real answer is to reduce or even eliminate data normalization wherever it is possible. Also, you have to stop using databases as an integration layer for different systems and different management studios of databases as UIs to change data (as many companies does). As I always say: you can violate all these rules, but if you go with highly normalized SQL it will be really few times more expensive, demand more people for maintenance and will need some compromises for user experience. Every of two technologies should be selected based on use cases: reason, not emotions.

Permanent Link
Transition from the old systems: reduce stress and eliminate fear!

One of most stressful processes in the life of any IT professional and especially in the level of architect is project migration and complete refactoring. It is needed and many times we see half done and failed attempts of migration with a large number of ruined careers. My view on why that happens I will try to explain in next few lines.

Initial idea. How to know that system migration is needed? Simple measurement is when system architecture and foundation is making system so hard to maintain and business to grow in the same time it makes it more and more expensive demanding more and more spending. But, do not forget that “old fashioned systems” weren’t built with idea and knowledge of current business that is as a live organism: changing and growing. Also, in the modern business we have completely different security knowledge� we didn’t have� before (XSS, etc), demand to have module applications and many other business needs created recently with advancement of technology and especially cloud computing and going mobile. As an architect and or manager, you have to guide business to have good understanding when and why this moment arrived and why investment in refactoring is saving money. You have to spend a lot of time to build trust with business intercepting and resolving of all issues before they reflect on migration process.

Plan. They worst plan you can do in any project planning is to have large switch. That is the last resort because it enormously increases the risk for business failure, data loss, systems outage and rolling back and forth. The most common strategy by IT is to plan a large jump in the distant future and hope that it will never come. The much wiser solution would be to plan gradual transition by using all architectural tricks to help separation of logical components and transition one by one of them. That will provide direct oversight by business owners and reduce risk to much more affordable level.

Roles. Because we are talking of very sensitive process, it is very important to understand roles boundaries between members of the team. In many situations you will have chaos in architecture with� architects running after bugs in code, Data Developers installing and hosting servers, and overused managers doing code and testing strategy in the same time while half of team is free, etc. Management has to understand roles and to keep everyone in the scope of the specific position. Management has to “manage” resources and resources (IT professionals) have to behave as one. These rules are not without exceptions, but every exception has to be picked carefully, understood and well documented.

Implementation. The virtue in migration planning is how to migrate with a good control of migration risk. To do that, I like to use a proxy strategy and separation at� front-end layer. You have to spend some time thinking about smallest steps you can do: smaller they are, lower is the risk. Proxy strategy means that you create front-end SPA-like integration (HTML+JavaScript) circumventing underlying website backend and instead communicating with a proxy API. Proxy API’s job is to send a request to back-end (for not transitioned items) or servicing them or forwarding to the new system if component is already transitioned. One of� larger problems of spaghetti architecture of the� enterprise application is integration through the database. That practice is unacceptable in the modern environment because it makes any scaling harder and creates large number points of possible failure. In the modern� applications performance and clean verified data is a must so any kind of “database fixes” and other tricks are off the table.

Modular design. Modern architectural design demands separation between APIs and all types of front-end (web, mobile apps, import/export components, etc). Having APIs is helping in eliminating of need to have the same code in different places of the same system. Also, vertically, system has to be built in blocks or modular way. Modules as a building components have to be independent as much as they can be. This allows us� to create much cleaner code easier to maintain and scale (both vertically and horizontally).

Final thoughts.� Migration is very demanding process for complete business and it has to be conducted with clear understanding of the process. It is sensitive process, but having A player managers, architects and developers with knowledge and a vision is helping a lot. It doesn’t need to be a large drama for a business and if it is dome right it means reduction of costs and much more responsive system. After transition, architects have to intercept potential risk of need for complete refactoring soon again with building of strategy and creating of solid clean core of the system.

Permanent Link
Why there is a problem between owners and managers in the USA?

When I moved to the USA I was idealizing American system of capitalism. Now after some experience with great people I saw one pattern that is destroying the companies’ outlook from inside. There is a visible rift between owners and managers. Managers and less and less productive and owners more and more often have to intervene and to put their businesses back on track.

As I wrote in my previous article, managers job is to “manage resources and to increase their value”. But there is other part that says that “managers are executing their duties with power and in the name of owners by promoting of their benefits”.

I see that in many companies there are disconnected management from the owner. Bigger is the company, more you can see it. For example, in large banks associates approving loans will not even try to investigate assets for prospective customers and to try to “hunt them”. Their job today is only administrative “because they do not need to do other research”. The same with insurance, and any other service providers. Large companies are losing large amounts of money.

I think that the reason for that is a rift between management and owners. Owners have to hire managers that will be “their players”. They have to manage resources with high respect of owners’s interests. To motivate and increase that “connection” wise owners are giving shares to management to motivate them further.

How to know that there is a problem? One of signs, and I would say a major one, is when management plays as “union representatives”. They play as they are representing their people in the board and not representing the board and enforcing board’s decisions to the lowest level of hierarchy. Of course, there should be intensive communication from professionals at lower levels to upper management. As I already said: more than 50% of value of all resources of the company are people. You have to give space to people who have more energy and that are ready to help company to survive and to grow in very competitive environment. As management’s job is to increase the value of their resources (people), they have to do everything they can to select and push their top professionals up, they have to create simple to understand performance evaluation system and to try not to do anything that will demotivate people.

Finally, there is no progress without intensive work and adaptiveness. In everyday business we have to change nearly everything we are used to to new scientifically proven truths (methods). Today, everything has to be quicker and to have better quality than ever.

Permanent Link
Engineers vs Architects vs Managers: How to understand those positions?

For engineers, in everyday experience you will have contact with information that someone is senior position and someone is not, but what does it mean? Of course, generally two positions have different pay-grade (not always), but is there any general rule to help us understand that piece?

Seniority in any profession represents “the amount of freedom to make a decision independently”.

In many companies you will have senior people without any freedom following strict rules and that have to get approval for even tiny decisions, in others you will have junior people completely independent. In one of my previous positions I asked about one colleague why he is junior developer and manager said: “because he is young”. I asked then: “so why he is in charge of many important roles” and the answer was: “because he is reliable and excellent professional”. That shows how managers make decisions based on wrong parameters which could lead to HR disaster, to leaving of great professionals and in the end to company/project value drop which in the end financially hits owners.

If you have more experience, especially full stack one, and you showed independent thinking and reliability you deserve more senior position. But you can be professional all your life and stay in junior role because you didn’t show the ability to make a reasonable decisions, good for project.

Other, not far from this one, is question what makes you an architect? If you check the book it says: “architect is role that have mutual understanding of development and infrastructure”. If you are great developer or if you are great infrastructure engineer you do not need to be architect. You need both to be one because of level of expected decisions you make. In building construction you cannot be an architect if you are only designer or if you are only construction professional. Again, you need both. Otherwise you are well-payed senior/lead developer or senior/lead infrastructure engineer.

What is after everything position of manager? By the book, manager is: “person in charge for managing of resources”. Managers position is responsible to do whatever he/she can to increase the value of resources he/she manage. The most important and valuable resource are human resources because they contain big value and they are very frequently grown in the company by education and experience. When you see “great work conditions” in Google or some other companies that is only because managers of those companies recognized that it will increase motivation and productivity of all workers and in the end increase more the value of the company than it is a cost.

With managers you have junior, senior managers (now you understand the rule) and top manager often called CEO that is entrusted by owners with a power to make all decisions independently.

I hope this short text will help you to be great in your position and to create more value to the company you are working in. Be productive, be innovative!

Permanent Link
Too much security leads us to no security?

On each discussion including IT security we witness demanding more and more security. Someone may ask what is wrong with that, but if you have experience with delivering applications to technologically lay people you already know that sometimes books are one and reality something completely different.

The great example comes from my previous assignment as a Chief IT Officer for the largest dental clinic in Croatia. We had instruction by application architects that users have to have passwords with at least twelve characters in length, including uppercase and lowercase characters, numbers and special characters. Definitively in that case we are talking about high secure password, but after only few days of implementation more than half users printed their passwords and stick them somewhere around their monitors. Of course, that is security disaster.

Second example was when we wanted to protect access to only some users, but in that case (if you do not set it properly) assistants will know authentication information of their patrons and get all privileges. Especially because of HIPPA regulations, they will skip phase of asking for privileges and they will just “borrow” access through their colleagues.

In one last example, we had situation where doctors write medical histories and schedule patients for future encounters. After few days, they really enjoyed the system because it gave them quick access to patients’ records, but problem they had was authentication. We had limited number of computers and doctors waited for few seconds their colleagues to finish. In the end, they skipped the phase of logging off and on and just used one user for everything. How they resolve it in banks? McDonald’s? Social Security Administration offices? They use smart cards attached to the uniform of the employee or USB-key with client certificate. That is a good idea and definitively can bring more security.

After few examples, I want you to think about security and not to overdo it by setting it too stringent only because you think it is automatically better. You have to weigh both sides and to select the best level of security. Long story short: the best security is to turn off all servers and unplug them from power outlets, but how then to use them?

Permanent Link
What are the most important things you have to evaluate when you employ someone?

Have you ever had bad experiences with new employees? In everyday business I see many colleagues and managers that hire professionals with primary focus on education and experience. We all agree that those parameters are very important for most positions. But, it is very important not to miss the first important question: has that individual demonstrated enthusiasm and creativity in finding best solutions.

There are many great hidden people that can serve as more than great employees. When you compare different economies, you can find many differences and one of most noticeable ones is employment procedure. When you have strict rules and traditional views about employment you have high unemployment, old workforce and non creative employees performing their tasks with low energy. To beat that, in modern days, companies highly credit dedication and enthusiasm. Do not forget that if you have employee with lower level of education it can be resolved with extra time for adaptation and learning. But if you have employed well educated person without enthusiasm and without focus on solving company problems, you have a great problem. In some limited cases, when we are not talking about new employee you can motivate employee with additional benefits: adding better dental or/and medical insurance, etc. If you have that problem in the beginning of the employment, you’ve made a mistake hiring that individual.

You have to detect this problem before employment or at least in the first few days/weeks. In the interview, if potential employee asks you about benefits and salary before questions about assignments and expectations that can be the first sign. Additionally, if someone is not ready to work after official working hours, to be paged or called on demand and that position is connected to service reliability that has to be serious sign. In normal situations, those things should be declared. The best managers understand that company-employee relations are the most important thing in any company. Employees can make great things, they create new ideas, they help company increase its wealth. Because of noted, employees are the greatest asset of any company.

Permanent Link
How to adjust medical personnel security rights? It is a matter of fine tuning!

We are frightened and bombarded with news in everyday basis that data collected in medical or dental procedures could be compromised. That is true, but that was also true in the time of paper medical charts. Today, I want to emphasize few important security tips.

When we organize access for doctors, nurses and administrative personnel, we have to select their rights wisely. It is not needed for one nurse to see doctor’s professional memo on patient condition and it is not needed for one administrative officer to see if the patient has genital herpes in the medical history. As a doctor and a professional developer I work on both sides so I see many not needed security restrictions that influence productivity but also many freely available information which is not needed and could lead to data breach.

Many medical and dental programs have a problem with separation of data and data access. In most cases it is because of wrong approach toward planning where developer wants to satisfy all requests. By interviewing users we do collect very important information about needs, but also we can expect from all parties to express their need for accessing all data. Of course that we should take care on user’s needs, but access rights should be properly fine tuned and adjusted by following rules of good practice and after talks and understanding with management.

Second, but not less important is to be aware that there could not be successful separation of rights if we employ people without awareness that they are working with sensitive and confidential data. For example, I have had requests from my managements to limit IT administrator’s rights or to limit developer’s rights, but it is not possible. You cannot take someone without professional attitude and to employ him/her as a chief database administrator and after that to ask if there is any way to limit his/her access to the database. That would definitively prevent him/her to do anything, even good. The same thing is with users like doctors, nurses and administrative employees.

Statistically, the highest risk of data breaches occurs because of users. It cannot be eliminated, but it can be effectively decreased by security controls, by logging and by assigning of patients. For example, doctor needs to see data only for patients that he administers. When patient arrives the receptionist assigns him/her to first available doctor and from that time doctor sees all data related to that patient. There is some modern ideas that the system should not be very restrictive on access rights but to inform all employees that everything done is logged and to monitor their activity in regular intervals. That could be even more successful than restrictions without logging.

To summarize all: you cannot project a secure system if it will be used by people without any trust from the management. If you do have some level of trust, you have to adjust personal access level accordingly to that trust and to person’s professional needs.

 

Permanent Link
How to overcome the lack of IT and other professionals in the USA? Import them!

We can read every day that there is a great discrepancy between creation of new professionals and demand. It is one of most influencing factors responsible for this slow crisis resolution.

In the United States there are many extremely good and very attractive programs that produce innovative young engineers such as Massachusetts Institute of Technology, California Institute of Technology and many others. But, today we see that there is a problem because many employers cannot find them enough. Why to oppose the idea to find them outside USA?

There are some countries with long experience in education of highest educated professionals. In many such countries that individuals cannot find appropriate employment and are thinking to emigrate. If they are not seeking a job in their region, the first distant site for the most of them is USA. From outside perspective, USA are impenetrable for skilled highly educated professionals of any type. No one knows why. In the other hand, we see in everyday basis that successful multinational companies are opening corporate offices in India, China, Hong Kong, Russia, etc. The first reason is because they cannot find enough needed professionals and the second is that in the most cases they can pay them less.

There is something that is unknown to many US employers. In many countries people have cheap but good education system. The example is Croatia (Europe) a home of many leading institutions of higher education in Eastern Europe. In the other hand, all education is totally free for all citizens. I do not want to enter into details, but the known fact is that Croatian system of higher education have produced many largest ships captains, many chief engineers on many projects in Latin America, Northern Africa, Singapore, Middle East, etc.

If you are a recruiting officer or manager in the USA, you should ask yourself why you do not use a personnel from a country like Croatia, a personnel without any bonds or loans? A personnel from a country with long European culture, very creative, well-educated and very talented. Croatia is only one example, and there are many countries alike, especially in Europe. Today we see that trends are in opposite direction: USA need more educated professionals and in the same time they fortify their immigration rules.

I like USA, especially its idea of free business, but as time goes by I see that USA are going far from its roots, far from something that made USA so attractive to all people. To paraphrase President Reagan’s sentence from Berlin: “President Obama, tear down this immigration wall!”

Permanent Link
Damage control: how to react on unsatisfied customer?

Whatever you do or sell you will have somebody unsatisfied with your performance or product. That complaint must not be on real basis, but you should know how to react. What to do specifically after customer tells you that he/she is not satisfied with your performance or your product?

Prevention is the most helpful thing. You should not think: “I will promise everything and I will deal with problems in the end”. When you take the order, you have to detect what a customer wants and that must not be equal with what customer says he/she wants. To deal with that, learn from the best and try to practice it in every occasion. Do not force customer to take what he/she does not want. Instead, try to develop a need for something in customers perspective. That is a good practice.

If a customer comes with a complaint, first do not panic! At first, listen carefully all that other party is trying to say to you. You should detect is there objective reasons for a complaint. Sometime you will find it, sometime you will not.

The worst thing you can do is to argue with a customer. Even if a customer elevates his voice you should rest calm. Why? Because if you adjust your voice with a customer you help development of the affect inside his head and the main reason to even talk with a patient is to decrease or to eliminate that affect. In psychology, affect is short-term emotion caused by something. People think much different in the state of affect and are ready to do many things that they will not do without it.

If a customer has no objective reason for a complaint, you have to try to explain whole process and to try to find potential other reason for that complaint. We can see often that after we do our business correctly, our customer tries to avoid paying or to get lowered price. Of course, if you have done your job professionally the only reasonable time for price negotiation initiated by customer is before any procedure. If you are forced to negotiate price after procedure it should be only damage control negotiation because it is better to get anything rather than nothing.

If a customer has objective reason for a complaint, first tell that you will try to investigate what happened. If it is your fault or not, next thing you must do is to apologize and to say that you will do anything possible to quickly correct the problem and if it is not possible that you will find the way to compensate him/her. In this case you should think about something. This customer is not satisfied with your performance because you have done something wrong. Here you should try to decrease negative advertisement and not to be tight on compensation because customers love to see that if it was your fault you are ready to play fair. It was your fault and it is cheaper to pay slightly higher compensation then to have person that will share his experience wherever he/she can.

One additional thing: In whole conversation you have to take care on many nonverbal messages you are giving. If a customer does not want to feel your sentiment he/she will send you a written complaint. But you will see that among all complaints oral ones are the most frequent. Why? The customer is trying to detect whether you understand his/her problems and how you will take it seriously. If you succeed in that interview you will leave good impression toward a customer and that will be the strongest impulse that will cancel any further problem.

Do not misunderstand me: you must not be a good man if that is not your style, but this kind of behavior is good for a business and positive cash flow which is in the end very important!

Permanent Link
Giving information or advertising?

Many people do not understand the difference between informing and advertising. Even some regulators are trying to mix things up because then they can play as arbiters guided with rules that are not clear.

Giving information is “emission of related data about requested subject”. That means that if you want to change your cable provider and go or call one of companies that should be considered as informing and not advertising. But, if you get information about some product or service without your initiative, that is advertisement.

In the Internet, having a website is considered generally as informing because people have to enter correct address or to search for your firm. But what happens if you search for a word “water” to find information about chemical properties or pollution and you get water prices and pages that offers you to buy their bottled product? Now you can see that it can be legally complicated.

To solve that issue guide yourself with a simple rule that if your website is indexed by third-party search provider without payment for “special position in the index”, then you do not advertise, but inform.

It is good to be available for information about your products or just about things that you do. The best advertisement would be one that is seen when the customer needs it, but that is not possible. Because of that avoid spamming people with your offers and instead attract them to follow you. That creates much better satisfied customers that are interested and well informed about you.

You should never forget that satisfied customer is the best advertisement you could get!

Permanent Link
How to develop usable software? Forget your ego!

Many people think that the main issue with software development is about how to make it. OK, that is hard, but can be learned. But what about users? In my experience many systems were developed to satisfy IT department perspective or to accommodate developers view and that can lead us to bad UI experience. Why? Because something logical for IT professional isn’t often logical for others.

As chief architect I have been examining diverse systems. Some of them were very user friendly (lay people user friendly) and some of them were not. When I tried to correlate that to the price there were many non-logical conclusions. Unfortunately, there are many systems that try to force users to accommodate their logic. Somewhere it goes OK, and somewhere they have great problems. That occurs specially in heath software that has to be created to help medical professionals by giving them good tool for producing medical data and to quickly retrieve it for making medical decisions and conclusions. If they have to loose time to find something in the software, we haven’t done a good job in development.

How to avoid such problems? My way is to spend more time with users. For example, I have been developing software for university admissions. After first version of software was in release I have been sitting in the reception desk and trying to do all jobs as a new one in the reception. I have entered data to the system as a user and talked whole day with others in the reception. What was the outcome? I wrote several full pages of seen non-logical procedures, bugs, and needed software extensions. Every day after working in admissions reception I was trying to change software to be ready for the next day. The result was very usable software, satisfied reception workers, satisfied management and dramatically lowered error in processing in the same time with time shortening. The same job that have been doing in few days, now is done in one-two hours.

You ask why don’t developers do that? Well they are engineers and they do not want to mix themselves with reception desk workers. I am orthodontist with PhD and certified professional developer, but when I do development the main goal is to make better product and to succeed in that mission I am ready to do whatever is needed. In development you have to forget your ego and to focus on making good and usable software. That is the reason why I have earned such great respect both from top management and the lowest wage workers. I assure you that that approach is a winning one.

Permanent Link
What is most influenced factor in doing business? Misunderstanding with IT!

Have you ever had problems in your business? I have many friends among medical and dental professionals, but also among business managers and other professionals. When you evaluate their business as a third-party you can easily find that the major part of their business is often limited with misunderstanding with IT. They growth speed is equal to growth of IT support efficiency.

Nearly all IT schools educate their students how to perform specific tasks, but they forget to tell them that they will not work with other IT professionals. It is most often scenario that they will work with other professionals, but a lot of them will not be IT professionals. That is the greatest error in education because we have to educate “working” professional and not professional that will not be able to integrate himself to prospective firm.

You have to understand that the same problem is in other education programs. In everyday lecturing in School of Dental Medicine I emphasize importance of creating a “user interface” in every dental professional. I learn them many subjects, but in every topic I try to help them gain experience that will allow them to function. They have to know how to do a triage of problems, to learn how to plan and how to use available time with patient and the most important to take good “problem history”. By talking with their client, in this case a patient, they have to know how to meet patient expectations and how to give an advice to the client what is needed and perhaps to correct their expectations.

Contemporary IT professional have to be able to do the same thing: to talk with colleagues and others in the company and to adjust his language to every person’s technical knowledge. For example: accountants and managers do not know what is better to do in networking IP v4 or v6, or is it better to use ASP.NET or Python or Visual Basic or Visual C#. If they know, it is OK, then you can advice them, but if not you have to make that decisions for themselves. The major task is better productivity and nothing else.

All noted is one of reasons that forced me to start programming. I have had the same problem with my IT professionals. They knew every topic and every piece of technology better than everyone possible can know. But they cannot employ that knowledge to help other systems. They expect someone to draw to them what to do and by using what technology, and that is not acceptable in doing modern business.

I remember one occasion when I have selected one Database Developer to start organizing one of last parts of our library that is organized only with book identification cards. And after three weeks I asked him what is the status of “our project” and he told me that he cannot do anything because Director of Library does not know “what data types to use in some data fields”. That example can demonstrate the chief problem. He had to invent a solution, to adjust all systems to accept that data and not to expect that from “lady chief of the library”.

Permanent Link
Customer relations program or how can you help your effectiveness

If you are serious businessman, you should already know what is Customer Relationship Management CRM. Customer Relationship Management is a way to keep our customers in thinking that they are special and that we are taking care about their problems.

What is the chief problem? When customer contacts us we have to make an impression that we have been thinking on his/her problems all the time and not only when they are present. That give us good reception and our customers are more satisfied with our performance.

The best implementation practices are to use it in everyday basis and to enter data in every contact with a customer, in every job done or request from customer and in the end whenever we think something about customer. It has to be used both by top management and reception desk. You do not need to use something too complicated. You do not even have to use computerized version, but you have to be aware that doing business without CRM can destroy your rating and finally leads us to a disaster. Customers do not like when they have to repeat things to us and that leaves an impression that we are bad and not-caring business. Perhaps you can think that it is only a first impression and that they will see your valuable product, but that’s not the case. Do not forget that customers don’t know much of our work, because if they do our services wouldn’t be needed.

I have received many questions about CRM. There are businesses that want to start using CRM and were asking me where to start. After few questions, I see that they have organized something. One client told me that he creates notes on every customer in his archive. Data including birthday, marriage status, attitude, potential relationship problems, etc. If that isn’t CRM, what is? He needed only to have that data properly organized and available to all firm personnel.

Finally, if you have customers, you have to have some level of CRM. It is best practice when a customer arrives and after hello you ask him/her: “How is your leg?”. Of course, that can happen only if you have done homework writing specific data after last session. Person will have a feeling that we care about him, and will transfer that positive attitude to all his friends. In my experience, that sort of relationship does not make you only better person, but it makes you money, and if it is not main objective doing a business, what is?

Permanent Link