For Programmers: Free Programming Magazines  


Home > Archive > Software Engineering > May 2006 > choice between development process









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 choice between development process
puzzlecracker

2006-05-01, 8:01 am

Hello,

I am developing a product where time to market (strict deadline) and
costs are important. First version is to be delivered in six month
(and possibly earlier) from the beginning. We have five fairly
inexperienced (some recent grads) developers for this duration.

I am curious which model is ideal for this situation (why, how?). I am
considering the following models: waterfall, incremental, spiral and
prototyping.

Manager is a pretty experienced and programmatic.


What are you suggestion about development process model: cons, pros?

Sincerely,

Michael.

David

2006-05-01, 8:01 am

Hello,

On Mon, 1 May 2006 03:36:10 UTC, "puzzlecracker" <ironsel2000@gmail.com> wrote:

> Hello,
>
> I am developing a product where time to market (strict deadline) and
> costs are important. First version is to be delivered in six month
> (and possibly earlier) from the beginning. We have five fairly
> inexperienced (some recent grads) developers for this duration.


Since you are on a strict deadline and cost structure you should plan
on using what you have to get the project done. I'd make sure the
team was up to the task and that you all know what needs to be
accomplished and when. Plan ahead so that things like your final
due date are earlier than required. That is, there may be some
rework needed.

It sounds like you may have a good idea of what the first generation
of the product will be. Do you have all the details worked out yet
or are there some to complete? That may help you decide how best
to approach the development model.

> I am curious which model is ideal for this situation (why, how?). I am
> considering the following models: waterfall, incremental, spiral and
> prototyping.


I'd start with a development model that

A. suits your project
B. is familiar to your management and development team

Any group rarely follows just one particular model. For instance,
you may need to model or prototype certain features just to be
sure they are feasible and meet your needs. These particular
models, at least at the management level, are usually dictated
by how the requirements and other definitions are acquired
throught the lifetime of the project.

I've always found that certain projects form a general development
pattern based on how the project is defined. For instance a client
server application defined as a protocol between two entities may
start with prototypes for both sides and then let the teams split
up to fill in the details. If the UI model isn't well defined
already there may be some need to clarify how the customer will
use the application. Servers may require several layers that
depend on one another. Do you have an idea what components will
be required for your project?

> Manager is a pretty experienced and programmatic.
>
>
> What are you suggestion about development process model: cons, pros?


I'd gather together the team early on and decide together how best
to approach the project. If there is some history with the group
there may be an existing development process structure that you
are already familiar with. A brand new team needs to be led a bit
to insure that they are all working together in a cooperative
manner. As you've stated, time and money are fixed. That just
leaves features as your variant. The first goal is probably to
delivery whatever you can on time and that is works as intended,
no matter how limited that might be. Hopefully your structure
is then extensible and improving the project during the initial
and followup feature cycles requires little rework.

> Sincerely,
>
> Michael.


Good luck,

David

David Lightstone

2006-05-01, 8:01 am


"puzzlecracker" <ironsel2000@gmail.com> wrote in message
news:1146454570.876888.74850@i40g2000cwc.googlegroups.com...
> Hello,
>
> I am developing a product where time to market (strict deadline) and
> costs are important. First version is to be delivered in six month
> (and possibly earlier) from the beginning. We have five fairly
> inexperienced (some recent grads) developers for this duration.
>
> I am curious which model is ideal for this situation (why, how?). I am
> considering the following models: waterfall, incremental, spiral and
> prototyping.
>
> Manager is a pretty experienced and programmatic.


If you have to ask for help, you are not experienced enough to manage the
project. Let the manager manage the project.

>
>
> What are you suggestion about development process model: cons, pros?


Establishing process is the responsibility of a manager. In this situation
someone other than you. It is fine to try to be knowledgable, but don't kid
yourself, you are not sufficiently well enough informed to make decisions.

>
> Sincerely,
>
> Michael.
>



puzzlecracker

2006-05-01, 7:02 pm


Ok, I am not a project manager and this problem is an abstract
exercise. I wasn't asking to evaluate my managerial qualifications. I
am interested in effective model given this, rather limited, project
information. Again, what is the recommended development process in this
particular situation?

Thanks.

H. S. Lahman

2006-05-01, 7:02 pm

Responding to Puzzlecracker...

> I am developing a product where time to market (strict deadline) and
> costs are important. First version is to be delivered in six month
> (and possibly earlier) from the beginning. We have five fairly
> inexperienced (some recent grads) developers for this duration.
>
> I am curious which model is ideal for this situation (why, how?). I am
> considering the following models: waterfall, incremental, spiral and
> prototyping.


My iconoclastic answer: it doesn't matter. You already have a deadline
so you haven't got time to screw around learning a whole new model for
development. Changing the fundamental way you do software just
introduces a great deal of "learning curve" risk into the current
project. Do what the shop knows best right now. Then evaluate models
and plan the implementation of one for the long term.

>
> Manager is a pretty experienced and programmatic.
>
>
> What are you suggestion about development process model: cons, pros?


All software development models are based on the Waterfall in one way or
another because software development involves diverse activities that
must be done in a fixed sequence. Thus Spiral is just a series of
waterfalls laid end-to-end with somewhat different goals in each
segment. IID is just breaking up a single large waterfall into multiple
smaller waterfalls based upon feature set.

