Home | Contact Us | FAQ | Search & Site Map | Link to Us
Sign In | Join | Other 45 Sites in Network
HomeAnnouncementsWhite Papers
Discussion GroupsFirst AidDatabasesJavaBeansGUIJava 3DVirtual MachineCORBASecurityToolsGeneral
Java DirectoryOpen Source ProjectsSample Book ChaptersUser GroupsWeb Resources
Related Topics
Databases.NETMore Topics ...

Java Forum / General / October 2006

Tip: Looking for answers? Try searching our database.

What software process do you use for java development? (Agile, XP, BDUF, Scrum, RUP, Chaos)

Thread view: 
Danno - 16 Oct 2006 19:52 GMT
I am just curious what people here use.  Consider this a "get to know
you" post. ;)
Oliver Wong - 16 Oct 2006 22:18 GMT
>I am just curious what people here use.  Consider this a "get to know
> you" post. ;)

   Process? What's that?

   Oh, you mean like... Intel 1.8Ghz? ;)

   - Oliver
Oliver Wong - 16 Oct 2006 22:19 GMT
>>I am just curious what people here use.  Consider this a "get to know
>> you" post. ;)
>
>    Process? What's that?
>
>    Oh, you mean like... Intel 1.8Ghz? ;)

   Oh yeah... um... the opinions expressed in this post are solely my own,
and do not reflect that of my employer...

   - Oliver
Danno - 17 Oct 2006 03:46 GMT
> >>I am just curious what people here use.  Consider this a "get to know
> >> you" post. ;)
[quoted text clipped - 7 lines]
>
>     - Oliver

ZING!
Andy Dingley - 17 Oct 2006 00:27 GMT
> I am just curious what people here use.

Clueiron

Seriously we're supposed to be an Agile shop, and one of the four teams
is seriously into this - it's working too, even the pair programming.
Scrum is pretty good if you have the right sort of mini-projects for it
(or else the management clout to impose it on the less obviously
Scrum-friendly).  Now we're looking at further along the line into XP.

Soon I hope to have weaned some of the other teams onto using source
code control  8-(

I used to use UML (with Bastard Child of Rational) and it's the best
way ever to draw pictures of waterfalls. Good techniques if it fits,
but who runs projects that way?
Arne Vajhøj - 17 Oct 2006 00:52 GMT
> I used to use UML (with Bastard Child of Rational) and it's the best
> way ever to draw pictures of waterfalls. Good techniques if it fits,
> but who runs projects that way?

I assume you mean UP not UML.

Arne
Andy Dingley - 17 Oct 2006 01:21 GMT
> I assume you mean UP not UML.

No, I meant UML - just the pictures, not the process.

I did use RUP once, but fell foul of the awful quality of Rational
Rose's fondness for crashing. As many have noted, if the process is so
good, why is the end product so flakey?   (Hmmm...... why am I reminded
of XP there too?)
Arne Vajhøj - 17 Oct 2006 01:35 GMT
>> I assume you mean UP not UML.
>
> No, I meant UML - just the pictures, not the process.

1) "Good techniques if it fits, but who runs projects that way?"
2) "just the pictures, not the process"

I can not see any consistency.

Arne
Danno - 17 Oct 2006 03:50 GMT
> >> I assume you mean UP not UML.
> >
[quoted text clipped - 6 lines]
>
> Arne

Seems fine to me.  He is just asking who runs their projects by using
UML anyway?  In most agile practices you build into the patterns you
need and you don't define them before hand.
Arne Vajhøj - 18 Oct 2006 00:04 GMT
>>>> I assume you mean UP not UML.
>>> No, I meant UML - just the pictures, not the process.
[quoted text clipped - 6 lines]
> UML anyway?  In most agile practices you build into the patterns you
> need and you don't define them before hand.

No. Has asked for processes. You brought up UML which is not
a process but a modeling language.

Arne
Danno - 18 Oct 2006 16:57 GMT
> >>>> I assume you mean UP not UML.
> >>> No, I meant UML - just the pictures, not the process.
[quoted text clipped - 9 lines]
> No. Has asked for processes. You brought up UML which is not
> a process but a modeling language.

I didn't mention UML as a process.
Andy Dingley - 17 Oct 2006 11:16 GMT
> 1) "Good techniques if it fits, but who runs projects that way?"
> 2) "just the pictures, not the process"
>
> I can not see any consistency.

UML is a good technique for the substantial pre-coding descriptions
produced during classic waterfall. But who still gets to use waterfall
?

It also has some use for Scrum, as Scrum is largely "waterfall
techniques made usable for modern project cycles".

