- •Rapid Application Development, Agile Development, Joint Application Development, and Other Systems Development Approaches
- •Exercises to Rapid Application Development, Agile Development, Joint Application Development, and Other Systems Development Approaches
- •Keys to Rapid Application Development, Agile Development, Joint Application Development, and Other Systems Development Approaches.
- •Outsourcing and On Demand Computing
- •When to Use Outsourcing for Systems Development
- •Exercises to Outsourcing and On Demand Computing
- •Keys to Outsourcing and On Demand Computing
Keys to Outsourcing and On Demand Computing
Comprehension Questions
|
True or false
|
Matching
|
Fill in the gaps
|
Questions for Discussion
Before I plunge into the world of BI, it is perhaps worth revisiting the general reasons for IT outsourcing, some of the most regularly quoted are as follows:
Reduction in costs
The provider of outsourcing (I’m just going to say “the provider” from now on to save typing) can carry out the same tasks at a cheaper cost to the client organisation (while still presumably turning a profit). There can be a number of bases for this; the one that generally comes to mind is wage arbitrage between different economies. However, it could also be that the provider has economies of scale; for instance, less people being required to run the consolidated data centres of several companies, than is required to run each separately. Also the provider may have staff who are more productive than at the client.
Ability to scale-up and scale down resource
The nature of business is such that sometimes all hands are required on the IT deck and at others there is spare capacity (this is something I address in my two articles on Problems associated with the IT cycle and Mitigating problems with the IT cycle). Now IT departments are normally quite good at finding (hopefully) useful things for people to do, but the issue remains. The promise of an outsourcing arrangement is that the tap of resource can be adjusted to meet demand without having to either fire and rehire staff, or rely on bringing in expensive contract resource. It is often hoped that this feature of outsourcing will also help to speed IT products to market.
Making IT provision a contractual relationship
An arrangement with a provider, depending on how the contract is drafted, can make the provision of IT services subject to penalties and claw-backs when service levels drop below those that have been agreed. While there are clearly some sanctions that can be applied to underperformance by internal IT departments, the financial benefit to the organisation is likely to be less (unless your CIO is a multi-billionaire of course). Companies are used to these contractual relationships, they are often the lifeblood of business, and it is a more familiar way of dealing with issues for them.
Access to skills
The nature of IT is that it does tend to evolve, sometimes quickly, sometimes slowly. For organisations this means keeping their IT people’s skills up to date though courses, or continually looking to bring people with new skills into an organisation (such people generally not being the cheapest). The idea with an outsourcing arrangement is that these issues become the headache of the provider, not the client. This area can be particularly pertinent when there is a technology change or a significant upgrade; these are times at which the prospect of being shot of IT worries may seem very attractive. The effort and cost of, as it were, upgrading your in-house IT staff may seem prohibitive in these circumstances. Focus on core competencies
This has been a business mantra for many years, why should a company engaged in a wholly separate area of human endeavour want to become experts in building and supporting complex IT systems, when they can get a specialist organisation to do this for them? This moves towards the idea of a lean, or even virtual, organisation.
Failure of in-house IT
It is sad to have to add this item, but it is often the implicit (and sometimes even the explicit) driver of a desire to outsource. CEOs, COOs or CFOs may be so fed up with the performance of their IT people that they feel that surely someone else could not be worse. There is an adage that you don’t outsource a problem, but this is often honoured more in breech than observance.
I am sure that there are other advantages, claimed or real, for IT outsourcing, but the above list at least covers many of the normal arguments. At this stage a fully-balanced article would probably present arguments against IT outsourcing. However, my objective here is not to provide a critique of IT outsourcing in general, but to see whether the above benefits apply to business intelligence. Because of this, and I should stress purely for the purposes of this article, I am going to accept that all of the above gains are both realisable and desirable for general IT. There will therefore you will find no comments here about arbitrage (of its very nature) resulting in differentials of pricing closing over time.
The only benefit that I am going to rule out is the final one; addressing failed IT departments. Applying outsourcing in these cases is only likely to make things worse, and probably more expensive. Far better in my opinion to work out why IT is failing (most typically due to poor leadership it has to be said, see also my article: Some reasons why IT projects fail) and draw up plans for addressing this. If outsourcing is a strong element of this, then so be it, but thinking that it will resolve this type of issue is probably naive in most circumstances.
So, as always seems to be the case in these types of articles, we have five potential benefits against which to assess outsourcing BI. Before I look at each in turn, I wanted to make some general observations.
Reasons for outsourcing. The main reasons given by departments in the 2006 Outsourcing Survey included: 1 Unavailability of service in-house 9 Policy changes 2 Focusing on core services 10 Achieving defined service levels 3 Making up for staff shortages 11 Improving service output 4 Access to skills 12 Access to information 5 Reduction in costs 13 Facilitating organisational changes 6 Flexibility in service delivery 14 Converting fixed costs into variable costs 7 Improving service quality 15 IT legacy system support 8 Access to technology 16 Risk diversification
Expected benefits sought from outsourcing Cost savings Reduced capital expenditures Capital infusion Transfer fixed costs to variable Quality improvement Increased speed Access to latest technology/infrastructure Access to skills and talent Augment staff Increase focus on core functions Get rid of problem functions Reduce politic pressures or scrutiny Legal compliance Better accountability/management
Potential risks of outsourcing
Unrealized savings or hidden costs Less flexibility Poor contract or poor selection of partner Loss of knowledge/skills and/or corporate memory and the difficulty in reacquiring a function Loss of control/core competence Power shift to supplier Supplier problems (poor performance or bad relations, opportunistic behavior, not giving access to best talent or technology) Losing customers, opportunities, or reputation Uncertainty/changing environment Poor morale/employee issues Other: Loss of synergy Create competitor Conflict of interest Security issues False sense of irresponsibility Legal obstacles Skill erosion
A software development methodology or system development methodology in software engineering is a framework that is used to structure, plan, and control the process of developing an information system.
There are the following methodologies: Agile Software Development Crystal Methods Dynamic Systems Development Model (DSDM) Extreme Programming (XP) Feature Driven Development (FDD) Joint Application Development (JAD) Lean Development (LD) Rapid Application Development (RAD) Rational Unified Process (RUP) Scrum Spiral Systems Development Life Cycle (SDLC) Waterfall (a.k.a. Traditional) http://www.itinfo.am/eng/software-development-methodologies/ http://www.journalofaccountancy.com/Issues/1998/Jun/antonuci.htm
The literature review presented above began with a brief discussion of traditional SDLC methodologies. These models are often viewed as cumbersome, bureaucratic, and unsuited to the rapid pace of many software development projects. This discussion was followed by a review of new lightweight SDLC methodologies. Lightweight methodologies were developed to efficiently manage software projects subjected to short timelines and excessive uncertainty and change. Nine types were summarized. These included ASD, ASP, Crystal, DSDM, XP, FDD, RUP, SCRUM, and Wisdom.
Heavyweight vs. lightweight methodologies: Key strategies for development; In software development, “lightweight” methodologies are gaining ground on more traditional “heavyweight” methodologies. Both have their advantages and disadvantages, and which one you choose depends in large part on your needs. I’ll examine some key differences between lightweight and heavyweight development methodologies from the project manager’s perspective. Here are some of the advantages of lightweight methodologies: They accommodate change well. They are people oriented rather than process oriented. They tend to work with people rather than against them. They are complemented by the use of dynamic checklists. The project teams are smaller. They rely on working in a team environment. They foster knowledge sharing. Feedback is almost instantaneous. The project manager doesn’t need to develop “heavy” project documentation but instead is able to focus on the absolute necessary documentation (e.g., the project schedule). They are learning methodologies. After each build or iteration, the team learns to correct issues on the project, forming an improvement cycle throughout the project. http://www.techrepublic.com/article/heavyweight-vs-lightweight-methodologies-key-strategies-for-development/5035285
Panacea or poison? Advantages and Disadvantages of On Demand Computing.
Advantages of On Demand Computing The ASP model is a good fit for small companies that do not have the IT staff or infrastructure in-house to manage information systems. Implementation is typically quicker than with systems deployed in-house, and the in-house support requirements are fewer. The ASP is responsible for all necessary software upgrades and system maintenance. The ASP also relieves the customer of having to worry about IT infrastructure requirements, such as security, backups, and disaster recovery. The ASP model also makes good sense for systems that support employees that are frequently on the road—applications such as sales force automation, expense reporting, and field service support are proving to be good choices to deploy on a hosted basis.
My own consulting firm, Strativa, is a good example of a company that benefits from using an ASP. We use a professional services automation system on a hosted basis that takes care of all our CRM, time and expense tracking, and billing requirements. Even though we do technology consulting, we'd rather have our staff spend their time delivering consulting services than maintaining an internal information system. Therefore, the ASP model is perfect for us. For a flat monthly fee, it gives our consultants instant access to the system anywhere, any time, through a Web browser, and it requires zero internal technical staff.
There is one other application that is well suited to the on demand model, and that's e-commerce systems. Because such systems can experience sudden and huge variations in transaction volume, it makes sense to host such systems under an on demand model that can flex to provide the computing power needed to accommodate such spikes. For example, if you host your own Web storefront and you're selling a product that suddenly gets favorable press in the Wall Street Journal, your sudden good fortune can bring down your Web storefront. Not a good thing for customer service. Similarly, few small companies can afford the IT security and recovery measures that need to be in place to provide secure e-commerce. Therefore, small and mid-sized companies ought to consider the on demand model for any Internet-based applications that are critical to the business. Even larger companies should consider this approach.
Disadvantages of On Demand Computing Where the ASP model does not make a lot of sense, however, is in large companies that have multiple systems that must be integrated with each other or with custom systems written internally. Someday, with widespread adoption of a service-oriented architecture (SOA) by software vendors, it might become easier for customers to integrate in-house systems with ASP-hosted systems. But today, if you have a mix of systems from different vendors, or a combination of packages and custom software, it's better to locate such systems within the same corporate data center.
|
