1) You should choose the right development application. The one that is more fit for your application. Not the one that is in vogue. Do not put your resumee first. Allways consider the technical means that you have on your disposal.
2) Do not build skycrapers if is not necesarily. Diminish the complexity if is not needed.
3) Allways communicate with your client and your team to find the fit solution for your needs.
4) Allways try to find the right ballance between server, client, programmer needs and usability, security and so on.
5) Allways seek the value of the requested features. You might end-up with with expensive solution to a non important feature.
6) As said Skyscrappers aren’t scalable. Work modular. Make releases often. You will be able to fix more quickly the bugs that might occur. Also, you will be able to anticipate the scalability issues.
7) When you are trying to provide a detailed answer to a customer, try to be as short as possible in your answer. Do not end-up with technical explications. Your client might just get start to bore after first word. He might not be a technical person. The terms like “scalability”, “optimization” might not be in his dictionary with the meaning you want to transmit.
Try to get certain datas about the project. Try to put as many questions to clarify the quantity. Answers like “many”, “soon”, “more” should not be accepted as viable options.
9) If you are a software architect and developer in one project, you should be able to see the micro and the macro. Written specifications do not worth anything. Those are there just to help you figure out how it will end up the project. The main goal is finishing the project.
10) There is no “one-size-fits-all” solution. Each project has own tricks. You only should be able to see which you need to implement, and also, to refine the technical part to be as optimal as possible.
Tags: architecture, optimisation, Project management, software architect
