Dealing With Conflict In Web and App Development Projects
The thing about conflict is that it brings out the worst out of everyone involved whilst they are in the middle of it. The moment it sets in, the fight or flight response comes into play and before you know it, you are in conflict and things that shouldn't be said are uttered and regrettable actions take place.
Whilst all this chaos is going on, the thinking part of you takes a back seat and lets the reptilian brain take over. The reptilian brain takes no prisoners and often you do or say things that you are going to regret.
At times, you do not realize that you are in conflict until you take a moment to gather your thoughts and step out of the moment. As a result conflict can be insidious, slowly eating away at the fabric of your relationships and affecting people around you.
Whenever there is more than one person involved, conflict is bound to arise at some point. And web and app development is no different. A web or app development project always involves more than one person even if it's one developer working with one client.
Sometimes conflict can arise between two developers or between a developer and an analyst in a team. As I mentioned already, you are usually not aware that things are escalating and the damage can be done, before you give yourself pause to think about your actions.
Sources of Conflict
Sometimes people just don't click. Most of the time, you will get along with your clients and colleagues but sometimes there are times when you are set to clash with someone from the get-go.
For instance, I am very particular about deadlines, and when I say it will be done by Friday - it will be done by Friday. And if I can't get it done by Friday you will know well in advance that it cannot be done by Friday.
Being very time conscious about deadlines on a project, I naturally hold everyone to the same standard as myself. Unfortunately not everyone adheres to deadlines as I do and this results in conflict sometimes.
Just recently I found myself in this situation, which made me think of today's blog post, and did not handle it well to say the least. Instead of addressing the issue, I think I became passive aggressive. Only in retrospect do I realize this and will apologize to the person involved.
Sometimes conflict may arise because of ego. I once worked with a colleague who always felt the need to be the know-all guy on the team and felt he had to top everyone. And this resulted in conflict.
Of course we were both guilty of having a big ego for the conflict to arise in the first place, but I felt his ego was bigger than mine! At least we worked out our differences in the end and had a great working relationship.
Misunderstanding About What Needs To Be Done
Conflict can arise between members of a team. It could be that someone on the development team made a mistake and they do not own up to it and someone else calls them on their mistake. It may be an honest mistake but if the developer who made the mistake does not own up, it can result in conflict.
Conflict may also arise in a similar way between the client and the developer. It may be that there was a misunderstanding about what needed to be done and it is not clear to the other party that a mistake has been made because the developer misunderstood the client's requirements or the client failed to communicate effectively.
When conflict ensues because of misunderstanding. The most efficient way to diffuse it is to take a moment and step back from the clash and focus on finding the source of conflict and, by all means, to avoid finger pointing and apportioning blame.
Regardless of how misunderstandings affected the outcome, there are always ways to resolve them. If the misunderstanding is with a client, it may be important to review the arrangement that was made from the beginning. This might mean reviewing the developer/client agreement as well as the trail of communication.
In web and app development the budget may be clear from the beginning but sometimes it is subject to change as the project takes shape. A developer may find that they have to adjust the budget as a project progresses.
The developer should therefore foresee such a situation and make it known to the client that the budget for the project may change and the developer should provide clear guidelines on how the budget may be adjusted as the project progresses.
This often applies to hourly billed projects whilst fixed cost projects rarely change in terms of budgetary requirements unless the client introduces another unit of billable work whilst the project is in progress.
It is crucial that the developer sets realistic expectations of the budgetary requirements and communicate changes where necessary. By setting realistic expectations. The client will be more amenable to a change down the road.
Swallowing Your Pride
There are a lot more reasons for conflict but the ones outlined above are what comes to mind at the moment. In any conflict, often both parties will have a share of blame. I don't think there is anyone blameless in a conflict.
Even if you are not wrong in the events ensuing the conflict. You are still to blame for how it goes down. Perhaps you could have said or done something to diffuse the situation before it escalated into conflict or maybe you could have listened better.
Dialogue is the best solution to quickly diffuse any situation. You need to find the middle ground in any conflict to be able to listen to the other side with empathy. It takes a lot of self-awareness to consider the other side as well as your own in conflict.
At times you can review your own actions and realize that there is conflict and at other times you just have to listen to the other side- and I mean really listen. If you see an issue, call it out before it becomes a big issue and apologize when you are wrong. It is important to be able to swallow your pride and apologize for your part in a conflict whether you are in the wrong or not.