Home > Archive > Software Engineering > April 2004 > PSP categorisation
You are viewing an archived Text-only version of the thread.
To view this thread in it's original format and/or if you want to reply to
this thread please [click here]
| Author |
PSP categorisation
|
|
| University of Wales Swansea: Psychology Technician 2004-04-22, 11:36 am |
| Hi all,
I'm trying out Watts Humphrey's PSP from the Discipline book (I've not
attended any course on it) and would appreciate any advice on deciding how
to deal with a categorisation issue:
One often has to try a technique that one has never used before. Suppose
such a novel technique is required for some project, but will be useful for
many future projects. The technique may be built and tested as a separate
program, or fitted-in to the existing program. Either way, to what project
should the time spent on this technique be allocated?
If one includes it in the existing project, the time taken for this project
will be that much longer, making it unrepresentative of future projects that
use this technique, since the technique can be quickly and easily reused.
However, not including it it seems 'wrong' since it really was a part of the
current project, and may involve a significant amount of the program's code
quantity (i.e. project effort). I suppose that in some cases, the technique
may be too intertwined with the existing project to enable on to separate
the time out into a new project created specifically for the technique
itself.
Any guidance would be most welcome.
Cheers,
Neil
--------------------------------------------
Neil Carter Psychology Department
IT Technician University of Wales Swansea
Wales, United Kingdom
http://psy.swansea.ac.uk/staff/Carter/
| |
| Asko Saura 2004-04-23, 3:32 am |
| University of Wales Swansea: Psychology Technicians <pstech@swansea.ac.uk> wrote:
> I'm trying out Watts Humphrey's PSP from the Discipline book (I've not
> attended any course on it) and would appreciate any advice on deciding how
> to deal with a categorisation issue:
> One often has to try a technique that one has never used before. Suppose
> such a novel technique is required for some project, but will be useful for
> many future projects. The technique may be built and tested as a separate
> program, or fitted-in to the existing program. Either way, to what project
> should the time spent on this technique be allocated?
I'm afraid I don't understand what you meant with 'technique'. Is it a
tool such as Xunit or a 3rd party library or a way of doing things such
as TDD?
--
Mä oon matkalla sinne missä
-as@iki.fi - http://iki.fi/as/
| |
| University of Wales Swansea: Psychology Technician 2004-04-23, 7:36 am |
| "Asko Saura" <asaura@melkki.cs.helsinki.fi> wrote in message
news:c6acpk$66l$1@oravannahka.helsinki.fi...
> University of Wales Swansea: Psychology Technicians <pstech@swansea.ac.uk>
wrote:
....[color=darkred]
....[color=darkred]
project[color=darkred]
>
> I'm afraid I don't understand what you meant with 'technique'. Is it a
Hello Asko,
I mean a solution such as an algorithm, or library call, that one uses in
developing some program as part of a software project. For instance, I am
writing a GUI client app that communicates with a console server process
(QNX Photon -> neutrino). I evaluated different IPC methods including
messages, events, and pulses, to find which was the most suitable. My
evaluation required that I read about each method, implement it in the
program I was working on, and test its performance. Messages turned out to
be the best 'technique' for what I wanted to achieve.
The time I spent evaluating the various IPC mechanisms was considerable, and
I tested the different IPC mechanisms using the actual program that I was
developing at the time (as opposed to writing a separate test/evaluation
program). Now that I know that messages work best, I can use this technique
for many future projects that require GUI - text IPC since most of my
projects are very similar in nature.
Thus, the IPC mechanism was a key component of this project, and the
experience/knowledge I gained will have a major positive impact upon future
projects. This makes me wonder whether I should allocate the time I spent on
the evaluation to the project I was already working on, since it will result
in an over-estimate for future projects of this type.
Does this explain things?
Cheers,
Neil
--------------------------------------------
Neil Carter Psychology Department
IT Technician University of Wales Swansea
Wales, United Kingdom
http://psy.swansea.ac.uk/staff/Carter/
| |
| Alexei Polkhanov 2004-04-24, 9:32 pm |
| University of Wales Swansea: Psychology Technicians wrote:
> "Asko Saura" <asaura@melkki.cs.helsinki.fi> wrote in message
> I mean a solution such as an algorithm, or library call, that one uses in
> developing some program as part of a software project. For instance, I am
> writing a GUI client app that communicates with a console server process
> (QNX Photon -> neutrino). I evaluated different IPC methods including
> messages, events, and pulses, to find which was the most suitable. My
You may consider "learning" as separate, second parallel project - this
is what I usually do in this situations.
> evaluation required that I read about each method, implement it in the
> program I was working on, and test its performance. Messages turned out to
> be the best 'technique' for what I wanted to achieve.
>
> The time I spent evaluating the various IPC mechanisms was considerable, and
> I tested the different IPC mechanisms using the actual program that I was
> developing at the time (as opposed to writing a separate test/evaluation
> program). Now that I know that messages work best, I can use this technique
> for many future projects that require GUI - text IPC since most of my
> projects are very similar in nature.
I usually do same thing, but I always create another project leaving
old prototype source code outside. If I want to use code from prototype
I will copy it into my new "real" project and save LOCS as "reused".
It maybe that new project is just a copy of prototype, then all already
available code I initially write as reused, but it is bad practice because
you will have to track a lots of deleted and updated code which is harder.
Better only copy code which will stay.
>
> Thus, the IPC mechanism was a key component of this project, and the
> experience/knowledge I gained will have a major positive impact upon future
> projects. This makes me wonder whether I should allocate the time I spent on
> the evaluation to the project I was already working on, since it will result
> in an over-estimate for future projects of this type.
>
> Does this explain things?
>
Time spent on code and design which you do not directly reused in deliverable
product should not be written as time in design or development.
Please try to understand this - Talking to your friend in cafeteria about IPC
also constitutes to your IPC skills, but it should be excluded from time spent
on project completely. You write down on day to day basis how much time you
can spend DIRECTLY ON PROJECT, except time you spent on anything else even if
you think it is related to your project including learning etc.
You will find that you usually spend about 30-40% of all time working on
your project,and by the time you will get more experienced TWO VARIABLES will
change 1. how much design and code you can produce per hour and ALSO
2. how much time totally you can spend doing this task during a day, because
you don't need it for anything else like studying IPC or talking to your
friend about IPC.
If you do it right, then it will not appear as if talking to your friend
in cafeteria or reading IPC book moving you forward according to PSP
charts on specific project. It will when you apply your skills on that
project, but untill then progress is 0.
Cheers,
---
Alexei Polkhanov
Sr. Consultant/Software Systems Analyst
Tel: (604) 719-2515
E-mail: usenet@monteaureus.com
http://www.monteaureus.com/
| |
| William 2004-04-25, 12:40 pm |
|
"University of Wales Swansea: Psychology Technicians" <pstech@swansea.ac.uk>
wrote in message news:c68kq4$spo$1@news.swman.net.uk...
> Hi all,
>
> I'm trying out Watts Humphrey's PSP from the Discipline book (I've not
> attended any course on it) and would appreciate any advice on deciding how
> to deal with a categorisation issue:
>
> One often has to try a technique that one has never used before. Suppose
> such a novel technique is required for some project, but will be useful
for
> many future projects. The technique may be built and tested as a separate
> program, or fitted-in to the existing program. Either way, to what project
> should the time spent on this technique be allocated?
Under the system we use to track such things, that would be assigned an
appropriate task such as "Research" and its weight would be discounted
in future projects that can reuse the results. (It also has implications for
expense accounting here in the U.S.) -Wm
| |
| Asko Saura 2004-04-27, 7:47 am |
| Alexei Polkhanov <usenet@monteaureus.com> wrote:
<snip>
> If you do it right, then it will not appear as if talking to your friend
> in cafeteria or reading IPC book moving you forward according to PSP
> charts on specific project. It will when you apply your skills on that
> project, but untill then progress is 0.
This looks like an excellent way of doing it. I second the previous
recommendations to separate research into it's own project. Substantial
advances in the way you do stuff *should* invalidate your previous
data.
--
Mä oon matkalla sinne missä
-as@iki.fi - http://iki.fi/as/
|
|
|
|
|