Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Term for releasing software with time dependent portions still unfinished

Tags:

terminology

I remember a while ago on a Stack Overflow podcast Jeff Atwood was talking about the bounty system, and he said that they released the bounty offering code before the bounty awarding code was written as the code would not be needed for a couple of weeks.

Is there a standard term for this? Agile can work in this way but it doesn’t have to. I am thinking of suggesting it to a client for something and would like to use the correct terminology along with any information backing it up as a method.

Essentially the method is to release code with some functionality incomplete as the time until the incomplete functionality is needed is less that the time it will take to develop.

like image 681
Jeremy French Avatar asked Jun 14 '10 12:06

Jeremy French


3 Answers

Just-in-time development? Analogous to the concept of just-in-time inventory in business.

Or, less charitably, "winging it".

like image 71
Dan Dyer Avatar answered Nov 09 '22 10:11

Dan Dyer


This is IMHO more an opportunity that you get sometimes, not a method: for example delivering a feature allowing subscription to a monthly newsletter at the start of the month and releasing the code to send the newsletter one month later. Doing this is just smart release management (i.e. good priorization of work). Maybe one could call that Opportunistic Development (that's something you'll find in Agile literature).

like image 44
Pascal Thivent Avatar answered Nov 09 '22 11:11

Pascal Thivent


The term is Bounty Development.

Seriously, if you're looking into a term to what you want to do in this scenario IMHO is incremental, not necessarily incomplete. If you have bounty offering code, you don't have incomplete bounty code, you have bounty offering code.

Nothing is incomplete here: it's a deliverable (shippable increment of work) submited in a stage (a regular cadence of work) in an inspect-and-adapt manner.

Deliver working software frequently, from a couple of weeks to a couple of months, with a preference to the shorter timescale.

Source: Principles of Agile Manifesto

I would just use the term Agile, with a simple explanation (since using any term on earth you still need to explain it anyway): "create softwate in really small working pieces, in a shorter timescale each piece with continuous customer colaboration".

like image 25
GmonC Avatar answered Nov 09 '22 10:11

GmonC