How can I attract and motivate my team?

I am currently a graduate student, but I have been in the industry for several years before returning to school.

I am in a class that includes teams of 4 working on fairly ambitious projects. Due to the fact that I was in the industry, I have a lot of experience in the field of "software development" that my teammates lack (they use SVN for the first time this semester). They are all very good programmers; but they don’t have much experience in creating "real things."

Since I had a rather specific vision of the project, and my teammates did not do this, my idea is what we will work on this semester. In addition, as a result of my experience, plus the fact that I admittedly have a somewhat strong personality, I became a de facto team that held weekly meetings, scheduled initial tasks, etc.

I want to avoid the trap of being so strong with my ideas about what we should do and how we should do it, that my teammates feel that they are not speaking and are being ignored and suspended.

So here is the question:

How can I maintain the motivation of my team of undisciplined, but talented programmers while applying the main best practices (version control, steps, etc.) and a coherent vision of the project?

Edit: Thanks to everyone who answered so far. I think I overestimated the "software development aspects"; I am also looking for ideas on how to encourage my teammates to contribute to the design and feel in a project that currently has a bit of β€œ The SquareCog (and Friends) Show !”

+7
project management
source share
8 answers

The best method I found has nothing to do with code: team lunches.

Gather in an informal setting where each of you talks about your problems, concerns, ideas, etc. It helps team consolidation in a way that is very small.

As for the actual code side of it, minimize the amount of work they have to do in order to work within the frame in which you want. If you want them to use tickets, do the actual management side for them - ask them to tell you what a ticket is, and whether you have real work in managing these things. It seems like it will take a lot of time, but overall it is minimal compared to the cost of poor communication and coordination. It pays off very quickly.

For version control, show them why it is really beneficial for them. Programmers take ideas and run with them when they see that they really help them, and not just be PITA.

+7
source share

I think the developers are really practical people.

Play with such features of a typical personality of the developer: 1. Creativity 2. Curiosity 3. Practicality

Following your direct example, source control:

Most of us (I mean, from our own experience) will not be able to see the point in the original control at the beginning (just because), so always keep in mind the reason for using the control source.

Another thing, who decided to go on SVN? There are alternatives, for one I will fight to the teeth, so as not to have SVN, because I'm Git! (pun)

Instead of pulling their nose, you should / could explain to them:

We need source control, find the one you like and give us the opportunity to vote for what we use to manage the source. Thus, there is common ownership ... and do not just follow the leader’s exercise.

Another thing is to be flexible in what you implement.

Take out a plan for needs, but try to be prepared to implement them as needed, or as it becomes obvious to everyone that x, y or z practice should be implemented.

Ask them to implement tools and resources and planning methods that you know if they come to you for advice. (this does not mean that you cannot set out a blog with best practice domestically or in any other way give them access to this information in advance)

Developers love to learn and grow, but we need possession and understanding in the direction we are going.

If you try to force them to feed and imitate them too much, then you and they will simply lose motivation, enlightenment will require independent efforts.

+3
source share

I have been in a similar position several times.

Sometimes I just take responsibility and be damned. Fair enough.

And many times I resist desire; I try to encourage my colleagues to take the initiative. Sometimes it works, sometimes not.

And sometimes I just come. "It seems I perceive, like my nature, but I do not want you to guide you along the river. Does anyone else want to take the initiative? If not, are you satisfied with what I have already proposed? Speak, if you have have good ideas ... " Again, sometimes it works, but not always.

Ultimately, you can "bring the horse to the water" ... Projects need guidance, if no one else comes up against the challenge, you better.

Once you have the leadership, follow the example ...

+1
source share

