Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

In a typical SDLC there isn't much mention of the word production or development or the distinction between the two.These seem more of a real time , industrial driven concepts . I have come across these terms in regards describing companies.

enter image description here

As i understand Production in Software does not necessarily mean product development.Inspired from the question Why do we call it “production”? I came to question the basic distinction between the two i.e development and production in regards to software. I used to be under the impression it was just a way of describing the development process in a product development company.

  • Question 1: What is the distinction between the two?
  • Question 2: How widely are these terms used? and are they properly understood and distinguished ?
share|improve this question
3  
Your SDLC example is waterfall? This makes me sad. –  Rein Henrichs Apr 14 '11 at 19:30

2 Answers 2

  1. Production is where the 'rubber meets the road'. It is no longer a 'controlled' environment where the only people who know how to use it will interact with it (developers, QA, Product..). There will be users who are using that software for the first time, and have their own assumptions and prejudices. The performance, scalability, logging, monitoring, security are a few things that will be much closely watched when the software is in production vs. when it is under development.
  2. These term 'Production' is very common and anyone who has seen a software pass through the engineering process knows it. However, there are synonyms for other steps in SDLC - usually it is requirements gathering, design, implementation (coding), testing, release and maintenance. As you can see release is where production comes in.
share|improve this answer
    
+1 excellent points.But then speaking in terms of release how do you distinguish that from shipped. would it be in context to assume production release would be alpha beta releases stages? –  Aditya P Apr 14 '11 at 18:38
    
Thanks! Release is a generic term - first, software is released to QA for acceptance testing release. Once QA accepts/approves it, you have a choice to release it in an alpha mode, where 'eat your own dogfood', internal users start using it. Beyond alpha, there is beta where the system is still released but to a little more wider set of audience, like early adopters or people who volunteered to participate it in. Finally it comes out of beta and is released as GA. Usually GA is called Production or 'Stable' release. –  lobster1234 Apr 14 '11 at 18:48

From what i gathered and understood about The distinction: Most Simply Put

enter image description here

It can be Differentiated by the Nature of Goals

Development Goal

  • : Getting It done under pressure and on time.

Production Goals

  • Keeping it running ( always under pressure)

  • Needing development on call ( development and bug fix parallelism)

  • Tackling issues before code goes live.

An Enlightening Chart

from Kanban Applied to Software Development: from Agile to Lean

shows change of Success repeatability,*Problem Approach*,Process Control,*Process Improvement* from development to production

enter image description here

Difference based on the Consequences of mistake,Failure

Production : Real-time Immediate loss of hard cash and Potential future opportunities. ** Development:** These cost the company in the long term.

As Péter Török so aptly about production

The latter is where the real, live company processes are run. So when you deploy stuff there, it is live, and any mistake costs hard cash.

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.