The Struggle of Scheduling Software Developers
Software developers sometimes seem to speak a different language than the rest of the business world. From optimal working hours to after-hours parties and preferred environments, it’s a different way of working than business tradition teaches.
One of the chief points of contention between developers and the rest of the business world can be time estimates and deadlines. Simply put, managers and other people responsible for getting things done want to know how long it will take. To a certain extent, some aspects of business are predictable. They have been done a number of times and can be reasonably expected to take about the same amount of time to do again.
The difference for a software developer is that when creating a custom plugin, application, or business solution, it usually hasn’t been done in that way before. Otherwise, there would not be a need. Similar things may have been done in the past, but they probably look completely different from the point of view of software developers.
In an idyllic world for developers, people needing software would wait until the best possible solution was available, or understand the unique challenges that software developers are facing. In an idyllic world for business-people, schedules would be followed to the letter, and deadlines would always be met. In the real world things seem to happen a little differently.
How is the bridge between both ways of thinking and the needs of the business or company met? Obviously, depending on pre-existing circumstances, every company has a slightly different solution, and certain things are always changing. Here are three guidelines to corral the change, yet still provide flexibility to both parties.
Grasp the Real Problem
It has been said that a problem well-stated is a problem half solved. In order to get to that point, both the developer and the business need to understand the problem in the first place. The words and ways of expressing what the end result may be will differ at the start, yet at the end, all concerned should know what the other is thinking when the product or process is mentioned.
Many people have set about solving a problem without knowing what it is. Don’t add your name to that list either as a company or as a developer.
Now that you know what needs to be done, what is most important? As the old saying goes “You can have it cheap, fast, or done well. Pick two.”
After the problem is thoroughly understood, a variety of ways to solve it become clear. Some of these may cost less and take more time. Some may need a team of multiple people to be involved. What does the developer(s) expect? What does the business expect? Make sure that expectations aren’t hiding under the rug.
Understand and Communicate
Inevitably, snags and unexpected issues will come up. When these occur on the development end, it can be extremely difficult to explain to a non-developer. When they happen on the business end, it is tempting to just add a few more things onto the developer(s)’ plate.
Both of these scenarios are extremely common and can be worked through. Perhaps the underlying problem became a little lost in the mass of things to do. Maybe the focus of importance shifted to another area. Let the other people know what’s going on and communicate as much as you can before the problems grow out of proportion.
Keep in mind that these guidelines are meant for the crossover of the developer(s) and the rest of a team or office. In many cases, companies do not need to hire a team of developers permanently. Applications, processes, and other types of software generally need to be built once for a company and then maintained. The ongoing maintenance does not require the team that built the application.
Some companies only hire one or two developers and keep them. However, this may significantly slow down the speed of developing your custom solution, depending on the scope and size of the project.
Outsourcing your needs can work well for completing the initial build and/or maintaining it, depending on what your needs are and what is important to you. Outsourcing gives you and your team access to a much wider variety of talent and flexibility than one or two developers. Depending on the company or agency that you select, the price can be significantly lower and the quality higher.
If you are interested in exploring outsourcing options, Swan Software Solutions has been around for over thirteen years. We pride ourselves on the quality of our team and the work that we have done and do for our customers. We would appreciate a chance to show you what we offer to solve your needs! Contact us today to begin the discovery process and understand the challenges you are facing.