Executive Overview

















Our team, the Analyzers, have come up with important features that are necessary for software estimation. For us to better understand the overall of the software estimation, we used a video camera and a tape recorder to interview Scott Madden, New Energy Associates’ project manager. From the interview, we have typed up an Interview Transcript and analyzed the information gathered so we can better use the information. Scott provided us with surprising information. New Energy’s revenue comes half from consulting and half from license sales. What we found most surprising was how they decided on the budget of their software estimation. We thought it was a set budget that they have to work around, but in actuality their budget is the cost to hire people to work on the project. We were also able to gather information about problems with the current system. One of the problems is that the costs of the projects are consistently over budget and go into overtime. Another problem is meeting the client’s changes and needs due to rapid changes in technology. Another nifty thing that we discovered was that the people at New Energy do on average two major software estimations per year.

From listening to Scott, we have come up with a list of rationales that are most important to software estimation. The rationales shall help us keep in contact with the most important goals for our software estimation. For example, the goal of Analyzers’ estimating system is to help managers accurately assess skill levels of engineers in order to effectively allocate human resources. Once we got our goals, we came up with a list of requirements to meet those goals. For example, the Analyzers’ estimation system shall determine human resources needs for each particular project in order to estimate human resources costs. These requirements should help us keep track of what we need to do to accomplish the estimation system.

Then we wrote the use cases that gave us a detailed plan for accomplishing our goals. As individuals, these use cases take on different parts of the system so when they are put together the system is complete. Some of our use cases are Managing Human Resources Costs, Tasks’ Complexity Rating, and Calculating Total Time Required to Complete the Project, Accessing and Updating Client Information, Maintain and Track Skill Levels of Human Resources, and Estimate Revenue for the Project.

We also construct sequence diagrams for some of the use cases to show interactions between the system and the user. Two sequence diagrams are: Estimate Revenue and Compare Profitability of Projects. These gave a more detailed diagram of the interactions. Last but not least we constructed the conceptual model with all of the users that have contact with the estimation system and vice versa.

The problems we faced began the day we got the assignment. The first question we asked was, “What is software estimation?” We approached our project by interviewing an actual project manager as opposed to a classmate who would not have the experience to give us a comprehensive understanding of the problems involved in job estimating. The Internet sites were mostly interested in selling their product than explaining how to do software estimation. Thanks to Scott Madden, the actual project manager from New Energy Associates, we got tons of information regarding software estimation. Some of the interesting things that we learned were that the expert who estimates the software will give a time frame when he/she believes it would be completed. However, in reality, the project more often than not takes twice as long to finish due to unexpected issues that arise.

It was a challenge to coordinate schedules so that the five members of our group could meet in such a short timeframe. We began by looking at the project as a whole, then organizing and dividing tasks amongst each other. The absent members of the group were assigned parts of the project which were e-mailed to the rest of the group. Our group’s diversity has been an asset as well as a challenge in bringing each member’s qualities and talents together, however we have been able to work together as a team and have done well.

One of the problems we feel may never be fully solved is being able to meet all of our clients’ needs. Clients often want special features and sometimes do not understand that we cannot solve all of their problems. Using the current technology, software alone cannot solve all of the clients’ problems. It is and will forever be a fact that we may never be able to meet all of the clients’ needs or solve all of their problems.

1