Our company stands to gain by creating a smart and easy-to-use debugger. It will make the process of programming swifter and more efficient, leading to both profits by selling the debugger and savings by creating a more efficient software engineering process for ourselves.
The main improvement of our debugger over other debuggers will be a visual component; complex data structures like graphs, tables, and trees will be displayed visually as the programmer conceptually sees them, not as lines of text.
First of all, we could create our own IDE and implement the debugger along with it. This option would take longer to develop than the first, but would not have the difficulties of interfacing with other IDE's, since the debugger would be tailor-made for our own IDE. Also, we could stand to charge more for this product than for a plug-in(GraphViz).
Secondly, we could create the debugger as a plug-in for an environment such as Visual Studio or Eclipse. This would take less time and be cheaper than other options, but may lead to difficulties in interfacing with a variety of IDE's, and may be unstable.
Finally, we could link an existing IDE and an existing graph displayer but program the interface between the two. This would take the fastest among the three options but would not lead to much actual profit by sales. It would, however, improve the efficiency of our own programming practices.
As for the schedule, option 1 could take many years; it would probably demand constant attention. Several years would be a reasonable period for option 2, and option 3 could be done in a matter of months. The duration of one development cycle within these schedules would vary depending on how many versions we release to the awaiting public, among other factors, but the ideal development cycle would be one version per year. Both Eclipse, which was open source starting on November 7, 2001, and GraphViz, which started in 2000, have maintained a nearly annual release schedule.
Management of this Software
Management of this project depends on how components of the project will be subdivided. Option 1 will need many more teams and a large staff, to cover the many aspects of an IDE. Option 2 could require one team for interfacing with IDE's, a large one for displaying graphs visually, and other smaller teams for the execution window and the variable window.
Wages for programmers could run around $20,000 a year a person. Computer equipment and office space, which requires property taxes, will be needed.
I conclude that, with the need for cutting the cost and time associated with debugging, this project is worth the costs, and option 2 is the optimal choice.
An integrated development environment puts jointly the whole lot needed for programming into one application: a text editor, a compiler, a runtime environment, a debugger, and other tools. Some instances of these applications include Visual Studio, JBuilder, and Eclipse. Integrated developm