So this is a course about project evaluation and management with a very heavy focus on software development/engineering. I don’t know about others, but for me, when I see the word management I always think of two things: time and money. Some people even say that time IS money, so that narrows it down to just that one thing.
Money is one of the most important factors when it comes to making decisions. According to the Software Engineering Body of Knowledge (SWEBOK) Wiki, economics is the study of value, costs, resources, and their relationship in a given context or situation. Such studies, along with a proper analysis of similar projects, benefits, externalities, costs and other prices, can lead to better perspectives and well informed decisions that can range from whether or not to start a project, to whether or not one should be terminated for good. Engineering economics is basically applying these studies for a particular engineering field.
If you, like me, plan on having (or already have) a career revolving around development, then you may have thought at some point: Finances don’t concern me that much, I just need to get an expert to do all of the needed calculations for me. To be honest, that used to be my mentality until very recently, but I’ve come to realize a couple of things that I’d like to elaborate on.
First, things aren’t as simple as just doing a couple calculations. There are a lot of elements that must be taken into consideration before making important decisions. The Wiki page I mentioned earlier contains tons of concepts that are imperative for economics.
If you ever read one of my UML entries you must know that there is an overwhelming amount of different UML diagrams. Well, economics has somewhat of an equivalent to that: economic analysis methods and techniques, but, unlike UML, most of them must be done to get a complete perspective of the situation. The website of the University of Maryland has a section dedicated to engineering economics, and it also lists several steps and studies that are very useful not only for software engineering, but for general projects and fields. Uncertainty is mentioned both in this website and in the Wiki. It’s said that uncertainty and risk are common situations and, as such, a couple of estimation techniques are needed to deal with them. With this many considerations (and many others I probably didn’t include) the idea of leaving all of this to an expert doesn’t sound half bad, but that segways into my other point.
Yes, companies do have different departments so if you are part of the development team finances shouldn’t be that relevant for you. But what if you have your own company? What if you are starting a project by yourself? Wouldn’t it be useful to have at least some notion of how engineering economics work? You don’t want your efforts to be in vein or have someone scamming you because of your ignorance on the subject. What I’m trying to get to is: there is no useless knowledge, so at least understanding some basic concepts and procedures would definitely make a difference in the previous scenarios. I’m glad I’m taking this course for the semester, I feel like it will do me good.
TL; DR: Engineering economics are vital even for us software developers.