Project Management with DevOps, Analytics, and Pipelines for Successful Games and Productive Teams
Explains some helpful thought process to how to think about your team’s assignments so they can easily collaborate and review results.
Planning a Game and Implementing Features
How to think to go about planning a game from start to finish, drafting the features, weighing your options, and building a product pitch.
Psychology of Feedback Loops and How to Make Them
Understand the importance of responsive gameplay through visuals, sound design, animations, and discussion on the ethical significance of reward systems and loops.
We have a discord!
This guide is for people who need help finding advice for some of the toughest decisions you’ll be making from the beginning of production and through its development lifecycle. We’re going to be going in-depth extensively on the topic of what a Project Manager is, what your responsibilities are, and how you can perform them to the highest quality possible.
There is no TL;DR here, and you should be open-minded and patient so that you can avoid not to make some of the same mistakes others have. Take this advice to heart because it’s better to learn these things early as possible to increases your chances for a better quality of life as a Leader.
We’ll be clarifying how to work with both a small team and a large company with many departments. Regardless of your team’s size or your strategy, this guide will apply to you.
I am the Operations Manager for Cloud Entertainment, and I’m responsible for leading a company of more than 14 developers, game testers, translators, and moderators. Our total staff size comes down to 77 people as of writing this.
Since the beginning of this job, I’ve slowly had to work my way up to finding the right tools for our team to work efficiently. Making sure everyone’s giving the best quality communication, we have no internal conflicts.
However, this was never my first job, either. I’ve worked with multiple teams as the Project Manager inside and outside of Roblox. Managing a team in Roblox is just as high level in difficulty as it is to lead a team in Unity or Unreal Engine. I’ve experienced a multitude of scenarios where we had different outcomes based on poor communication, lack of organization, having no sense of direction, and worst of all - lack of compensation for the developers.
I want to teach you what to look for and how to improve yourself, so you don’t make some mistakes that will often be missed.
- What Does It Mean to Be a Manager
- How to Hire and Create Job Applications
- Understanding When and Who to Hire
- The Importance of Team Culture
- Lead Positions and Delegating Task
- When to Fire and How to Handle It
- How to Determine Employee Payment Plans
- Management Methodology
- Project Management Tools
Before we dive into how to perform the responsibilities of the manager, lets first think about what it means to be a Manager. When you think about a manager, what do you believe their purpose is? What does it take to be qualified as one? Is it development? Well, actually - it isn’t.
A common misconception is that the better someone is at their field, the more likely they are to be a good leader. That’s entirely not the case because being the best and most knowledgeable in your area doesn’t mean you can successfully fulfill the role of a good manager.
So what is a good manager? It’s someone who can communicate information effectively, coordinate multiple people to work as one, and who is the mediator that makes sure the team stays focused and on track for what the project needs.
A good manager should be able to help not by telling someone how to do their job - no instead, we’re going to say to people we need, and ask them how they can work to achieve what the team needs. Making sure to understand time constraints, limitations and making sure everyone doesn’t feel burned out and unmotivated.
Now that isn’t to say that someone who has experienced multiple fields or been around teams long enough isn’t able to give higher quality feedback due to their experience. Understanding every part of the body you control is very important. You are the best communicator; however, the people working under you know their field best as they are doing the work for you.
As the manager, we’re no longer just someone who gets told what task to do. Now we have to make the most informed decision for what the team needs to do to be successful.
It probably sounds like I’m repeating myself, doesn’t it?
We need to understand just what it means to be a leader because of the weight behind those words, and the one in the position can be the difference between success and failure.
Let’s start with the most commonly known task managers have to do - Hire.
This topic is where we are pitching to developers why we’re a good fit for them.
Did you know it’s a skill to write engaging job applications? It’s also incredibly difficult to access the right candidates that apply because there’s a lot of things we have to consider. We’ll start by looking at some job applications that exist on Roblox right now.
The vital thing to note about these job applications is these crucial parts:
- About the Company
Anything else is not required, but at the very least, you should have these when writing a job application form. So what I want you to do is study these job posts and analyze them and think about how to can put them into your own words.
So when we talk about ourselves in this section, it’s essential to clarify your companies goals and background, such as your goals. People don’t know you, so you’re trying to establish who you are and companies value so that people should feel a personal connection with your team by having views that align. This part could be expressing importance on creativity, community engagement, a stress-free workplace, a desire to grow this into a career.
Treat this part like as if I am sitting in front of you, I have the skills you need, but I’m not quite sure why I should work for you. How would I fit into your team’s culture if you even have one? This section should not brag about accomplishments but rather why I’ll be getting the best deal possible by working for you.
There are not enough people who make use of this, and it shows once you hire them. Some people just aren’t entirely sure what they are signing up to do. Let’s take a UI designer, for example, most of them expect that they only need to make the art, and you put it together. However, our company needs that person to be able to put it together in the studio themselves. Unless we established this early on, we might end up hiring someone who actually can’t do this and won’t find out until later, causing some complications in your development timeline.
Make it clear for everyone what is expected of them when they join your team; it can even be something as simple as a regular discussion. Also, if it’s not related to the position itself but basic expectations, you should still include it.
The requirements are another thing people don’t always include, and it’s more critical than responsibilities to fulfill responsibilities in the first place we first need you to have specific skills. An example of this may be a database programmer, and there are two types of databases, SQL and NoSQL. Just because they are experienced in a NoSQL database like MongoDB, doesn’t mean they know how to work well with SQL databases.
Make sure you establish a clear set of standards you expect in their skillset; these should not be “nice to have,” which are things you can teach them on the job. The requirements should skills that are required to be able to engage in the project.
We’re going to discuss payment much deeper in another chapter. However, just to make a quick note, you should never make this “Contact me to know how much is the payment” because this is typically the first thing people are looking at before everything else. If they don’t know the payment, there’s often less ease in deciding if they should spend their hours working for you.
Please never forget this, you should always include all possible ways you can be contacted outside of the DevForum. If you are going to include an email, make sure it’s professional and not epicgamerxd @ some site.
I highly advise you to use Google Forms or ClickUp forms and include it in your job post because using a form will make it much easier for you to organize the applications and more transparent for the people interested were to apply to.
Image of Cloud Entertainments use of ClickUp Forms
So we found someone we like, they met the requirements, and we’re getting ready for an interview, let’s think about how to handle it.
We have a few objectives that come from interviews:
- Determining if the developer will fit your team’s culture and have a personality that you like.
- You want to understand why the developer is applying for the position.
- You want to know their ambitions for the future and how you see your future relationship going.
When you start asking questions, really think about why you’re asking them, they should be helping you get closer to your object. An example of this may be, “Tell me about your routine when it comes to solving problems in a team project.” Something this precise and clear, mainly include saying team makes it clear that you want to know how they might fit in.
Here are some useful questions to be asking:
- Tell me about yourself, such as what got you started in developing?
- Why do you want to work with us?
- Where do you see yourself several years from now?
- Explain to me your process for accomplishing your task.
- What has been your experience working for other teams?
- Are there any personal projects you are working on right now?
- Are you currently doing any commission work?
- Is there anything you hope to learn by working with us?
These are just a few right questions that help you figure out someone’s availability, motives, and a bit of their personality. Plus, you want to understand and gauge their experience. Someone who has never worked with a team before can be a problem, and you may need to spend more time helping them adjust. However, that’s the point of asking - what if you don’t have time to help them improve? You need to make sure that this person you’re thinking of hiring meets your quality standards, and they won’t degrade the value of the team.
Make sure you’re only hiring team players, not someone who will try to do all the work alone!
The biggest problem we face as Project Management leads is figuring out when is the right time to hire. When does a situation calls for not one programmer but two? Do we need a modeler? Should we be hiring a music composer?
Take a moment to access a few things:
- Is your team struggling in an area of development?
- Are you missing an essential team member?
- Can we afford to hire someone else?
- How does our timeline to release look?
Sometimes we have to step in and tell our sole programmer that his determination to work by himself just isn’t working out now that you’re a month behind schedule, and we still have bugs to fix. He has done a fantastic job on our AI, weapons, and environment, but he’s struggling to make the UI work for all platforms. It’s time to bring in someone who has worked on cross-platform before, so our current programmer can focus on what he’s good at.
Access if your team can get the job done and make sure you ask them how they feel. You might find that they are often overloaded with work.
Sometimes you might tend to over hire for something when you can simply find free resources. This is a case by case scenario. If you need swords, you should ask yourself if you need a new modeler just to get about 15 swords made, maybe do some armor, etc. Depending on your budget, you may not be able to do this. So one thing you can do is simply purchase an asset pack for about $15-20, and your programmers will instantly have something to work on.
Evaluate your options before you start thinking you need to hire someone else.
Please plan your budgets, and think carefully about what it means to bring on more people. Primarily if your team revolves around royalties, it just doesn’t scale well and could cause a lot of conflicts if someone’s percent has to be cut now that we need someone new a month or two into production. We’re going to do a deeper dive on this later in another chapter.
Make sure you are always thinking about the time constraints when giving assignments because you could put yourself in a situation where you may end up needing someone else. You should access the cost of hiring someone given you may have 3-4 months or more to be with them. Cost calculations are vital to stay afloat and run your business. So this goes in hand with, “Can we afford to hire someone else?”
A lot of people may not have heard of team culture before, but they know what religion means. In the team environment, it’s the standards expected of everyone in the workspace and the everyday aspects everyone shares. You can’t artificially create a culture - it’s something that just happens over time as everyone works together.
An example of team culture in such as my own; Cloud Entertainment - You’re expected to take part in conversations daily. We tend to all have the same energy about our projects, such as how our developers in the design team will frequently ask for work assignments. This sort of became natural to do as more and more people became comfortable doing so.
Remember to pay attention to what’s going on in your workspace and pay attention to what’s found to be acceptable, unacceptable, comfortable, and uncomfortable to do. It can take some serious work to change your team’s culture if it’s engrained.
Cultures are built around your entire team based on their personality, beliefs, morals, habits. When you’re hiring, this is very important more than you know, so pay close attention to the people you’re bringing in.
Sometimes we ourselves need to take a step back and realize when we’re not fit to manage a portion of development or we are too overwhelmed to keep managing efficiently.
Let me give you a real example I dealt with before.
I was hired as original, the Game Designer of Cloud Entertainment. Still, as I slowly became the Operations Manager leading the team, I found myself having a harder time planning for updates. Eventually, I concluded that I needed help because the quality of my work for Game Design was not as good as it should be.
Hence we hired a new Game Designer and eventually even a new Lead Programmer so our owner could focus more on marketing and business development growth.
A general good rule of thumb is that you should always have a lead system, such as if you have two programmers, then one of them needs to be the senior that makes sure all the code is consistent. If you have multiple builders, then one needs to be the director for a consistent style.
So why should you have a lead?
- Keep the team’s work consistent across the project.
- Delegate tasks to the team members so work is getting done.
- It frees up your time to handle your responsibilities better.
When delegating tasks though, make sure you are talking to your developer about how long it may take them to finish and the difficulty involved. You may need to conclude that some things may need to be delayed or not implemented at all. It’s all about planning and timing.
This is tough for everyone, but trust me, it does get easier after the first time. It’s never easy to let someone go and take them off the team. However, this is important to grow at times and address issues before they snowball into bigger problems affecting the entire team.
You may have hired a friend or have a hard time finding a replacement, so you’ll tend to hold off until you can find someone new, but I assure you this is not the way to go.
I have had to fire many people, often due to lack of communication or their word was steadily promised to be done soon only to take up more time waiting. The project couldn’t go on like this, so they were fired so we could start looking for someone new.
If you find that someone is falling behind, it may be time to let them go as it’s often for the best so you can have urgency for finding a replacement instead of making due and hoping things change.
Remember, you are responsible for a team of other people, they won’t appreciate someone who is falling behind getting special treatment.
Something we should now discuss in further detail now is how to determine payments. There are a few options we have to choose from:
- Rate (Hourly/Weekly/Monthly)
- Per Assignment
I don’t personally suggest offering royalty because of a few reasons, such as the limitations it causes when you need to hire more people. Scripters often may want 25-50% for their work, and once you sign a contract, you’re locked into that agreement. Now to hire someone else means to negotiate a new deal so you can cut in a percentage for a new programmer. Most of the time, this may cause conflict, and they will leave.
I only suggest royalty on a passion project between 2-3 people who are “Owners” of the project and agree to take responsibility for paying any new joining team members using part of their royalty.
Ex: One owner pays programmers, the other owner pays for designers using their 50% share.
This then becomes a Rate or Per Assignment pay for the employees. However, generally, you should only pay yourself a fixed salary or by the same rules an hourly amount as well.
Just remember, royalty does not scale when you need to hire team members.
Currently, if you saved up a budget, you can pay by a rate using USD or Robux. The team at Cloud Entertainment all contracted team members are paid by the hour by tracking their time and are paid on the first of the month.
I would suggest taking a look at your budget, such as say if you have $1000, then you could probably pay your team members $75-100 every month for their work done. If you have Robux such as 300,000, then you could also do something similar where they get paid every week, bi-weekly, or month.
Make sure you’re evaluating the cost for a year (12 months), and what if you need to hire 2-3 new staff during that time?
This is about one of the less common for anything that isn’t commission work, so unless you’re out-sourcing work, I won’t do per assignment. This evaluation is always a rough estimate, and you’ll find people ask for rates based on their ability to complete a task. Sometimes what’s difficult for them will cost more.
If you go this route, try to establish a fair assessment of pay based on your current budget. You could pay them $200 for completing 50% of the project for what’s needed of them.
You can also be fundraising, don’t be afraid to make a Patreon that gives supporters a role in your discord. There’s too few, but some right investors but be cautious with investors; you should own 100% of your project, and if you’re offered anything, make sure it’s a deal you can get yourself out of. Never put your project or ownership on the line.
You could even work on projects and save up before you start funding your development. It’s sad, but the truth is a lot of people these days need income to get by so you won’t get many professionals without having a budget.
Now we’re going to get into something vital to your workflow - management style.
There are three popular ones:
One of the more popular and often hybrid style mixed with Scrum. Agile focuses on a cycling system where development is performed through a thing called “Sprints”
As shown above, a sprint consist of Planning; Designing; Building; Testing, and Reviewing your Sprint.
Sprints must be consistent in their time, such as 2 or 3 weeks. The goal is to get the project into a presentable state where progress is made. You must never delay a sprint. If something isn’t able to be finished on time, then you must simply not include it in your sprint.
You should always see consistent progress, even if it’s small.
A bit of an expansion on the Agile methodology ran by a Product Owner that comes up with features they want in the product. Those features are User Stories put into the Product Backlog. The team then gets together and discusses what to make the goal of the next sprint. The User Story is put into the sprint backlog for development. A “Scrum Master” such as myself for our team, is in charge of making sure everything is going according to plan and helping developer achieve their goals finishing assignments.
Every day or so, the team has a “Daily Scrum” where they do a check-in of how everyone’s work is going and get feedback. Keep in mind, and it’s not always best to have a daily meeting; you could save them for important things.
An old approach to software development that is not often used anymore. Unlike sprints, you would often anymore. It starts with figuring out what product to make, designing it, creating it, testing, then maintaining after release.
This method hasn’t done too well as it means testing it done way too late when issues in design could have been caught early on, such as through the Agile/Scrum method.
So more about Scrum, the Product Owner creates User stories similar to the image above. It creates a clear understanding of the design perspective so that programmers and artists have a better understanding of the goal they are trying to achieve.
It follows a clear format:
Who; When, Why?
Make sure you learn a methodology and find the right management project, so you can start organizing and creating a workflow plan to apply it. We use ClickUp at Cloud Entertainment, and the tools make it easy for us to organize.