Sunday, January 27, 2008

How often do software development outsourcing deals fail?

The numbers vary depending on which study is cited and what definition of failure is used. But executives initiating or in the midst an IT outsourcing relationship must be constantly sobered by the fact that, from a purely statistical viewpoint, their deal stands about as much chance of failing as of succeeding.

Managing IT outsourcing is hard. It doesn't pay to pretend otherwise. Deloitte Consulting LLP's study "Calling a Change in the Outsourcing Market" found that 70 percent of participants have had significant negative experiences with outsourcing projects.

Let's define failure for offshore software projects and explore some of the reasons for the high failure rate of outsourced software development projects.

I think that not getting software which meets the goals of the buyer is the first element needed to define a failure. The next would be cost, either exceeding the expected costs or exceeding the cost that onshore development would have been. Not meeting schedule is another problem with these projects. Another element would be a lack of relationship with the developer which enables changes to be made easily and functionality added as the project proceeds.

Language and cultural challenges, the time zone shift, and the distance between you and the faces of the development team are all stopping points to the development of your offshore project. Since offshore outsourcing often results in failure of one kind or another (quality, schedule, cost), companies are rethinking this strategy.

The fact of the matter is, offshore software development requires that the buyer carefully develop a plan for the development and then manage the project as it unfolds. Check on code quality and conformance to standards and validate progress when you take a look at the code. If you specify incremental deliveries, be sure that they have organized their development so this can occur. When an operational portion of the code can be tested early, you will be able to see how well they are doing unit testing and whether they are building what you asked. When they deliver an increment, test it yourself right away. This means you need an in-house test team. Make sure this is included in your costs.

This kind of project management may be more than most companies want to deal with. Unfortunately, you can't just turn over the management of the project to an offshore company.

Buyers and software providers need to analyze the risks and consider the costs associated with mitigating them. Management usually assumes that by giving away software development to another company they also give away the risk, not realizing that they keep the primary management responsibility and most of the risk. The project manager will face all of the challenges of an in-house development plus many additional ones. The outsourced employees are part of another company with its own goals that are not the same as your company’s goals. They’re not right there with you to ask or answer questions. They have their own managers they must listen to.

You may want to seriously consider onshore development for your project unless you have the following:

Solid specifications
A sound project manager on site
An experienced team in India or China with senior developers
A good QA team

U.S. software companies can find reasons not to outsource software development and coding to offshore sites, such as these:

they can do background checks on U.S. Citizens
Eliminate the language, culture and time zone barriers
They prefer to help the U.S. economy

The draw of outsourcing is cost savings, but most companies find that outsourcing has many unexpected costs that, when weighed against the savings, negate the benefits.


Tuppas Software utilizes only U.S. programmers to create and deploy it's software projects. We provide manufacturing and ERP modules which were developed as browser-based, thin client applications. Their easily configurable modules gives manufacturers the ability to make changes to or even add functionality to the software. Tuppas software is web-based, object-oriented, model-driven, thin-client, configurable and available as a service (SaaS). Applications offered include: Production Scheduling, Advanced Planning and Scheduling, Production Reporting, Inventory Management, Warehouse Management, SPC, SQC, SCM, CRM, Accounting, Procurement, Job Tracking, Capacity Planning, Quality Assurance, Materials Requirements Planning, Process Control, Training Solutions, CMMS (Preventive Maintenance), Business Intelligence and Performance Dashboards.

Saturday, January 26, 2008

Total quality management for manufacturers

By Dawn Tupciauskas, Tuppas Software Corp.

Total quality management, or TQM, is becoming increasingly important for manufacturers and distributors in today’s world. Tier one and two suppliers are being encouraged, and in some cases, forced by the large companies they service to get on board with TQM systems.

TQM addresses all of the important aspects of quality management and brings them together into one integrated system.

Software for TQM needs to be versatile and configurable to align all of the aspects of quality management. Innovative, browser-based software can help manufacturers configure a total quality solution that addresses all of their specific needs.