UML is the most useful part of RUP. I have no use for RUP in total. I
have no use for Rational's bug-ridden toolset. With just UML and a
whiteboard though, I can design and communicate it to others..
Daniel Dyer - 17 Oct 2006 20:32 GMT
> Soon I hope to have weaned some of the other teams onto using source
> code control  8-(

Please tell me that's a joke...

Dan.

Signature

Daniel Dyer
http://www.uncommons.org

Chris Uppal - 17 Oct 2006 11:03 GMT
> I am just curious what people here use.  Consider this a "get to know
> you" post. ;)

Me:

Just Write The Damn Code (tm).

   -- chris
Tom Forsmo - 17 Oct 2006 14:15 GMT
> I am just curious what people here use.  Consider this a "get to know
> you" post. ;)

I think the prevailing thought on process is "just write the damn code"
as Chris put it :) But today its usually more of an iterative approach.
This is especially important in bigger projects or where the details of
the functionality is sketchy. That's why you iteratively code your way
into the details of the problem. There are many forms of iterative
processes, rup, agile/xp, select perspective and a host of others. You
should not get stuck in a specific process, what you need to do is read
a bit about the different ideas behind the processes and apply the ideas
as you see fit to your project or company. There is no single or line of
processes that contains the whole set of solutions that is best for your
project. In any case, a project is as much about what the participants
are comfortable with. Half the success of a project/company is a
satisfied team of quality participants. Forcing team members to use a
specific process because it fits with an idea or argument the management
has only spells disaster in the long run.

tom
Andy Dingley - 17 Oct 2006 17:00 GMT
> I think the prevailing thought on process is "just write the damn code"
> as Chris put it :)

Not here. 8-(  I've spent 20 years fighting against this approach.

I have no shortage of code. I've got 2000 source files of it in front
of me, and most of it's ugly crap written by unskilled peons. The last
thing I need is more people "just writing the damn stuff", I'd like
some that _worked_. Maybe some code with some _thought_ behind it, not
the "Mavis Beacon Teaches Java" typing-exercises I'm seeing pouring out
of the bucket shops at the moment.
Martin Gregorie - 17 Oct 2006 17:48 GMT
>> I think the prevailing thought on process is "just write the damn code"
>> as Chris put it :)
[quoted text clipped - 7 lines]
> the "Mavis Beacon Teaches Java" typing-exercises I'm seeing pouring out
> of the bucket shops at the moment.

Right on.

Decompose the requirements, produce a good modular design with built in
scalability and ways round bottlenecks (e.g. some parts of the design
may need configurable parallelization). Specify to the module level and,
while you're doing this design in performance measurement, system-level
tracing/debugging and restart & recovery. All of these WILL be used
unless you're designing a simple stand-alone program.

Resist all attempts to start coding until this point has been reached or
you'll waste endless time during integration testing, when you suddenly
find that the system can't be started or stopped cleanly and that
modules developed by different groups don't talk to each other.

Then and only then code, preferably using some form of top-down
incremental development method. AFAICT all the fashionable extremely
agile team scrums are merely elaborations of this. IMHO unit testing and
regression testing are non-optional parts of module development.

Integration testing can start as soon as the various modules can
demonstrate basic functions in unit testing and the problems that
integration testing find can be fed back into module development.

Finally, system test against test cases developed directly from the
original requirements. This should be reasonably short and sweet if all
the above was done adequately but will stretch into next century,
finding endlessly multiplying bugs if the previous stages were skimped.

Signature

martin@   | Martin Gregorie
gregorie. | Essex, UK
org       |

kevin  cline - 17 Oct 2006 18:19 GMT
> I have no shortage of code. I've got 2000 source files of it in front
> of me, and most of it's ugly crap written by unskilled peons. The last
> thing I need is more people "just writing the damn stuff", I'd like
> some that _worked_. Maybe some code with some _thought_ behind it, not
> the "Mavis Beacon Teaches Java" typing-exercises I'm seeing pouring out
> of the bucket shops at the moment.

It's hard to find a process that will work when people who don't know
how to code are doing a lot of the coding.  Maybe that's why
document-centric approaches work better for some organizations.  It
gives all the bad coders something to do besides breaking the code.
Arne Vajhøj - 18 Oct 2006 00:05 GMT
kevin cline wrote:
> It's hard to find a process that will work when people who don't know
> how to code are doing a lot of the coding.

So true, so true.

>                                             Maybe that's why
> document-centric approaches work better for some organizations.  It
> gives all the bad coders something to do besides breaking the code.

:-)

Arne
Tom Forsmo - 17 Oct 2006 21:40 GMT
>> I think the prevailing thought on process is "just write the damn code"
>> as Chris put it :)
[quoted text clipped - 4 lines]
> of me, and most of it's ugly crap written by unskilled peons. The last
> thing I need is more people "just writing the damn stuff",

