The Journey To Your Success
Cyclomatic complexity and why some development teams fail
Game development outsourcing: the key decision
The Journey To Your Success
Cyclomatic complexity and why some development teams fail
Game development outsourcing: the key decision
Quality vs. Quantity: A Novel Approach To Game Development
Under-Utilised: How Disengaged Developers Affect Project Outcomes

The Journey To Your Success

John Domingo
|
Jul 22
|
07/2021
beige liquid illustration

This article was generated by GPT-3 – a state of the art deep learning language model that generates or completes text subjects and specific commands using machine learning algorithms on forming possible quick, easy, and often very reliable structured content in real-time. The model has numerous functions and uses, only limited by our imagination and creativity. This was an experiment to explore the capabilities and understanding of GPT-3 on given subjects and headings (which in this case are about the phenomenon of success). The outcome produced by the model can easily exceed one’s expectations. Our company envisions similar customer-ready tools being most helpful for someone that needs to create numerous pieces of content daily without worrying on producing their own unique copywriting and whether it is grammatically incorrect in a matter of a couple of years.

The Journey To Your Success

While success can be defined in many ways it is typically defined as the attainment of goals that are important to oneself and others. Success also comes with rewards such as money, possessions, and power.  

Success is something that is desired by everyone because success means different things for different people. For some success means getting a good paying job, while for others it may mean earning more respect from other people. Whatever it means for you, this article will help you achieve your definition of success in life.

Ways to achieve success

This section will give you some pointers on how to go about achieving success in life.

You must have a clear idea of what would constitute your definition of success so that you know if you have succeeded or not when the time comes. This way your definition of success will be clear and specific so you can work towards achieving it without any ambiguity or doubt over whether you are making any progress or not. You can use past experiences as a reference point so that when the time comes to measure your progress against some milestone; you already have an idea of what level of achievement would constitute a successful outcome for yourself.     

Achieving anything worthwhile requires hard work and dedication to always do your best regardless of whether there are any tangible rewards involved or not; hence never settle for second-best or "good enough" outcomes because they will only hold you back from achieving higher levels of excellence in whatever field interests you most in life.     

In order to succeed, it is important to set achievable goals but at the same time you should try to set goals that are a bit out of reach and not be afraid to take calculated risks. You will never achieve anything worthwhile without taking chances in life and if you don't take chances then you certainly won't get anywhere; hence don't allow fear of failure to hold you back from achieving success.      

The best way to succeed is by surrounding yourself with other people who are also striving for success, so learn how to network with others to build mutually beneficial relationships with them. If you have a friend or family member who has already achieved the level of success that you would like to attain, then ask that person for advice on what it took for them to achieve their goals.     

You need to develop positive self-discipline, work ethic, focus and concentration for you to become successful in life. Without these qualities your chances of success will be limited so make sure that you develop these qualities into your personality before going out into the world as a "success".    

Outcomes of success

The following are some outcomes associated with being successful in life:

Being successful will bring about feelings of satisfaction knowing that you have gained something worthwhile after working hard towards achieving it; hence money or possessions aren't always what makes people happy because happiness can be derived from within by doing things that satisfy your innermost feelings about yourself such as being healthy or helping others less fortunate than yourself.    

Being successful will boost your self-esteem knowing that other people respect and admire your abilities in some area of expertise; hence don't let other people's opinions of your skills and talents get to you because they don't know what it is like to be in your shoes and how hard you have worked to perfect your skills.     

Being successful will give you confidence knowing that you are very capable of achieving whatever goals that interest or motivate you the most; hence if success is important to you then go out there and achieve it without fear of failure holding you back from attaining high levels of personal excellence.    

Being successful will open doors for many opportunities both professionally and personally such as finding a better job, attracting the opposite sex, etc. There is nothing wrong with seeking more opportunities in life but be aware of people who may try to take advantage of your success for their own personal gain; hence learn how to protect yourself from exploitation by being clear on what your goals are in life so that others can't use manipulation tactics against you.     

People who have earned a degree or some form of accreditation will earn more money than those who haven't; hence set aside time each day for self-improvement activities such as reading books or taking courses via the internet to become better at something that interests you most.     

Successful people will always be remembered favorably by other people long after they have died because they made a difference in society through their actions; hence take every opportunity that comes your way in life and make the most out of it because there is no guarantee that tomorrow will come around again when it's all said and done.    

People who have achieved success in life have had positive relationships with other people while being mindful of their own personal needs for achievement; hence make sure that you don't give up on your dreams in life because if you do so then others will surely take advantage of your situation and you will end up being the loser in the end.     

Successful people have achieved their goals through hard work and dedication to doing what is necessary to get ahead in life; hence give it everything that you got when it comes to working towards achieving your goals and objectives in life.    

