aspose file tools*
The moose likes Agile and Other Processes and the fly likes Is Software outsourcing a process?? Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login
JavaRanch » Java Forums » Engineering » Agile and Other Processes
Bookmark "Is Software outsourcing a process??" Watch "Is Software outsourcing a process??" New topic
Author

Is Software outsourcing a process??

Kishore Dandu
Ranch Hand

Joined: Jul 10, 2001
Posts: 1934
Since there is lot of across the globe development efforts that need lot of co-ordination, communication etc, can this be considered as a process???
If it is considered under the umbrilla of a certain process, then what is it and what are the metrics used to categorize it??
[ April 27, 2004: Message edited by: Kishore Dandu ]

Kishore
SCJP, blog
Mark Denne
Author
Greenhorn

Joined: Feb 19, 2004
Posts: 11
It's an interesting question, but not one that IFM directly addresses. It is however the case that IFM provides both the model and the metrics to quantify the impact in financial terms of the decisions to advance (or delay) the implementation of a feature, as well as to understand how the value of a feature changes with time. We describe IFM as a "financially informed approach". It does not dictate a particular conclusion, but it keeps you informed about the financial impact of the various development options open to you.
One thing to stress is that IFM is not a development methodology - like RUP or XP/Agile. Instead IFM is compatible with either approach (there are chapters dealing with each in the book) and augments your chosen development methodology by providing financial rigor to the sequencing decisions.
As an aside, one interesting approach to managing outsourcing is to consider the situation in which the design can be "executed" directly. Take a look at the "executable UML" approach by Gorilla Logic at http://www.gorillalogic.com.


Author - Software By Numbers<br /><a href="http://www.softwarebynumbers.org" target="_blank" rel="nofollow">http://www.softwarebynumbers.org</a>
Lasse Koskela
author
Sheriff

Joined: Jan 23, 2002
Posts: 11962
    
    5
Outsourcing typically transforms an in-house software process into something closer to a regular business contract. For example, when a software product company outsources the maintenance and support of their soon-entering-end-of-life product to an outsourcing company, they're practically saying "hey, I don't want to think about this stuff anymore." At that point, most of the communication relates to numbers and not software.
Of course, there are the kind of outsourcing that still involves both parties on a daily basis, but that's "just" distributed development and subcontracting, in my opinion.
Or maybe I've got these outsourcing-related terms all screwed up in my head...


Author of Test Driven (2007) and Effective Unit Testing (2013) [Blog] [HowToAskQuestionsOnJavaRanch]
Nicholas Cheung
Ranch Hand

Joined: Nov 07, 2003
Posts: 4982
Hi Lasse,

distributed development and subcontracting, in my opinion

I feel, why we need to have UP or RUP is, we want to handle or manage a process or a sequence of processes better, with a structured methodology.
However, sometimes, it maybe more difficult, if we manage outsourced/subcontracted processes, as they *maybe* out of our control.
Thus, should we consider the outsourcing as a process in fact? It is different from what we distribute the development to different teams inside the same company.
Nick


SCJP 1.2, OCP 9i DBA, SCWCD 1.3, SCJP 1.4 (SAI), SCJD 1.4, SCWCD 1.4 (Beta), ICED (IBM 287, IBM 484, IBM 486), SCMAD 1.0 (Beta), SCBCD 1.3, ICSD (IBM 288), ICDBA (IBM 700, IBM 701), SCDJWS, ICSD (IBM 348), OCP 10g DBA (Beta), SCJP 5.0 (Beta), SCJA 1.0 (Beta), MCP(70-270), SCBCD 5.0 (Beta), SCJP 6.0, SCEA for JEE5 (in progress)
Valentin Crettaz
Gold Digger
Sheriff

Joined: Aug 26, 2001
Posts: 7610
Thus, should we consider the outsourcing as a process in fact? It is different from what we distribute the development to different teams inside the same company.
In my opinion, outsourcing is not a process, it is just a means of achieving the same thing but in a different way, with a different strategy. Instead of developing in-house, we sub-contract the development to some other organization which in turn will have to use and/or apply some kind of process to develop the desired piece of software anyway. Agreed, for the contracting company, "outsourcing" will be part of its development process, but outsourcing as such is not a process, it's only a part thereof.


SCJP 5, SCJD, SCBCD, SCWCD, SCDJWS, IBM XML
[Blog] [Blogroll] [My Reviews] My Linked In
Nicholas Cheung
Ranch Hand

Joined: Nov 07, 2003
Posts: 4982

outsourcing is not a process

But then, if we have a project, which involves self-development, together with outsourcing, how can we estimate the cost of it (I mean not only the cost of the contract, but also the time, development time frame, etc)?
In addition, can MMF handle these cases? (As outsourcing is quite common in large non-IT firms, like banking)
Nick
Valentin Crettaz
Gold Digger
Sheriff

Joined: Aug 26, 2001
Posts: 7610
What I tried to make clear (which apparently I failed ) is that, to me, outsourcing is not a process as such but only a part of it. A non-IT firm needs some software to support some of its business. The firm doesn't have an IT department, so it decides to outsource the development of the new software. From my perspective, the process begins much sooner as the development of the software itself. What triggers the start of the process is the identification of the new need. Then, business requirements are gathered, funds are allocated and an IT company is chosen (and sometimes much more, of course). At this point, the outsourcing part of the process can begin. The IT company is responsible for applying the process it is most accustomed to in order to handle the job, but this is not the concern of the contracting firm (You don't tell other people how they have to do their work). Once the job is over, the non-IT firm will have the software delivered and deployed. The IT company might well offer maintenance support (which I hope) and this is still considered part of the outsourcing. As you can see, outsourcing is only one part (or aspect or whatever you call it) of the software development process. To the end user in the non-IT firm, the fact that the development of the new software has been outsourced is completely opaque, they don't even need to know that the software comes from elsewhere.
Kishore Dandu
Ranch Hand

Joined: Jul 10, 2001
Posts: 1934
Originally posted by Lasse Koskela:
Outsourcing typically transforms an in-house software process into something closer to a regular business contract. For example, when a software product company outsources the maintenance and support of their soon-entering-end-of-life product to an outsourcing company, they're practically saying "hey, I don't want to think about this stuff anymore." At that point, most of the communication relates to numbers and not software.
Of course, there are the kind of outsourcing that still involves both parties on a daily basis, but that's "just" distributed development and subcontracting, in my opinion.
Or maybe I've got these outsourcing-related terms all screwed up in my head...

I think some aspects you are right.
But lately outsourcing is getting to different parts of the development cycle aswell.
I know of big projects being outsourced immediately after their design related inception.
I have a feeling in the immediate future many of different popular processes need to address this parameter of outsourcing since it is becoming integral to different aspects of software life cycle( in addition to so called maintence and hybernation cycles).
 
It is sorta covered in the JavaRanch Style Guide.
 
subject: Is Software outsourcing a process??