::by Dragos Campean::
Ever since I have started working on the startup application called Niftio, which is an online presentation platform, I’ve heard how different teams work in outsourcing, in comparison to teams on products or startups.
My job was to test the application, but besides from that, tasks for my team and I, were not strictly related to our job description. We had various assignments and we did what we had to in order to complete our plans — because that’s a cross functional team does.
During a timespan of 2,5 years I have learned various skills, not all of them testing related. Some of them, I’m sure colleagues who worked on outsourcing projects are aware of as well, but nevertheless I would like to share some of the lessons I’ve learned.
So here it goes:
1. Never leave anything undocumented
During meetings and even casual talks, lots of opinions are shared and ideas, improvement suggestions, and potentially breakthrough features are born.
Often times those ideas stay there, and are never brought up again.
What to do:
Document those thoughts and come back to them later when the timing is appropriate.
This doesn’t mean you have to make a list every time someone says something, rather be present to every discussion and try to filter those items which have the potential of bringing some value to the project.
2. Doing multiple things at a time will decrease your productivity
There will always be more than one thing which is ‘really important’ and needs to be looked into ‘yesterday’. But even so, taking multiple tasks upon yourself and working on more than one at the same time will decrease your overall focus and productivity.
Be like a postage stamp — stick to one thing until you get there — Josh Billings
For this, it is important to try to prioritize those tasks, discuss it with your team and figure out which ones you need to do first.
If you don’t believe me, just research what science has to say about multitasking.
3. Saying yes all the time is self-sabotage
Wanting to help and be useful is good. Saying ‘yes’ to every request every time, not so good.
We have the tendency to accept every task which comes our way. Many times, offering or accepting to help can be very useful, it can serve as a learning experience or just for strengthening our professional and personal relationships. But, on the other hand, if you don’t say no every once in awhile, your overall work performance can be affected.
Saying ‘no’ is healthy…
… and it doesn’t make you a bad person. Don’t make up bullshit excuses for why you can’t do a certain thing, just try to figure out if it worth it. In this situation, you can also delegate or offer to help at a later time if it’s not too late in order to not lose focus on the thing you’re currently working on.
4. Knowing your capacity will give you a clearer vision of what task you can delegate
It is imperative to know how much work you can take upon yourself. This comes after a period of experience and with tasks you have a certain familiarity towards.
Even so, often we tend to say ‘I can do that, and that and that’, either because we underestimate the tasks or because of our hubris. This will just lead to exhaustion and eventually burnout.
My approach on this:
Try to estimate my workload as best as possible, and delegate the rest of the tasks. Sometimes a teammate is more qualified than you to perform a certain activity. It can take you a full day to complete it because you have to do research but someone else can do it in 1 hour because he has already done it 10 times, so do that instead — delegate.
5. Don’t see idle time as an opportunity to relax, it’s an opportunity to grow
There will probably be times when the workload is not as high as usual and you have periods during the day when there will not be any tasks for you to take.
What do you do during these periods of time?
There will be those who will say ‘You should just relax, take it easy if you have no tasks. Now you can ask yourself the question, ‘Do you really need to relax? Are you that tired?’. If not, don’t take this as idle time, it’s a great opportunity to get to study that new application you’ve been curious about, or finish that presentation you’ve been wanting to show to your colleagues.
Either way, use that time for something useful, there will come a time when you won’t even have time to eat and regret not doing what you should have when you were more available.
6. Get to know your team’s abilities so you know where to go to with each task
It’s very important to know what skill set each team member has. If you know exactly which person to ask when you have a problem or question, or even when it comes to assigning a task, you can save up a lot of time and go directly to the person.
This aspect can also help a lot when it comes to the delegating of tasks I told you about earlier.
7. The environment is flexible, mold it to your team’s necessities
Every team works a bit different than the other. I believe that there is no predefined ‘best way’ of working inside a team, for example pure scrum. We have different available frameworks like scrum and kanban which should just be used as foundations on which we can build and develop a particular team’s way of working.
This way of working can be developed over time, after the team has experienced different work styles. We should continuously inspect and adapt, if something doesn’t work as expected, find a better alternative.
8. Trying to be good at everything will decrease your overall performance
With today’s rapidly evolving technology, it’s hard to be up to date or even familiar with all technologies and applications out there.
For each particular role in an IT firm, there are countless areas you can master but trying to be good on all of them, in my opinion, is a waste of time and not something very efficient. There are things you know, and things that you are really good at but you should figure out what your interests are, focus your attention on them and master them.
Only one who devotes himself to a cause with his whole strength and soul can be a true master. For this reason mastery demands all of a person — Albert Einstein
9. Develop a system and not repeat past mistakes
It’s inevitable we’ll make mistakes at some point. The important part is how we manage them.
Some people pretend that it never happened and sweep them under the rug, other have a healthier approach and actually deal with their mistakes in order to improve. The first step would be to acknowledge your mistake and be able to admit that you screwed up.
Anyone who has never made a mistake has never tried anything new — Albert Einstein
Some people get defensive when it comes to this part. When this happens, it’s important to make everyone understand that mistakes are not something to be punished, and it’s not a personal attack. Rather they represent a learning experience. We have the chance to analyze them and figure out ways to adapt our processes so that those mistakes don’t occur again.
That being said, I think it’s necessary to encourage people to try and take upon themselves some high level tasks and fail, than stay in the comfort zone and not grow.
10. Never be ashamed to show your work
Oftentimes, especially when it comes to a junior who is new to the field, he will be reserved when he has to showcase his work. This is because he will be afraid of being judged and his work being rejected. When I first started studying java and wrote some automated tests, I knew my code was bad but asked feedback from a more experienced colleague. He didn’t tell me my code was shit, but gave me a lot of useful feedback.
So don’t be afraid of constructive criticism or feedback, if you avoid it, the learning curve will be very linear.
11. Try to maintain a pleasant work environment
The stages of team development will always be present (forming, storming, norming and performing). Conflict can be present at many times, but it’s how we manage conflict that determines if the team will be able to collaborate efficiently further.
If there’s a person you know is hot headed don’t charge head on whenever you feel like you should intervene. If you’re pissed off wait a bit to cool off before saying all the stuff you have boiling in the back of your mind/tongue and try to approach each matter diplomatically trying to see the bigger picture.
Oh yeah, and always be polite.
That being said, these past 2 and half years have taught me a great variety of things, skills I can apply not only in my professional but also personal life and I only hope the next projects I will be working on will be close to this one. It was a blast 😀