FWIW, IID pretty much dominates modern software development because it
is inherently easier to manage. However, IID <usually> requires that
the business buy into the the notion that estimates for increments
further out in time are much less accurate that estimates for the
current increment. If "hard" early estimates are required for the whole
project, then one needs to provide some non-incrmental planning up front
to augment the basic IID model.


*************
There is nothing wrong with me that could
not be cured by a capful of Drano.

H. S. Lahman
hsl@pathfindermda.com
Pathfinder Solutions -- Put MDA to Work
http://www.pathfindermda.com
blog: http://pathfinderpeople.blogs.com/hslahman
(888)OOA-PATH



David Lightstone

2006-05-02, 8:02 am


"puzzlecracker" <ironsel2000@gmail.com> wrote in message
news:1146506265.405655.140750@i40g2000cwc.googlegroups.com...
>
> Ok, I am not a project manager and this problem is an abstract
> exercise.


aka Troll


> I wasn't asking to evaluate my managerial qualifications.


And they weren't. For all that is known you could indeed be the manager. The
role that you choose for purposes of presentation does not have policy
establishment perogrative, best to recognize the reality of the situation -
Software development is not a democratic venture, only the customers and
policy makers have a vote

> I
> am interested in effective model given this, rather limited, project
> information.


Acacemics and MBA types generally s the optimal. One can always contrive
a toy problem for which there is no real or meaningful answer (aka troll).
How to manage is one such problem. A more interesting one would be should
managers be liscensed (and I don't mean DPMA certification) it would be on
par with the wishes of some managers (as well as the political advocacy of
some very reasonable academics who are also liscensed professional
engineers) to have software engineers (aka software developers) liscensed.

> Again, what is the recommended development process in this
> particular situation?


Doesn't matter. it is a toy problem. Even it it were not a toy problem it
also doesn't matter. In most organizations the other organizational process
is so ill defined that they, rather than the software development process,
are the success/failure determining factors (software just gets the blame).

The new buzz word is CMMI. CMM has been superseeded. Why would perhaps be a
more interesting question. Hint. It CMM was successful, you would not be
inquiring about process

>
> Thanks.
>



swengineer001@gmail.com

2006-05-02, 7:04 pm


David Lightstone wrote:
>
> The new buzz word is CMMI. CMM has been superseeded. Why would perhaps be a
> more interesting question. Hint. It CMM was successful, you would not be
> inquiring about process
>

What does this have to do with the question. Neither CMM or CMMI
dictate the process. Any process is a valid process for implementation
under these maturity models assuming you properly document, follow ,
and track everything. The maturity model is simply the framework on
which a good process can be based. Some KPA's may be tailored or even
not applicable in certain situations but the underlying process can be
anything you would like to use and makes sense for your project.

The question of CMM or CMMI being successful is really not a factor of
the model but more a factor of organizations being committed to a
process regardless of maturity level (indeed a maturity model need not
even be used).

David Lightstone

2006-05-02, 7:04 pm


<swengineer001@gmail.com> wrote in message
news:1146579808.719516.103390@y43g2000cwc.googlegroups.com...
>
> David Lightstone wrote:
> What does this have to do with the question. Neither CMM or CMMI
> dictate the process.


That is true.

> Any process is a valid process for implementation
> under these maturity models assuming you properly document, follow ,
> and track everything.


Never seen that done

>The maturity model is simply the framework on
> which a good process can be based. Some KPA's may be tailored or even
> not applicable in certain situations but the underlying process can be
> anything you would like to use and makes sense for your project.
>


Were the activities successful (in general) there would be a "winner" (a
biasing preference if you may call it that) amongst the many processes being
advocated. That we are bantering what is good, what is bad implies that such
a winner has not yet evolved.

>
> The question of CMM or CMMI being successful is really not a factor of
> the model but more a factor of organizations being committed to a
> process regardless of maturity level (indeed a maturity model need not
> even be used).


The intent was to wonder, perhaps the problems are more pervasive. That is
CMM can not possibly solve the software crisis, because it is just a blip
in a bigger crisis. Ergo create CMMI for purposes of addressing it

>



swengineer001@gmail.com

2006-05-03, 7:04 pm


David Lightstone wrote:
>
> Never seen that done


I am sorry to hear that. I have been lucky enough to work at some
places where this was done very well and the results were good.
>
>
> Were the activities successful (in general) there would be a "winner" (a
> biasing preference if you may call it that) amongst the many processes being
> advocated. That we are bantering what is good, what is bad implies that such
> a winner has not yet evolved.
>

I think this misses the point of process. There is no one best process
for all situations. Ideally one would plan their process with the
project in mind, i.e. the process reflects the reality of the project
on which it is to be used. In doing this the merits and limitations of
different processes are taken into account and the best process for the
project is chosen. In fact the proper process for a given project may
be a conglomeration of several different process.

There will never be a silve bullet process developed as the intracacies
of different projects can never be forseen. The best you can hope for
is to define a process that fits now and perhaps modify it as you learn
more.

Sponsored Links







Also available: Server administration forum archive | Web Design forum archive | Software forum archive | Hardware reviews archive

Copyright 2008 codecomments.com