What is total quality management? TQM encompasses quality control on the factory floor, and beyond. It consists of:
1 Statistical control applications
2 Defect tracking systems
3 PPM (parts per million) reporting
4 Quality document management
5 Customer portals for access to quality documents
6 Quality assurance
7 ISO 9000 data management
8 Corrective action measures reporting
9 Corporate dashboards to access all of the quality data

These software applications should easily extend throughout the corporation, and be accessible to the appropriate personnel from any location. Customer portals providing access to various quality data help build customer confidence as well as assure that products meet quality requirements. These interfaces when combined with a barcoding system, can allow users access to the quality settings and production data relevent to any individual part or item. Trending, or looking at the quality issues regarding a large number of parts, is also becoming more popular.

This flexible, accessible software for total quality management is coming of age due to the growing acceptance and use of browser-based software systems. Browser-native TQM software provides the perfect vehicle to deliver all of the various aspects of quality management, which corporations are looking for in an easy to use format, in a short amount of time and at reasonable cost with quick ROI (return on investment).

Browse-based systems allow for extensive customization, so that the applications can be tailored to fit a customer’s needs. They can also be modified easily after they are in use as the need arises. Browser-based total quality management solutions have more to offer buyers in terms of functionality, accessibility, customizability and price than traditional quality management software applications.



Tuppas offers manufacturing and ERP modules which were developed as browser-based, thin client applications. Their easily configurable modules gives manufacturers the ability to make changes to or even add functionality to the software. Tuppas software is web-based, object-oriented, model-driven, thin-client, configurable and available as a service (SaaS). Applications offered include: Production Scheduling, Advanced Planning and Scheduling, Production Reporting, Inventory Management, Warehouse Management, SPC, SQC, Total Quality Management, SCM, CRM, Accounting, Procurement, Job Tracking, Capacity Planning, Quality Assurance, Materials Requirements Planning, Process Control, Training Solutions, CMMS (Preventive Maintenance), Business Intelligence and Performance Dashboards.

Artificial intelligence in manufacturing – improving the bottom line

By Dawn Tupciauskas, Tuppas Software Corporation

Artificial Intelligence – It’s Practical Application in the Manufacturing Environment

As the manufacturing industry becomes increasingly competitive, manufacturers need to implement sophisticated technology to improve productivity. Artificial intelligence, or AI, can be applied to a variety of systems in manufacturing. It can recognize patterns, plus perform time consuming and mentally challenging or humanly impossible tasks. In manufacturing, it is often applied in the area of constraint based production scheduling and closed loop processing.

AI software uses genetic algorithms to programmatically arrange production schedules for the best possible outcome based on a number of constraints, which are pre-defined by the user. These rule-based programs cycle through thousands of possibilities, until the most optimal schedule is arrived at which best meets all criteria.
Another emerging application for AI in a manufacturing environment is process control, or closed loop processing. In this setting, the software uses algorithms which analyze which past production runs came closest to meeting a manufacturer's goals for the current pending production run. The software then calculates the best process settings for the current job, and either automatically adjusts production settings or presents a machine setting recipe to staff which they can use to create the best possible run.

This allows for the execution of progressively more efficient runs by leveraging information collected from past production runs. These recent advances in constraint modeling, scheduling logic, and usability have allowed manufacturers to reap cost savings, reduce inventory and increase bottom line profits.

AI-A brief history

The concept of artificial intelligence has been around since the 1970s. Originally, the primary goal was for computers to make decisions without any input from humans. But it never caught on, partly because system administrators couldn't figure out how to make use of all the data. Even if some could comprehend the value in the data, it was very hard to use, even for engineers.On top of that, the challenge of extracting data from the rudimentary databases of three decades ago was significant. Early AI implementations would spit out reams of data, most of which wasn't sharable or adaptive to different business needs.

The resurgence

AI is having resurgence, courtesy of a ten-year approach called neural networks. Neural networks are modeled on the logical associations made by the human brain. In computer-speak, they're based on mathematical models that accumulate data based on parameters set by administrators.

