Economics of Software Engineering: Analysis and Estimation

--Originally published at TI2011 – Miguel’s Blog

Previously, when I was going to start working on a project for school, I started by deciding the programming language I was going to use, how the classes were going to be structured, and what each member of the team was going to work on. However, after reading about the economics of software engineering, I realized that there’s so much more that goes into a project before you even do any coding. Maybe, the reason why I didn’t realize it was because the projects were for school, I’m not making any money from it. When you actually want to make money out of a project, you have to take into account many other factors. Using a certain library may seem convenient, but can somehow increase the cost of the project. The economics of software engineering is about making decisions about software engineering, but taking into account the business side.

Now, let’s talk about goals, estimates and plans. When starting a project, all these three things need to be established, all three of them are different. Goals are about business needs, such as generating profit, and how to reach them. Estimates consist of thoroughly evaluating the resources and time that will be needed for a project. Estimates are used to know if a project can be done within the limits of time, budget, etc. Plans are specific activities that are needed to reach the goals of a project.

Image source

The problem that I see with all this is that a lot is based on predictions. Nothing is really certain. But that’s just how businesses are, there is no path that will guarantee success 100% of the time. That’s not to say that goals, estimates and plans are useless. They vastly increase your chance of success, but you shouldn’t be Continue reading "Economics of Software Engineering: Analysis and Estimation"