Table of Contents
Table of Contents…..2
Chapter 1 Outsourcing Software..3
Creating a New Software Solution—the Components of a Software Project 4
Creating a New Version of Existing Software.5
Project Size as a Determining Factor…8
Chapter 2 Blueprinting..9
The Vision Statement….10
The Requirements Document..11
The Product Specification…13
Sectioning the Requirements Document.16
Getting People Who Need to Read the Document to Actually Read It…22
Reflecting Changes in Requirements.24
Documenting Requests for Enhancements…25
Outsourcing Your Requirements Document and Materials25
Chapter 3 The Best Outsourcer..27
Choosing a Service Provider….31
Chapter 4 The Best Outsourcing Sites..33
General Principles For Using Online Services…..33
www.elance.com – Old School Outsourcing.39
www.guru.com – Covering Every Base…39
www.vWorker.com – Focusing On The Code…..40
Chapter 5 Project Management..42
The Four Stages of a Project…42
Sample Content Preview
Ancillary Programs: In order for software to be deployed to end users, it often requires an install/uninstall program, special customization/security modules, or components to allow communication with different types of hardware. These ancillary programs need to be defined, written and tested just as the mainline programs do.
Documentation: On-line help, user manuals, training guides—these can all be very important part of a software package.
Quality Assurance: Although you should expect programmers to check their code for errors, software should be put through a separate, rigorous test cycle to insure that it works as required (and as documented). Testing software is a complex and important part of the development process and should not be left as an afterthought. Chapter 6 covers this area in more detail.
Creating a New Version of Existing Software
Perhaps you have already created a wonderful software product that’s popular and profitable in its original market. You now want to make another version of the product that would tap into a different market.
Create a customized version that targets a different type of customer. For example, a company that sells ticket management software to theaters and sports teams wishes to create a version that handles student enrollment for training companies. If your staff are not experts in the new target industry, you may want to bring in experts in that industry to help design the changes. In this case, you may want to outsource the creation of the requirements documents but have your staff handle the creation of the software itself—assuming that you didn’t outsource the creation of the original product.
Port software to a different platform. Perhaps your software runs on Windows PCs and you want to have a version that runs on Macs or Linux machines. Or maybe you have traditionally supported Oracle and SQL Server but are getting customer requests to support MySQL. Rather than purchasing a bunch of new equipment and hiring staff who understand the target platforms (or sending your staff to be trained), you might want to outsource the creation of the alternate version(s) of your software to developers who already have the expertise and the necessary hardware and software environment.
Translate software into a different language. Creating a version of your software to sell in another country will almost always involve creating a new user interface and translating the documentation to handle language differences. This may be true even if you are targeting another English-speaking country, since the various “flavours” of English have different spelling and syntax issues. Depending on the type of software, other changes may also be necessary in order to comply with local privacy and data security requirements, or to be acceptable culturally or legally in the intended market. Localization projects are often very well suited to outsourcing, as it is usually more effective to hire a firm that is familiar with the language, culture and operating parameters of the target country than it is to try to develop that expertise in-house.
Another way to look at software projects is to consider how visible they are both within your company and to the outside world. Most software can be divided into three broad categories:
Internal software—such as accounting, payroll and inventory systems that are used by you or your employees to manage your business. You customers generally have no direct contact with this type of software. This type of software is often purchased outright (such as Quickbooks for small business accounting or Goldmine for customer contact management). If your company’s needs aren’t met by an off-theshelf product, outsourcing the development of the software you want may make sense, because it’s unlikely that your employees will have the expertise and time to do it internally.
Software used by/for customers—such as your web site, self-service kiosks in your store, on-line and over-the-phone sales and service systems. Again, your employees will likely know how to use these systems, but they may not know how to create or maintain them, so outsourcing may be sensible here. However, because this software is visible to your customers at least some of the time and because this type of software can be extremely “mission-critical”, if you do outsource it, you will want to be very confident in the developer.
Software that is sold to your customers—such as a video game, a tax accounting package, or the CD component of a book package. If the software is a major component of your product, you may have the expertise in-house to develop it yourself—after all, that is the business you’re in. If it’s only a small piece of your product, however, you may want your staff to focus on the other parts and to outsource the software portion. As with the previous category, this type of software is visible to your customers, so the margin for error is much less than with an internal project (most businesses can cope if their employees must work around an awkward software user interface or wait for an upgrade to an internal system, but asking customers to accept a low-quality or late product can lead to lost sales).
Project Size as a Determining Factor
If your software project is very small, and you have the appropriate resources inhouse, outsourcing may not make sense. This can be especially true if you want an existing piece of software modified. By the time you’ve explained how the software works and what you want changed, you may be able to make the change yourself (or have an employee do so). On the other hand, a small, self-contained software project, such as a developing an Excel spreadsheet for your salespeople to use to create job quotes for customers, may be perfect for outsourcing—especially as the first project you assign to a new contractor. Large, complex projects are often wellsuited for outsourcing, but definitely require a developer with sufficient resources and with experience in managing such jobs.Other Details
- 25 Articles (TXT)
- 1 Ebook (PDF), 44 Pages
- 1 Squeeze Page (HTML)
- 2 Ecovers (PNG)
- Year Released/Circulated: 2018
- File Size: 1,401 KB
[YES] Can sell and keep 100% of the sales.
[YES] Can edit the squeeze page.
[YES] Can be bundled into another paid package and sell at a higher price.
[YES] Can be used as a bonus to another product you are selling.
[YES] Can be sold in a Dime sale event.
[YES] Can be added into a paid membership site.
[YES] Can pass on the Master Resell Rights privilege to your customers.
[YES] Can be given away for free AGAINST an email address (lead generation)
[NO] Contents of the product can be edited, modified or altered.