Well we all know that, what was is?, "1000 monkies hitting a typewriter
will eventually write Shakespeare" is not realistic, its a statistical
possibility, and that's it. Same goes with coding, you have to have able
and earnest programmers to create good code. If you don't, then of
course they are going to write crap, so either you have to teach them or
get read of them. I have worked in companies where they only hire expert
programmers. The type of programmer that writes larger and
semi-complicated code in a couple of days, while others might use 2
weeks, and the code is almost flawless. I know it sounds like an
exaggeration, but I witnessed it myself in the beginning and it left me
speechless. And from that I learned what good programming is and allows
me to do, if done correctly.

Btw, I forgot a couple of points when writing my previous post, so I
will make the additions now.

Just writing the code in it self is not good enough. You have to have
some structure to the procedure of writing the code. There should be an
agreement on what needs to be done and how to do it. In the above
example, there was usually an task/architecture meeting between the
programmer, the project leader and a senior programmer managing the code
base for that part of the system. The point of the meeting was to have a
common understanding of what to do, how to do it and how to use the code
base to achieve it. If there were any details that needed to be
recorded, we used bugzilla. Bugzilla was the overall archive of all
things coded, and every piece of code checked in to subversion had to
correspond to a bugzilla bug and had to be relevant. To ensure this,
senior programmers had control over the master branch, the senior
performed a code review and the final checkin (even for each other). If
there were any questions during programming, a senior was consulted. So
the senior programmers acted as the guardians of the code base and hence
the code was kept to premium quality. There where other parts such as
testing procedures and bug verification procedures, but that are details
I wont go into here now.

This kept the development process light, capable of supporting change
and above all helped us write excellent and functioning code. This made
programmers and management happy because everybody could focus on their
main tasks instead of long meetings and endless specification
discussions. Tasks were divided into smaller parts so it could be done
by one or two programmers and so that no single task took too long time
to complete. Everything was checked by several people by way of small
meetings, or coffebreak discussions, without having to resort to a paper
mill production. By working iteratively and hands on from the start we
learned to understand things intimately from the start and could avoid
problems and pitfalls before they even existed.

As another point, later I worked on a project where the management tried
to enforce a rigid structure and force us to use xp, scrum etc
indiscriminately. The project soon fell apart, in dissent. I, and
shortly after, another, walked away from the company. They did not
consider the team or the individuals and how they work best together.

tom
Andy Dingley - 17 Oct 2006 22:29 GMT
> a senior programmer

What's a "senior programmer" ?

Someone who has been there the longest and has seniority?
Someone who has been there for some years, seen only this project,
ignored the rest of the world's progress, and is probably responsible
for much of what's wrong with the current state of things?

Hmmm.......
Tom Forsmo - 18 Oct 2006 01:10 GMT
>> a senior programmer
>
[quoted text clipped - 4 lines]
> ignored the rest of the world's progress, and is probably responsible
> for much of what's wrong with the current state of things?

Thats basically up to you to decide, or the project manager, CTO.

(BTW I used the word programmer here a common word for
programmer/architect/systems engineer/software engineer etc)

But to me a senior programmer is one who has extensive experience and
theoretical background on programming, technology, architecture and
design, development methods and so forth. An even more senior person
would also have extensive experience with the specific technology,
standards, community and principles/ideas of his specific tasks.

So, for example, even though he has only worked on a project for a week
he is very much up and running and are able to make decisive decisions
about how to deal with problems and solutions. Because he has already
seen the problem in one form or another before, or he is able to
recognise patterns in the problem and apply some well grounded
experience to solve it.

But you could also just go for the "who has had the job/responsibility
the longest" or something similar.

tom
Chris Uppal - 18 Oct 2006 12:02 GMT
> > I think the prevailing thought on process is "just write the damn code"
> > as Chris put it :)
[quoted text clipped - 5 lines]
> thing I need is more people "just writing the damn stuff", I'd like
> some that _worked_. Maybe some code with some _thought_ behind it [...]

In my opinion.and experience, there are two kinds of programmers (ignoring
beginners, who have to be treated specially).  Those who can and do, or could,
safely and correctly use "Just Write The Damn Code(tm)"; and those who are
largely incapable of writing anything substantial no matter how much decoration
you put around the development process.

Please note: I am not claiming that all good programmers /do/ use JWTDC(tm) --
only that they /could/.

   -- chris


Free Magazines

Get these publications absolutely FREE for up to 12 months. There are no hidden fees and no obligation. Simply choose a title, complete the application form and submit it. Read more ...

Oracle MagazineNetwork ComputingComputer WorldBio-IT WorldeWeekInformation WeekInfosecurity
 
Sign In
Join
My Latest Posts
My Monitored Threads
My Blog
My Photo Gallery
My Profile
My Homepage

Start New Thread
Enable EMail Alerts
Rate this Thread



©2009 Advenet LLC   Privacy Policy - Terms of Use
This website includes both content owned or controlled by Advenet as well as content owned or controlled by third parties.