Once the network is trained to recognize these parameters, it can make an evaluation, reach a conclusion and take action. A neural network can recognize relationships and spot trends in huge amounts of data that wouldn't be apparent to humans. This technology is now being used in expert systems for manufacturing technology.

Practical application in the real world

Some automotive companies are using these expert systems for work process management such as work order routing and production sequencing. Nissan and Toyota, for example, are modeling material flow throughout the production floor that a manufacturing execution system applies rules to in sequencing and coordinating manufacturing operations. Many automotive plants use rules-based technologies to optimize the flow of parts through a paint cell based on colors and sequencing, thus minimizing spray-paint changeovers. These rules-based systems are able to generate realistic production schedules which account for the vagaries in manufacturing, customer orders, raw materials, logistics and business strategies.

Vendors typically don’t like to refer to their AI based scheduling applications as AI due to the fact that the phrase has some stigma associated with it. Buyers are perhaps reluctant to spend money on something as ethereal sounding as AI but are more comfortable with the term "constraint based scheduling".

Constraint-based scheduling needs accurate data

A good constraint-based scheduling system requires correct routings that reflect steps in the right order, and good data on whether steps can be parallel or whether they need to be sequential. The amount of thorough planning that is required for a successful system to be launched is one of the largest drawbacks.

If a management team has not defined and locked in accurate routings in terms of operation sequence and operation overlap, and if it has not correctly identified resource constraints with accurate run and set-up times with a correct set-up matrix, what it winds up with is just a very bad finite schedule that the shop cannot produce. Tools like AI should not be thought of as a black box solution, but rather as a tool that needs accurate inputs in order to produce a feasible schedule that can be understood by the users.

Constraint-based scheduling within an ERP (enterprise resource planning) system

In selecting a solution, there are a number of system prerequisites that you need to look for. The better an enterprise application integrates various business disciplines, the more powerful it will be in terms of delivering constraint based scheduling. This means that if an application suite offers functionality cobbled together from different products the manufacturer has purchased, it may be harder to use that suite to deliver good scheduling functionality. This is because a number of business variables that reside in non-manufacturing functionality can affect capacity.When an ERP package has been configured for constraint based or finite scheduling, it is generally routed to a scheduling server which calculates start and finish times for the operations with consideration to existing orders and capacity. When the shop order is executed, the scheduling system updates the information regarding operations and sends the results back to the enterprise server.

Scheduling functionality within an ERP solution ought to work in a multiple-site environment. Let's say you need to calculate a delivery date based on a multi-site, multilevel analysis of material as well as capacity throughout your whole supply chain. The system should allow you to plan given all the sites in your supply chain and the actual work scheduled for each of those work centers. Manually or automatically, you should be able to schedule work and immediately give your customer a realistic idea of when the order will be completed.

More benefits of AI, constraint based applications

Apart from the immediately apparent capacity management benefits of constraint based scheduling, there are a number of less obvious analytical capabilities. Scheduling functionality typically allows you to conduct predictive analyses of what would happen if certain changes are made to an optimized schedule. So if a plant manager is pressured by a particular account executive to prioritize an order on behalf of a customer, that plant manager can produce excellent data on how many other orders would be late as a result. Furthermore, this functionality can provide predictive analyses on the effect of added capacity in the plant. This enables manufacturers to see if equipment purchases will truly deliver an increase in capacity, or if it will simply result in a bottleneck further downstream in the manufacturing process.



Tuppas offers manufacturing and ERP modules which were developed as browser-based, thin client applications. Their easily configurable modules gives manufacturers the ability to make changes to or even add functionality to the software. Tuppas software is web-based, object-oriented, model-driven, thin-client, configurable and available as a service (SaaS). Applications offered include: Production Scheduling, Advanced Planning and Scheduling, Production Reporting, Inventory Management, Warehouse Management, SPC, SQC, SCM, CRM, Accounting, Procurement, Job Tracking, Capacity Planning, Quality Assurance, Total Quality Management, Materials Requirements Planning, Process Control, Training Solutions, CMMS (Preventive Maintenance), Business Intelligence and Performance Dashboards.

Agile software revolution - - information technology in U.S. manufacturing today

