Darrell Norton's Blog [MVP]

Sponsors

The Lounge

News

  • Darrell Norton pic

    MVP logo

    View Darrell Norton's profile on LinkedIn

    Currently Reading:

    weewar.com

Advertisement

Images in this post missing? We recently lost them in a site migration. We're working to restore these as you read this. Should you need an image in an emergency, please contact us at imagehelp@codebetter.com
The three software development environments

Robert Boque has an article called Understanding the Differing Goals of Software Development on developer.com. In it, he describes three different software development environments in general terms.

Corporate Development

Robert further divides this category into two subcategories, small and large corporation. The small company basically has developers change the application until it meets the business needs. Large companies have a much more defined, and rigid I would add, process, as well as numerous applications in production needing maintenance that take away time from developers, keeping them from working on interesting new work.

I would say that the difference is not in the size of the company, but in the approach. For example, some large companies can take a “small company” approach to developing applications, continuing to tweak the existing production application until it has been beaten into shape. Some advanced small companies might take a “large-company” approach as a result of experienced management.

There is also a tendency, in my own non-scientific observations, that corporate developers are mainly interested in things other than development. Non-software corporations are generally better places to work for quality of life, with more of a 9-to-5 schedule and less pressure to be constantly updating your skills.

Pure Software Development Companies

Pure software development companies have advanced software development practices and infrastructure. Problems at this type of company include standard Innovator’s Dilemma issues. “We’ve always had this type of architecture,” or, “We’ve always done it that way” are common roadblocks to change.

I’ve never worked in a pure software development company, but I would love to work for Microsoft, which falls into this category.

Consulting Company Development

Like Robert, this is where I feel at home. Consulting software development is marked by pretty strict adherence to the requirements, whether the approach is agile or not. Software development practices and processes are generally up-to-date, if not cutting edge.

I have little to say here because I thrive in this type of environment!


Posted 11-30-2004 1:24 PM by Darrell Norton

[Advertisement]

Comments

Jason Row wrote re: The three software development environments
on 12-01-2004 12:27 AM
Where does the hobbyist programmer fit into all this or is this a debate that should be left alone? <grin>
Darrell wrote re: The three software development environments
on 12-01-2004 1:17 AM
The hobbyist programmer would not fit into this classification since it only includes what I would consider professional developers. That is, developers who program full-time for their job.
Jason Yip wrote re: The three software development environments
on 12-04-2004 5:01 PM
I don't think the common roadblocks for change in the "pure software development" section are really Innovator's Dillemma (i.e., disruptive technology) problems. Sustaining technologies undergo radical change all the time but that's different from a disruptive technology.
Darrell wrote re: The three software development environments
on 12-05-2004 12:51 PM
Jason Yip - I was referring more to the management mindset that takes place in regards to disruptive technologies. The same scenario plays itself out with new software development processes or technical improvements (ie, managed code vs. unmanaged code). The basic thing that happens is management sticks with the old ways instead of learning about the new.
Darrell wrote re: The three software development environments
on 12-05-2004 12:52 PM
Jason Yip - but you're right, I definitely didn't make that clear, and without explanation it doesn't read correctly. I know what I wanted to write there, I just didn't write it. :)