How about Scrum (even if you don't call it). Gives everyone the opportunity to speak, and you are listening. As a strong personality, giving others a real chance to report that on your mind (and not yours) is a good step towards harmony.

In addition, they will learn from your technical experience, you will learn from their ideas and enthusiasm. A good leader is always open to communication, you set the direction and vision (and you chose a project), they come up with smart ways to do this.

+1
source share

offer uneven prizes or awards

Give them your own areas to "own." Although they cannot be proud of the project, they will want to make their own areas excellent. Ask them if their zone can be reorganized or improved. This will force them to learn new methods or techniques.

Let them learn by fire (in small phases), and then show them the right way. Let them not cope with it along the way, but let them do it properly.

Update:
Sorry for the above sounds like the team leader will control what is right. This means that you should be more generic code that can execute any of the commands. They can move along with changes / refactors together as a team.

0
source share
  • The project should be interesting enough to include
  • technology should also be the latest.
  • Let them know how the industry is moving and that they will gain the necessary experience to be at the top of other programmers.
  • offer prizes and punish those who break the assembly
  • rotate positions to test their ability to lead
0
source share

I currently practice magic and often participated in group projects. It is not unusual for only 1 or 2 team members to complete a project. Not only from my projects, but also with other people. Basically what you said about the SquareCog show and friends is not unrealistic.

Indeed, the more people you have in the group, the more lazy people will be. In addition, more time is lost in communicating with them, as they invent a ton of ideas that they do not intend to follow. It is well known that there is a moment when additional programmers no longer help the project. There is only so much that you can break something. Moreover, it will slow down the work, and not only give part of one person and create more dependencies.

Also, the average student has a comfort zone, so even if you can get them to do some work, they will remain in their comfortable zone. Someone must leave their comfort zone for most projects (if someone does not already know the information in the classroom) in order to succeed. Most of the time I find that I am the only one who wants to do this in my group, and in some groups there is nobody. The most radical example is a project of 7 people, where almost no one did anything. Another guy was ready to do some lightweight sys administration tasks, and then web design, which was in his comfort zone. One girl developed some kind of database project (and I mean some of them, because I basically did the design as a high-level outline, which she formalized with column names / data types). The rest did nothing. The class was distributed systems, so someone needed to learn JBoss (and Enterprise Java Beans), Amazon Web Services, etc. But it does not matter for the class. In the data mining class, someone will have to figure out which methods to use and how to use the tools.

Also, many students are not good programmers. In fact, in one of my groups there was someone who could not program at all. In fact, based on his description, the MBA sounded like the right degree for him, but in any case, he went with the masters in CS, developing his programs for friends / contractors ... Many of them are just scary programmers, and not just in style , they could "Debug the hi world with a visual studio ... Instead of understanding what went wrong, they just keep adding code until it works by coincidence.

One thing that happens quite often is that people come up with rather ambitious projects that are unrealistic for a semester. Usually I end up taking his scissors and cutting into a project with barebones, and suggest that as soon as we finish the barebone part, then we can improve it and add more advanced things. What almost always ends is that people are dragging it out, and in the end, after we get the barebones, no one wants to do anything.

There are 2 types of gradient students. Full-time students who take grades 4-5, in which case they cannot afford to spend 40/80 or even 20-hour work weeks working on a project. Or part-time students who have full-time work, in which case they take 1 or 2 classes and have a full time job so that they have even less time. I would say that as a general assessment you can make up 6 hours of homework for a graduate class (most will spend less). Assuming a normal class, maybe 3-4 or that you need to spend on studying / reading for the class. This leaves 2-3 hours per week per person to work on the project. Even get what would be good.

Some of the ideas that float like team lunches are not realistic at all. Many hail classes have group projects, and full timers cannot run 4 or 5 group lunches per week, that is, 5 hours wasted per week that can be spent on rpoject. There may also be money problems if you go to restaurants and expect everyone to buy lunch. And for those who go with time, like me, I am not going to make lunch as a team, because I work 9-6 + or 8-5 at night clubs in college.

Probably your best bet is to find people's comfort zones and find out the tasks you can assign to them. Also, to identify freeloaders and not waste your time with them.

Also, using version control for a school project seems redundant. If the whole class is just a project, maybe not. But if we assume that this is a regular class with lectures, exams and homework with a project completed on the side, then any time spent on infrastructure is the time when you are not completing the project. Indeed, although this is unrealistic for the professional environment, school projects are like startups. Get them even if the code is a mess. You can always clean it later. But if you do not, your class will suffer. And in fact, as soon as this is done, I do not want to clean it, and no one else does it .... Getting everyone to use the source control (if you do not share the machine) will spend a lot of time fixing problems, and adjusting people to use it. I do not know what your project is. But with many graduation projects, you need to do some research / experimentation, and then the program code is relatively simple. One class got me with a project of 5,000 lines, lucky that it was not a group project.

Again, keep it simple in the project. You can simply coordinate the details, assign different parts and, as they do, check / test, and then integrate them with your version control and leave them free to work on the project, which is most convenient.

Many will gladly allow you to design a thing, realize a thing, and then learn absolutely nothing and just get an estimate. This is their loss, because they will not receive project lessons. But they are quite happy that the square and the friends are just a square. Some want to contribute something, but they are in the minority. If you get one of them is great for you! Also keep an eye out for engineering. You have to look at things realistically. 3 hours a week for a group member would be great, but I think this is unrealistic. When a project arises, sometimes you can get 5 or 10 hours a week from the one who backed off. But you cannot expect more.

0
source share

How to make friends and influence people has the following recommendations:

Basic Processing Methods People

  • Do not criticize, condemn, or complain.
  • Give honest and sincere appreciation.
  • Turn on the other person you want.

Six Ways to Make People Like You

  • Become genuinely interested in other people.
  • smile.
  • Remember that a person’s name is the sweetest and most important sound in any language.
  • Be a good listener. Encourage others to talk about themselves.
  • Speak in terms of another person's interest.
  • Make the other person important and do it sincerely.

Twelve Ways to Win People on Your Way of Thinking

  • Avoid the arguments.
  • Show respect for other people's opinions. Never say they are wrong.
  • If you are mistaken, admit it quickly and decisively.
  • Begin in a friendly way.
  • Start with questions that the other answer will say yes.
  • Let the other person talk.
  • Let the other person feel the idea is his / her.
  • Try to honestly see things from the perspective of another person.
  • Empathize with the other person.
  • Appeal to noble motives.
  • Dramatize your ideas.
  • Challenge and do not speak negatively when a person is not, they speak only about the positive.

To be a leader: how to change people without providing an offense or arousing resentment

  • Start with praise and honest appreciation.
  • Pay attention to other people's mistakes indirectly.
  • First talk about your own mistakes.
  • Ask questions, not give orders directly.
  • Let the other person save face.
  • Praise every improvement.
  • Give them a good reputation to justify.
  • Encourage them if their mistakes seem easy to fix.
  • Make the other person happy by doing what you offer.

In addition to this, Three Main Motivators for Developers (Hint: Not Money!) "Notes Autonomy, Mastery, and Purpose ideas, which can also be great motivations for people when it comes to creative work.

0
source share

All Articles