By Dawn Tupciauskas Tuppas Software Corporation

A global market economy - what is means for U.S. manufacturers and IT providers

Global competition is making it more difficult for American manufacturing companies to make a profit. Manufacturers need to become more agile to compete globally with economies where the cost of labor is an almost insignificant part of the cost of goods and they have access to the same high tech manufacturing equipment. It is time for forward thinking, competitively focused comanies to move to the next generation of IT tools, and strengthen their manufacturing and management information systems. Technology providers need to provide manufacturers with cost effective, highly mobile, highly adaptable, thin-client competitive capabilities. These capabilities will come in the form of software which is web-based (or web-native), object-oriented, model-driven, thin-client, configurable and offered as a service (SaaS).

Old ERP technology - the first generation

The truth is that first generation ERP applications lack the flexibility to add or change functionality and they just aren't capable of full web funtionality. Because of their age and code foundations, most existing ERP vendors just can't provide the full range of functionality made possible by the internet-native technologies. The ability of the native browser-based applications to interact with any device that can run a browser i.e. PDAs, cell phones and various data capture devices makes them intrinsically more valuable than the old ERP systems. These old legacy systems are difficult to expand and modify to make use of these wireless devices, or to change and add any new functionality to the system. It is also costly and laborious. Some vendors try to present the old systems in a browser and call the applications "web-enabled", using a technique known as "screen-scraping". But don't be fooled. Web-enabled does not mean web-browser native. These applications lack all of the abilities and advantages of a truly browser-native application. These first generation ERP vendors are racing to convert their aging, first generation offerings to the new, object-oriented, browser- based model of software. This is a difficult task, since the internal source code for these older packages is fundamentally unsuited for the web and cannot make use of the native functionality of the web browser. The total cost of owernship (TCO) for first generation systems is high, due to the legacy code burden, thick-client server setup and heavy support infrastructure. Much more IT workforce is needed to support a first generation ERP application.

A new vision for information technology - next generation software

The ultimate goal for any manufacturing organization is graphic, actionable, timely information when ever and where ever it's needed to support performance. Next generation software makes that goal attainable. Every manufacturer wants supply side and finished goods inventory reductions, energy use reductions, operational efficiency improvements and increased overall efficiency. Browser-based software applications which are easily configured are allowing manufacturers to become lean. A lean organization is one which can quickly and effectively adapt and make changes which lead to better productivity. The success of any software implementation needs to be measured by the achievement of benefits such as a reduction in manufacturing operational costs, a reduction of administrative costs, improved complete and on-time shipments, improved customer satisfaction and improved manufacturing schedule compliance. Next generation software, which is fundamentally different in design, function and form from legacy applications, is the beginning of the software revolution. Although the first generation systems have had their place and time, business practices of the new millennia, wireless technology, and the need for flexible systems is more than these aging systems were designed to deliver. The time has come to move on to a new generation of browser-based, object-oriented, model-driven toolsets which have the flexibility and functionality needed to carry us to the next level. The ultimate goal, real-time availability of information, is now attainable.

How does next generaton software technology make an organization better able to adapt?

Adding funtionality to software systems is a historical problem for first generation ERP vendors. This is because of the legacy code it is built upon. A next generation ERP provider does not have that problem, due to the use of an object-oriented software architecture. Making changes to or even adding functionality to an existing software system already in use is more easily and quickly done. Tuppas has also developed a set of rapid application developement tools to which make modifications even faster. An application which might take a man year to develeop using traditional methods such as asp.net, would take a matter of weeks with our development tools. Due to the relative ease with which they can be configured and changed, object-oriented software tools have brought drastic price reductions to normally high priced integrated management support software. Now not only can the largest organizations afford these software applications, small and medium sized businesses can too. The ease with which these applications can be reconfigured allows a vendor to collaborate with clients to quickly build customized software. This is extremely beneficial to corporations with a number of diverse plants. Tuppas can even help the customer learn to use their development tools so that they can modify the software themselves at their discretion. New business practices can be readily incorporated into an existing system. Our toolset gives us the kind of flexibility which allows us to create highly configured solutions for the corporate level and the plant level. Having the ability to modify the software that helps run the company as their needs change is a huge advantage in a highly competitive market. The system becomes more that just a software purchase. It is an adaptable tool to help them grow and innovate now and in the future.

