high quality Integrated Development Environment.

advertisement

Ken Ear (a1211296)

The Personal Software Process is unnecessary if you have access to a high quality Integrated Development Environment.

Submitted 11 April 2013

Introduction

The statement of that the Personal Software Process (PSP) becoming unnecessary upon the introduction of a high quality Integrated Development Environment (IDE) is debatable. My view upon this statement is that it is false to an extent. One could argue both (or three) sides to this statement. I support the use of the PSP, along with the use of an IDE together as one, as I believe that utilization of both can lead to a better outcome than using each one independently. Seemingly, there are only 2 possible scenarios that arise to this statement; just using the PSP and just using the IDE.

The hidden third scenario of using both arises if you understand why IDEs are restricted during PSPs. The general conception leading to the discouraged use of an IDE whilst conducting a PSP is, in my opinion, really only directed towards the features in which all

IDEs implement as a base product. [3] They are error checking, auto-completion and pre-compilation. Removal or disabling these features should, in theory, allow IDEs to be used alongside a PSP. We may consider the use of neither, but that is the base scenario for comparisons, so it isn’t considered here.

Integrated Development Environments + Plug-ins

IDEs are simply tools to simplify and improve productivity of a programmer. [3] An

IDE’s base features must include a real-time error checker, debugging and helpful views on the application/component under construction (auto-completion). So a high-quality

IDE should have these implemented and much more. [1] There are in fact many plug-ins developed specifically for IDE’s to further improve the effectiveness and efficiency of conducting a PSP. The tools work to automate the data collection in a way which is faster and more accurate than human documenting/recording each and every step they take. They require minimal input to achieve as much, or even more output than the programmer’s performing the documentation side of the PSP themselves. For example, the most popular IDE, Eclipse, [2] has this plug-in which performs the LOC (Line of count), time logging, and size estimations automatically. Whilst providing template and data input forms for phase recording, defect logging and summary form generation.

While I agree to the use of IDEs in conjunction with the PSP, the conditions are that the auto completion, auto error checking features of a standard IDE are constantly disabled throughout the process.[4] [3] The IDE clashes with a PSP via the automation of checking which is the area in which the PSP emphasises that the programmer reduce as part of their ability.

Benefits of 3 different utilisations

What we talk about here discusses the benefits of using PSP. Personally, I shall be using an analogy using 2 entities, a soldier and his gun. [4] In general, conducting a PSP by itself should have the expected results of

“Improve their estimating and planning skills, make commitments that they can meet, manage the quality of their work, and reduce the number of defects in their products. “

-Page 15 Intro: The Personal Software Process (PSP) Body of Knowledge [4]

As stated by the paper, the main purpose and benefit of a PSP is to improve the skills of any programmer who decides to conduct it. As per my analogy, in this case, the soldier is improving his own skills in combat, where it may be gun accuracy. [3] Now we consider the scenario of using the High Quality IDE instead of conducting a PSP, the benefits would be faster programming in terms of early error reduction and auto-

completion of code. Back to the analogy again, this case can be summarized as the soldier having no change, but the gun being modified to be better. The gun can perform better, however the soldier still inputs the same amount of effort (a little less) and skill into utilization, we can already see a bottleneck issue as there is only so much we can modify the tool to aid the user. Now to my view, where the utilization of both PSP and

IDE can output a greater amount compared to each one used independently. As stated previously, [3] IDEs are not used in PSP due to their automation in coding. However, in this scenario, we simply disable features PSP forbids and utilize a [1] [2] plug-in which

aids the actual steps taken in a PSP. The plug-in for the IDE would then increase the efficiency upon the PSP, hence decreasing the time needed to document the steps.

Analogically, this is the soldier having training and the gun being improved also. Later on, after PSP is completed, the adoption of the High Quality IDE would vastly further improve the output of a programmer. Hence, this is my disagreement with the PSP being unnecessary if we use a High Quality IDE. My view is to initially use PSP and IDE which has base features disabled, then after PSP is complete, re-enable them for maximum productivity.

Conclusion

I firmly believe the statement raised is false, but to the extent of simply abandoning one aspect for the other. Using both IDEs and the PSP over time is evidently better. That separates true programming ability with additional aid from mere automated programming ability displayed by an untrained programmer with High Quality IDEs.

IDEs can only do so much for a programmer, but in the end, how the code behaves and the logic of it depends entirely on how the programmer decides to program it. Therefore it is wrong to state that improving oneself with the PSP can be fully substituted with automated tools in the form of IDEs. One may improve their productivity with it later though.

