My philosophies can be divided into managerial and development philosophies.
For software management, I employ Agile methodologies. Agile allows greater flexibility and higher software quality. At a previous company, I established Agile methodologies. Before I started managing the team, it had significant trouble getting new software into the customers’ hands. There was a critical feature that a programmer implemented. The customers were clamoring for the feature, but it was not released until 6 months after he finished it. After implementing Agile, I reduced the turn around time from 6 months to 2-4 weeks. The team’s morale improved greatly as fixes and features were readily available instead of laden in bureaucracy.
Agile also stresses direct developer involvement with the end customer. I increased the development team’s interaction with the customers. Before I started managing the team, there were several features that did not match the customers’ expectation because there was a barrier to getting feedback between the developers and end customers. After implementing Agile, I increased customer involvement during the development cycle. Customers saw that their feedback was integrated into the product and were shown that the company could address their concerns.
For development, I use Booch Methodology. I think of it as a precursor to a lot of the Agile concepts except on a macro level. Booch Methodology can be simply summarized as: design a little, code a little, test a little and repeat. You are always coding on what you know already works. When an issue arises during development, it is much easier to find where it is because only a few changes were made to the code since the last test.
I make use of design patterns in development. Especially in GUI development, I use MVC (Model View Controller). An improper use of design patterns can make the code worse off than without using a design pattern. I use design patterns pragmatically to make sure they improve the code quality.
My development philosophy is heavily influenced by The Pragmatic Programmer. I highly recommend reading it and have always had my team members read it.