Things to avoid on the journey to success

The following are some things that you should try to avoid while pursuing success:

Don't allow other people's opinions about whether or not you can achieve something worthwhile hold you back from trying because they don't know what it takes for people like yourself who have already achieved success.    

Don't let other people stand in your way or stop you from achieving your goals and objectives by using manipulation tactics against you such as guilt-tripping, intimidation, etc. You must be strong-willed enough not to allow others to use these tactics against your better judgment.     

Don't place all your eggs into one basket because if something goes wrong then all of those hopes and dreams would be lost forever; hence diversify various sources of income so that no single source becomes too important for you to lose out on.     

You need a plan for anything worthwhile that requires action on your part before taking any action at all; hence be clear on how things are going to proceed once the time comes for action so that there is no room for confusion or miscommunication over what is expected of you and others.     

Final thoughts

This article has discussed success in life and how to go about achieving it through hard work, dedication, patience, commitment, positive self-discipline, and self-control. The outcomes of this discussion will benefit anyone who wishes to achieve success in life through their own actions without any help from other people; hence give yourself a chance to succeed by taking the necessary action to do whatever it takes to make your dreams come true in life.

person stepping on blue stairs


read

Cyclomatic complexity and why some development teams fail

Viktor Korsun
|
Jul 15
|
07/2021

Wrong beliefs could cost you a lot. Here is the reality: all the people are unique. The software developers are different, as well as the tasks and projects that they face. Distinct problems have various dimensions of complexity, and different people have various mental capacities.

