Developers: Find Your Speed and Work at Improving
Imagine that you are finally able to play a song that you’ve been learning, but at a very slow speed. Every time you speed up, there will be mistakes to overcome. You play a wrong note. You miss a note. Your tone is not as strong. Your technique gets less attention and therefore begins to suffer.
When you are able to get through the entire song at a slow speed, without introducing any of these problems, then it is time to speed up until you encounter any of the aforementioned issues. Then you work at that speed until you are able to get through the whole thing without mistakes again. If there are too many mistakes to overcome, you slow down and do it again until they are all worked out. Time to speed up a little again. And the process continues over and over until you are able to play fast without sacrificing any of the characteristics that make the song sound fantastic.
This is a good tactic to follow when it comes to developing software. First, you need to know what a good song is supposed to sound like. Second, you need to know what it takes to achieve this sound. This includes techniques and disciplines that can be learned through books, teachers, mentors, and practice. Third, you start working on a simple song until you get to a first speed where you are not making mistakes and causing problems like mentioned earlier. Finally, you start picking up speed without introducing mistakes or bad practices. If mistakes or bad practices begin to show, you slow down. Bad technique will limit your ability to speed up at some point, so it’s best not to develop bad habits to begin with. Soon you are ready for bigger and more complicated songs.
Write the Song
Having a good foundation of music theory and song structure help songwriters write songs that people enjoy. Songwriting experience and feedback from listeners help develop a knowledge base of what works and what doesn’t. Songs need to be molded and worked into something that people enjoy listening to. This requires a mix of creativity and practical knowledge.
If you are lucky, you will have somebody that is able to give you honest feedback through constructive criticism. They will be able to tell you not only what you are doing wrong and what rules and principles you are not following, but also the reasons why it is important to follow those rules. They should be open to new or different methods that are more effective. They should also stay up to date with the latest tactics in the event that those tactics apply to solve a future situation. Actually, everyone should do that.
Managers: Keep Quality Protected
When it comes to pushing developers to hit an unrealistic deadline, you are going to end up recording a song with incorrect and missing notes and subpar tone quality, and therefore delivering a poor impression to a client who may decide not to purchase from you again. The deadline may not reveal itself as unrealistic until after the development has already begun. This is where the ability to push a deadline or cut certain requirements remains crucial. Quality should always remain protected within the iron triangle.
This does not mean that we should not be pushing ourselves and putting in the few extra hours needed here and there to get something done. This just means that it should not become a habit to put people in a position to be working well past their peak performance. You end up spending more money for quickly diminishing returns, and end up with a far lesser quality product.
Salespeople and Project Managers: Ask the Team
Protect yourself from biting off more than the developers (and the company) can chew. There needs to be a good flow of communication when making promises for new development or modified functionality. Especially when it comes to setting dates. You don’t want to tell people that you are the fastest player of a song on your instrument, and then either play fast but horribly, or be wrong. Either way you are wrong. Being wrong is not a good thing, especially if it’s in a legally binding document. You cannot afford to be wrong. Ask the team!
You are a member of the band. A band should be agile enough to feed off of each other. Look for signs. Make eye contact to communicate when there are changes. Keep on the lookout for cues. Don’t make abrupt changes without the rest of the band knowing it’s coming, or your performance will be as elegant as a car crash.
Ultimately, we all want songs that we enjoy playing and working on as much as the listeners enjoy listening to. We want a cohesive album with songs that flow from one to the other like a well made playlist. We want something new and innovative, but also familiar enough to appeal to our target consumers. By keeping in check with what is suggested above, you will be able to deliver this quality on a regular basis.