Wireless adaptability accelerates decision making with real-time or just-in-time information

The faster that mission critical information can be recognized and made available, the faster the reaction time can be. The wireless capabilities of next generation software are providing unprecedented opportunities to accelerate the decision making process due to the decrease in time to acquire critical information. Wireless technology can be used to connect corporate entities, mobilize a sales force, track warehouse inventory, trace products and jobs, empower field personnel and more. The applications are really limitless. Having the ability to collect and organize timely information in a global environment, whether it be a field service technician, a sales person or a CXO, extends the power of any organization.

SaaS-Software-as-a-Service

The idea of software delivered over the web and hosted by a vendor has been around for a while, but it is just now beginning to come into it's own as a viable option for software buyers. The benefits are numerous. Making monthly or quarterly payments for a system allows many more buyers into the market for high end software applications than traditional licensing purchases. Other benefits include lwer cost of entry, quicker start up, faster return on investment, decreased internal support costs, reduced risk (initial investment is small), and better service and support since customers must be happy to be retained. Typically, the vendor or a third party host provide the maintenance, upgrades and security for the system relieving the customer of these burdens too. The absence of on-site servers, software, security and IT professionals means significantly lower total cost of ownership (TCO) for buyers.

The advantages of the thin-client system

A thin client strategy allows for the use of inexpensive work stations along with various other devices, such as palm computers, cell phones and more. It means anywhere, anytime access to information within the system from any browser capable device. It has made complete connectivity very cost effective. Thin-client software is browser-based software which resides on a dedicated server. The server may belong to the client, the vendor or a host. Users have full access the system via "thin client terminals", which really only require access through a browser to the dedicated server. This differs from traditional software installations, which require that a copy of the application be installed locally on each computer where it is to be used. This makes software upgrades infinitely easier, since only the program on the dedicated server needs to be upgraded, and not numerous client computers. This also saves time and disruption of work flow. Another advantage is the reduction in hardware needed at individual work stations to operate the software.

Model-driven design makes integration and upgrades easier

Model-driven software applications allow users to focus on functionality and core business processes without having to worry about technology platforms, technology upgrades and integration issues. Model-driven applications seperate the business, or application logic from the underlying platform. It means that the software is created with two layers, so that one can change and upgrade the user side independently of the technical under-layer, and vice-versa. Software based on model-driven development eases platform integration issues and is a wise IT investment in the uncertain world of changing platform technology. It means reduced cost of ownership, reduced development time for new applications, rapid inclusion of emerging technology into systems and an increased return on technology investments. Model-driven design provides the framework which frees users to evolve their software and practices independently of the underlying technology or platform. It enables better, faster and less expensive system integration.

In conclusion

When you combine all of the features of the next generation software applications, what you end up with is a new class of software. Together, model driven development tools, object-oriented design, browser-based development, rapid development tools and wireless possibilities have created a revolution in software design and development. These applications mean greater flexibility at a significantly lower cost than first generation systems offered. U.S. manufacturers need to become more able to quickly react, move and respond to changing markets, regulations, finances and the competition in order to survive. This adaptability will soon become a necessary trait for any manufacturer who wants to survive in our new global marketplace.

Tuppas offers manufacturing and ERP modules which were developed as browser-based, thin client applications. Their easily configurable modules gives manufacturers the ability to make changes to or even add functionality to the software. Tuppas software is web-based, object-oriented, model-driven, thin-client, configurable and available as a service (SaaS). Applications offered include: Production Scheduling, Advanced Planning and Scheduling, Production Reporting, Inventory Management, Warehouse Management, SPC, SQC, SCM, CRM, Accounting, Procurement, Job Tracking, Capacity Planning, Quality Assurance, Materials Requirements Planning, Process Control, Training Solutions, CMMS (Preventive Maintenance), Business Intelligence and Performance Dashboards.