Home of The Next Poor Slob
The Next Poor Slob
And he answered, saying, "My name is Legion: for we are many."
I am The Next Poor Slob. You are The Next Poor Slob. We are all The Next Poor Slob.
The Next Poor Slob is the next person working on your software development project. The Next Poor Slob has to quickly understand what has been done and what needs to be done for the project.
Communication
You have a team of developers who need to share a vision of a software product, and The Next Poor Slob is just the newest member. To share this vision, and bring it into existence, it is important that the software developers can communicate with each other.
Software development is a contact sport.
Now, at least in my experience, the only way humans have to share information is through verbal and written communication. Verbal communication is useful for short-term, intense exchanges, while written communication is useful for long-term, widely disseminated information.
Benefit
How does a higher quality software product sound, with a cheaper and faster development process to boot?
Over the years I have seen that a major problem with any development process – waterfall, agile, WHISCY – is that the development team of a software product are not creating the same system. This leads to:
- Many unnecessary meetings attempting to clarify the design
- Many unnecessary meetings attempting to integrate the different pieces
- Mad scrambles to redesign interfaces
- Wasted development cycles
- Code rewritten or completely thrown away
This wastes a lot of time, and time is money. Better communication saves this wasted time and money.
Another benefit is that better communication reduces conflict. No one has the right interpretation, no one has the wrong interpretation. There is just one well-defined target for the software development process.
Actions
So how do you improve communication with your software development team?
First of all, it is vital to set some standards. You can veer away from them in special cases, but standard directory structures, naming conventions, and documentation minimize confusion when switching projects and adding new members.
Next, start from a high-level, clear and concise description of what situation the software development project address then work your way down into more detailed documents. The point is to share the vision of the project.
Finally, use clear code best-practices when coding the software product:
- Use meaningful name
- Use standard design patterns
- Use clear algorithms
- Do not intentionally obfuscate code
- Learn to properly use Javadoc