A software development increment may involve several abstractions that a developer must keep in the head while designing a solution and implementing the source code. The specific task abstractions are usually represented by one or several independent program branches. Thus the scale of complexity number is well approximated by cyclomatic complexity (https://en.wikipedia.org/wiki/Cyclomatic_complexity). Different developers naturally have various cyclomatic capacities: an ability to deal with and consider multiple edge cases and data flows simultaneously.

I have two bad news here. First: the cyclomatic mental capacity is tough to develop, and it takes many years. Second: contrary to the effort, the cyclomatic power of the team does not add up. While ten developers can write ten times more lines of code than one developer for a given period, the team's cyclomatic capacity is the best capacity of its individual.

To perform unique or even more challenging assignments, the team often has to have a qualitative improvement. It is not always possible to increase the team performance just by increasing its size. It is worse. Every manager knows this inflection point of their team: after reaching this particular head size, the actual team performance decreases.

In agile practices, it is common to split stories into components on the estimation phase. The typical elements are effort, doubt, complexity. Many readers have noticed that in this article we are distinguishing effort and complexity.

Success story

Here is a real example from my practice. As a result of the assessment of individuals, we replaced a multidiscipline team of seven senior developers with a 70% lesser team for one startup in 2017.

The first team was developing the project for two years and kept failing to complete the delivery because the code was not scalable and was falling apart. The team tried to restart the project a few times, but with no success. The team reached its mental capacity. The developers could produce an incredible amount of code that would, theoretically, cover every possible case, and the management invested a lot of money in QA. Still, the task's cyclomatic complexity was merely higher than every team member's best cyclomatic capacity.

As the new team stepped in, they completely rebuilt the project from scratch and released it in just three months with none to zero bugs and perfect scalability.

Every developer in the first team was roughly $120k per annum, which was the $860k of the wasted money per year (you should add other resources as the time, desk costs, management costs, interests, etc.). The second team members' salaries were considerably higher: in the range of $180-220k per year, but the team consisted of just three people, so its total cost was only $600k per year. What is more important, the second team delivered the project in 3 months, so the development costs were just $150k.

Again: the first team burnt almost 20(!) times more money with zero results while the second team was cheaper and more performant.

The whole article, as the fact that a project may be too complex for a team, is, in fact, banal and still often being ignored. The leaders try to introduce monetary incentives, overtimes, build the team culture and still face failures.

Suppose you are a project manager and your team consistently fails to deliver one particular type of project while nailing slightly simpler others. In that case, it may be a good idea to question the team's cyclomatic capacity and compare it to the problem requirements. As an experiment, may I suggest temporary borrowing one more expensive bright contributor from a parallel team and observing the results?

read

Game development outsourcing: the key decision

Viktor Korsun
|
Jul 12
|
07/2021

Mobile game development is experiencing a boom time. It's less risky than doing full-on console or PC games yet still not a smooth waters area. You can create games with your own style. For a small team, outsourcing gives you control over your schedule and the ability to take your time when developing a game. You can also get content created quicker, as many mobile game developers are finding out the hard way once they get locked into a long development cycle due to not having enough time to develop their own services. Mobile game development has exploded over the past few years, and it's no surprise. More and more people are spending their time playing mobile games instead of watching TV, and if you're one of them, then outsourcing might just be for you. Here are tips on how to pick the right mobile game development company for your needs--whether you're looking for a firm with years of experience or just someone with more recent experience.

This is why mobile games are becoming one of the most popular ways to expand your business even further. But do you know that it may actually be possible to outsource some of this work? It can be done, and has already been done, to great success by some of the top companies in the industry. We’ve discussed outsourcing some of the highest-quality work in the games industry before. If outsourcing doesn’t quite click for you - or if you want to learn more about the mobile games industry - read on!

In recent years, outsourcing mobile game development has become a common practice for many small engines and startups, as it provides them with a cost reduction strategy. With the rise of mobile gaming, and the popularity of free-to-play games, developing for mobile devices has become more competitive and challenging. As a result, experienced game dev companies are being picked by investors as well as industry giants like Facebook as potential acquisition targets. Mobile games are increasingly becoming the go-to solution for developers looking to quickly bring their vision to life. And for good reason — simply put, mobile games are fun! Board game lovers, role players, and anyone who enjoys getting together with friends is guaranteed to find a game they can play on any type of device.

In the past few years, mobile game developers have seen their productivity increase across the board. With the addition of social media and mobile app stores, the potential for profit increases as well. One of the best ways to increase profit in this sector is through outsourcing your mobile game development. This is something I experienced first-hand when I used to work for a small mobile app company back in 2012. The growth of outsourcing mobile game development has led to many companies failing and creating ripple effects throughout the industry. The mobile app market is now a much larger affair than it was even five years ago. Developers are competing harder and it’s laying down more standards for what games should be. Mobile games are more important than ever to achieve success, but more challenging to make as well. The right mobile game development company can make or break your mobile game business.

How many times have you heard the phrase "It's cheaper than hiring full-time employees?" and wondered why anyone would want to work for someone else when there are so many great benefits to working with you? Once you have a creative vision for an app or game and you know that you want to outsource some or all of the development work to someone else, it is time to find the best mobile game development outsourcing partner. Outsource mobile game development is an important career skill that will allow you to work on cutting edge mobile games without having to learn entire development teams procedures. You will be able to work on many different apps at the same time freeing up your time to execute business-critical operations.

Mobile games have evolved from simple text-based games into rich, immersive experiences that rely on touch screen activities and advanced features to deliver experiences players want to engage with. As the medium has matured, mobile game creators have created new types of games that utilize different game design paradigms and approaches, which demand different game development skills. Mobile games have been a booming business for the last few years, with many emerging as top-selling apps in their respective markets. However many, if not most, app developers are focusing only on their desktop counterparts for financial/business reasons. Outsourcing mobile game development can allow you to build a game with lower costs, potentially resulting in higher revenues over time. Learn more about how you can outsource your games development program. Mobile games are growing in popularity, and this is why outsourcing is becoming a popular method for game developers to develop games for mobile devices. The process of developing for mobile devices is different from developing for other platforms. You don't need to create an entirely new game engine or duplicate work that was previously done. Developing for mobile devices requires a different set of skills than developing for other platforms. You can learn more about outsourcing mobile game development here.

Hiring an outsource mobile game development can save you a significant amount of time and headaches. The mobile gaming market is growing fast. This is why outsourcing is becoming popular for game developers. You don’t have to spend hours programming a new game engine, or rewriting the same code over and over again. There are many benefits to hiring an outsource mobile game development company. They can really help increase your revenue.

read

Quality vs. Quantity: A Novel Approach To Game Development

Corey Fraser
|
Jul 4
|
07/2021
woman placing sticky notes on wall

Here is the reality: all employees – along with the value they offer a company – are unique.

This is especially true for people in the software and games development industry. Different developers, artists, programmers and designers all have unique skillsets and specialities.

The degree to which a development studio learns to utilise the different talents of their people synergistically will help define their success.

Quality vs. Quantity

Here are two observations:

1. Bringing together these differing skillsets in a cohesive manner can be difficult, especially as the size of the team grows.

2. Effort doesn’t necessarily compound – while ten developers can theoretically write ten times the amount of code as a lone developer, a chain is only as strong as its weakest link.

Indeed, size is not the most important factor – eventually, the point will be reached where, as quantity increases, quality will suffer.

Every manager is aware of this inflection point. after reaching a particular headcount, actual team performance will begin to decrease.

A Success Story   

Here’s a recent example of the above principle in practice, in our own studio.

Following an internal audit and assessment of one of our partner studios – along with their team and processes – we decided to replace a multidisciplinary team of seven senior developers with a smaller, more focussed collective.

The first team had been developing a project for two years and had continually struggled to deliver due to unscalable and unpredictable code.

The team in question even restarted the project a few times, but with no success.

Ultimately, that team had simply reached its inflection point, where quality had begun to suffer and a cohesive approach was no longer being maintained.

While the developers were able to produce an incredible amount of code, the quality of their work was not meeting expectations. Management had invested considerable funds into development and quality assurance, yet the team had ultimately failed to deliver.

Then a new team was brought on board.

With new eyes and a fresh approach, this smaller, more focussed group – with a long history of working together collaboratively – was able to fully rebuild the project from the ground up.

Ultimately, the final product was released in just three months, with perfect scalability and few if any bugs present.

Remarkably, this team consisted of just three people. 

Lessons Learned

woman and man sitting in front of monitor

As it turns out, each developer in the first team was on a salary of over USD 120k, which equated to USD 860k of wasted spend over 12 months. This doesn’t factor in other resources, such as desk costs, management costs, rental costs etc.

When the second team was brought in to take over, they were enjoying salaries in the range of $180-220k per year, considerably higher than the original team.

However, given this team consisted of just three members, the cumulative cost to employ them would have equated to $600k per year.

Remember, of course, that the second team completed the project in just three months, so the total cost of development was just $150k.

Summing Up

Put into perspective, the first team in the example above burnt through almost 20(!) times more money with zero results, while the second team was cheaper, more efficient and considerably more productive.

Despite this lesson, too many leaders in our industry will still try to implement monetary incentives, overtime, changes to team culture and any number of other attempted improvements to the way a team functions.

Yet they will fail to understand when their team has simply reached its inflection point – where quantity has reached a tipping point and quality can no longer be allowed to survive.

Are you a developer or leader of a team within the game and software development industry?

Concerned your team is not achieving its fullest potential? 

We’d love for you to get in touch!

DataSakura offers a full suite of full game development, co-development and quality assurance services, with short-term, long-term and flexible arrangement.

We can tailor our resources to your team’s budget, assets and time constraints.

read

Under-Utilised: How Disengaged Developers Affect Project Outcomes

Corey Fraser
|
Jun 9
|
06/2021

There exists a key problem encountered by good developers in our industry:

They are often overqualified for the type of work they are doing, leading them to very quickly become bored, disengaged and ultimately unproductive.

Being forced to undergo mundane and routine tasks only accelerates this process further.

Formally, everything may seem fine: these developers are performing their tasks sufficiently and the team is on schedule to meet their deadlines.

But are they fully engaged? Motivated? Reaching their full potential?

Results may be good, but how much room is there for improvement?

The Problem

It is highly likely that these overqualified and under-utilised developers are simply not producing the results they could be, if only they were given challenges that met their skill level.

It’s also likely they understand that their trajectory in the company they work for has been pre-determined, leaving little rooms for growth, experimentation and challenging themselves.

While they routinely receive praise, get promoted and enjoy positive feedback from managers and colleagues, they will eventually become demoralised and inefficient, which ultimately affects project outcomes and greater team morale.

The Old Solution

Until now, a common solution that team leaders and hiring managers in our industry employed was to fill open positions with candidates who were slightly under-skilled, thus affording them some room for personal and professional growth.

This would serve to temporarily alleviate the issue of developers feeling as if they are not being sufficiently challenged.

However, we find this to be only a temporary solution.

Soon enough, these exceptional developers will meet the lofty heights set for them by their managers, and seek out new challenges. If these challenges are not continually available to them, they will begin to experience the phenomenon described in ‘The Problem.’

So how do we keep these talented and driven professionals from becoming bored and disengaged?

Our Solution

Simple: build an effective, dynamic and ever-evolving team, and allow the individuals within that team to pursue their own professional growth and development within the project they work on.

Allow them to set their own challenges, where their own ambition is not hampered by a micro-managing and over-zealous leadership.

And finally, if a particular developer truly feels as if their utility on a particular project has been expended, they would preferably be allowed to move onto a new, higher-level project.

Building A Dynamic, High-Achieving Team

When we partner up with other developers, to assist them on their own internal projects, they have the option to hand-select members of our development staff to assist them wherever they see fit.

They have complete control over how they wish to utilise the resources we offer them.

By encouraging a dynamic and ever-evolving approach to game development, the teams we work with generally experience two main benefits:

1. With a flatter organisational structure – along with the lack of micro-management and stringent team structure – they enjoy a significantly more efficient process.

2. With more freedom and autonomy, the individual developers in the team are constantly engaged, challenged and trying new things, leading to a far better end product.

In Conclusion

Employees in all industries – but especially game developers – work optimally when they are given access to challenges that suit their skill levels and experience.

Keep them engaged and always striving to be better, and you’ll experience outcomes you never even thought possible. 

Are you looking for assistance with your next mobile software or game development project?

We welcome you to get in touch!

Enjoy your pick from the world’s best designers, programmers and developers, and watch your team’s productivity and project outcomes reach new heights.

read