In this paper we present some ideas, concepts and experiences related with our work of implementing solvers to combinatorial optimization problems. We have been designing, implementing and using solvers for important kind of problems, and painfully, the process of developing them is not optimal at all. The most used practice, which is based on trial and error, often incurs an enormous amount of resources. Clearly, this is a Software Engineering problem, then to find better ways of developing optimization algorithms, solvers and metaheuristics is our interest too. The software development community has a wide spectrum of methodologies when it decides to implement a software project. From the more traditional Tayloristic practices to Agile methods. Software development is a knowledge intensive activity and the knowledge creation and sharing are crucial parts of the software development processes. This paper presents a comparative analysis between knowledge sharing approaches of Agile and Tayloristic software development teams sprinkled with concerns about the development of Metaheuristics.