Software Engineering Principles
In software engineering, most of our time is spent on solving specific problems. We don't often sit around thinking about what our IDE, Version Control, Automated Quality Assurance, and Build Systems are doing for us. And that is the point - these tools are meant to do their thing quickly and quietly, letting us focus on more interesting aspects of development. However, to be truly successful at software engineering, we need to understand how the tools we use and decisions we make affect the overall product. To this end, I will review five points that I think software engineers need to know. Q: What three groups of people do you need feedback from to accomplish the three prime directives of open source software? A: Remember that the three prime directives are that the system accomplishes at least one useful task, that a new user can successfully install and use the system, and that a new developer can understand and enhance the system. The original developer does not have the c...