Developer Trifecta

Facebooktwittergoogle_pluslinkedintumblr

Developer trifectaConstantly working on different projects has led me to the conclusion that integration cannot be done without some kind of balance. I believe there are three major aspects of integration that need to be considered before rushing into a new project. These important parameters I like to call the ‘developer trifecta’ are the following:

 

Time

Time constraints are a reality of any project. Projects have deadlines that you have to respect without butchering any part of the project. Your job is to organize your time and set your work pace according to the deadline. You should know approximately how much time you need for certain steps, and you should plan ahead for unexpected difficulties.

 

With time constraints comes the issue of resources as well. The balance needs to be kept between time and resources – the time needed for the completion of a large project can be halved if the number of developers working together is doubled. This way, more resources are being used, while the work process speeds up. There is a strong correlation between time and resources: an increase in resources leads to a decrease in time spent working on a project.

 

Performance

The performance of the product you are creating also needs to meet certain expectations. The quality of your work has to be flawless – you have to include everything that is needed, and if you encounter some difficulties on the way, you might also have to do some workarounds in order to create better solutions and successfully complete your integration project. You also have to think about the next step, which is supportability.

 

Unorganized ideas might seem to work well together – at first. However, if you just throw some ideas in there, without much regard to organization, testing, and logical order, the supportability of your integration will decrease.

 

Usually, the correlation between time, resources, and performance is positive: the more time and resources you invest in a project, the higher its quality will be. It will depend on the developer and their skills. There can be big difference in what two developers can do.

 

Supportability

As noted before, supportability is negatively correlated with performance: a quality integration will not require enormous amounts of maintenance and support, whereas an integration done in a hurry will probably have many issues. The more you test your integration, the less time you will have to dedicate to support.

 

In fact, you should be able to determine how much support is needed beforehand, by dedicating your time and effort to the organization and careful testing of your solutions. If you test correctly, you will be able to find production issues and remedy the problems before they arise.

 

As I mentioned before, you need to find a balance between the three. You need to make your solution fit for its business purpose, and you have to complete the project using the time and resources that are available to you.

 

The more time and resources, the better. Quality solutions aren’t developed in the blink of an eye; people working in any field can agree to that.

 

Did you have any projects where some of the discussed issues weren’t met? If so, which one was it?

Facebooktwittergoogle_pluslinkedintumblr

Comments are closed.