References

[1] Ho-Jin Choi, Sang-Hun Lee, Syed Ahsan Fahmi, Ahmad Ibrahim, Hyun-Il Shin and Young-Kyu

Park. :

Chap 10, Software Process Improvement and Management

DOI: 10.4018/978-1-61350-141-2.ch010

Published: November 30, 2011

[2] Xiaohong Yuan, Percy Vega, Huiming Yu, Yaohang Li:

A Personal Software Process Tool for Eclipse Environment

International Conference on Software Engineering Research and Practice, SERP'05. 2005;

2:717-723.

Published: 2005

[3] Paul van Eikeren, Text Analysis International, Inc.

Integrated Development Environments for Natural Language Processing http:// www.textanalysis.com

Published: 2001

[4] Marsha Pomeroy-Huff, Robert Cannon, Timothy A. Chick, Julia Mullaney, William Nichols

Text Analysis International, Inc.

The Personal Software Process (PSP ) Body of Knowledge, Version 2.0

SPECIAL REPORT CMU/SEI-2009-SR-018

Published: August 2009

Personal Reflection

In relation to the statement that the Personal Software Process would be rendered unnecessary given access to a High Quality Integrated Development Environment, I believe this statement to be false due to my own experiences upon conducting a PSP. I can see areas in which an IDE would greatly benefit a programmer, but not entirely replace the actual improvements to be gained from PSPs. I have noticed from my own process that it takes quite a decent amount of time setting up the documentation side of the PSP, which could be automated or simplified further. Editing some documents manually requires time which could be contributed to the actual designing or defect reduction phases.

I think that once my PSP conduction is complete. The improvements to my programming skill would still be better than the benefits any IDE could suggest alone.

IDEs can only fix syntax errors, but PSP helps us with both syntax and logic error detections. So really, an IDE cannot replace the PSP entirely. But once PSP is complete, I believe that using an IDE should further improve my programming output by mitigating the syntax error side of defects, whilst saving my time to later debug logic based errors

(if any appear at all, as PSP reduces them also).

The misconception I had believed before my research and using PSP was exactly the statement raised. I did not think that PSP would benefit much if all the error checking could be removed almost entirely from standard programming practices. After, however, I realized its importance. My understanding has now led me to many components which could be tweaked to meld together even though they were initially discouraged. My view of the statement was brought up as such. Although stated that

IDEs are forbidden during PSP, there are some uses for it under the special circumstances in which IDEs can be altered in order to re-enable its use. Simply abandoning one for the other is wasting potential output improvements.

Background Notes

Questions raised by the Essay Topic

What is an Integrated Development Environment (IDE)? What are features of an IDE?

What the PSP really does? How does the IDE clash with the PSP? What can an IDE do to replace the benefits of instead conducting a PSP? What of the long term and short term benefits/effects for the 3 scenarios (Using PSP, Using IDE, Using PSP+IDE)? What is high quality IDE?

[1] Ho-Jin Choi, Sang-Hun Lee, Syed Ahsan Fahmi, Ahmad Ibrahim, Hyun-Il Shin and Young-Kyu

Park. :

Chap 10, Software Process Improvement and Management

DOI: 10.4018/978-1-61350-141-2.ch010

Published: November 30, 2011

 States there is a plug-in for IDEs

 Features that a plug-in would have

 Explains the reliability of having a plug-in

 Accuracy is better due to automated

[2] Xiaohong Yuan, Percy Vega, Huiming Yu, Yaohang Li:

A Personal Software Process Tool for Eclipse Environment

International Conference on Software Engineering Research and Practice, SERP'05. 2005;

2:717-723.

Published: 2005

 Explanation of a plug-in for the popular IDE, Eclipse

 Features shown in the plug-in

 Shows automation tools for PSP documentation

[3] Paul van Eikeren, Text Analysis International, Inc.

Integrated Development Environments for natural language processing

Published 2001

 Explains the features of a general IDE

 Shows that an IDE needs to have to be considered one

 Basics of how an IDE functions

[4] Marsha Pomeroy-Huff, Robert Cannon, Timothy A. Chick, Julia Mullaney, William Nichols

Text Analysis International, Inc.

The Personal Software Process (PSP ) Body of Knowledge, Version 2.0

SPECIAL REPORT

CMU/SEI-2009-SR-018

Published: August 2009

 Basic information on the PSP

 Displays the benefits on utilisation

 Outlines the steps of a PSP

Download