ISD Lecture 10 The programming effort Flashcards
Productivity
The factors that impacts programming productivity can be divided into technical factors and soft factors.
When programming development company attempts to predict, control and improve their productivity.
Measure a organizations programing productivity can be difficult. Some have used lines-of-code.
But there is some other measurement that can help. Technical factors and soft factors.
Tailoring
Tailoring of ERP systems encompass both configuration and modification.
Control
There are formal controls (outcome and behavior) and informal controls (self-control and clan control) that can be used when controlling (outsourced) development projects.
What kind of option do do you have when programning
Programming from scratch internally in your organization:
Here we will focus on how to achieve a high level of productivity.
Buying a standard application
Here we will focus on issues concerning how much and how to tailor ERP systems to the specific organization
Outsourcing development to a vendor
Here we will focus on the how to control the vendor.
What is programming
Natural Language -(programmer)> program expressed in programming language -(complier)> Binary numbers
When you program you translate from one language to another. You translate requirements / design expressed in natural language (understandable for normal people) into a program expressed in a programming language. The program is then translated into binary numbers by a compiler. The binary numbers are understandable for a computer.
Programming from scratch (What to achieve?)
How to achieve a high level of productivity (programming faster).
How to achieve a high level of predictability (estimate when we will be finished).
Here we will focus on the first issue
What kind of factors are there in Productivity
Technical factors
Soft factors
What kind of categories are there in Soft Factors
The soft factors that impacts productivity can be divided into the following factors: Corporate Culture Team Culture Capabilities and Experiences Environment Project
What kind of categories are there in The Technical Factors
The technical factors that has impact on programming productivity can be divided into three categories:
Product – the program might be more or less complicated.
Process – the programming process might be more or less efficient.
Development environment – the development environment might be more or less supportive.
what is a ERP System
are software programs developed by independent software vendors for sale to organizations that use them.
General needs:
Packages are designed to meet the general needs
Attractive compared custom software development:
to By adopting standard packages, organizations can substantially reduce the costs, risks and delays associated with custom software development.
Support services
The ERP systems are different compare to traditional, What are the differents?
The scope:
Support and integrate all functions in a company:
Are more complicated
How to can you change the ERP packages
Configuration
refers to setting parameters in the package to reflect organizational features.
Modification
refers to changing package code to perform unique business processes, often resulting in loss of vendor support.
Modifying is not for free.
Tailoring
encompass both configuration and modification and a range of options in between.
ERP systems are often tailored because of what?
ERP systems are flexible
Vanilla implementations of ERP packages.
Tailoring is always required
The different aspects of Adapting the software or the organization
A difficult choice:
Many ERP adopters must face a painful choice when adopting a package that works differently than they do.
Adapt the organization to the software:
They can adopt the business process built into the software, making the necessary organizational changes such as departmental reorganization and shifts in job duties.
Live with lack of fit:
They can just live with the lack of fit between the package and their procedures which entails problems and inefficiencies such as redundant manual processes and other workarounds.
Adapt the software to the organization:
They can try to adapt the ERP package to the organization’s existing business process. This is where tailoring comes in
Tailoring types
The easier types :
Configuration (None maintenance)
Bolt-ons
The more difficults:
Modification (Heavy maintenance)
Interface development
The impact of tailoring
A choice between development and implementation problems:
The greater the “impact” of tailoring on the ERP system, the more likely it is that the ERP system implementation project will encounter difficulties and suffer on cost, schedule and performance metrics.
The greater the “impact” of tailoring on the ERP system the more likely it is that organizational adaptation to the ERP system will be easy and that the system will meet the needs of the business.
Maintenance problems:
The greater the “impact” of tailoring on the ERP system the more likely it is that that a company will experience difficulties when attempting to upgrade to a later package release or convert to a later package version.
What kind of problems do you have when outsourcing development
Outsourced systems development projects creates unique problems that make controlling them challenging:
Controlling vendor behavior:
client may lack the direct authority to prescribe vendor behaviors.
Difficult to monitor vendor behavior:
It is more difficult to monitor vendor behavior due to geographical distance, coordination problems, and loss of communication richness.
No existing reporting relationship:
There are usually no pre existing reporting relationships or systems that can be used to facilitate control
Cultural differences:
Another challenge, not mentioned by the paper, is cultural differences when outsourcing development e.g. from Denmark to India
How to control
A controller evaluating and influencing an individual controlee
What kind of control modes and mechanisms are there?
The controller uses control mechanisms to promote desired behavior by the controlee.
These control mechanisms help implement control modes.
Formal controls:
for example modes that rely on mechanisms that influence the controlee’s behavior through performance evaluation and rewards.
Informal controls:
for example modes that utilize social or people strategies to reduce goal differences between controller and controlee.
What types of formal control are there?
Outcome control
- Focus on the outputs
- Specifies requirements to the outputs
- Uses procedures that evaluates the outputs
Behavior control
- Focus on behavior:
- Specifies behaviors
- Evaluate behavior:
What types of formal control are there?
Outcome control
- Focus on the outputs
- Specifies requirements to the outputs
- Uses procedures that evaluates the outputs
Behavior control
- Focus on behavior:
- Specifies behaviors
- Evaluate behavior:
What types of informal control are there?
clan control
A clan is a group of individuals who are dependent on one another and who share a set of common goals.
minimize the differences between controller’s and controlee’s preferences by common values, beliefs, and philosophy within a clan.
self-control
Relies on the controlee engaging in behavior consistent with the best interests of the controller without formal controls.
How to controlling outsourced development projects
Portfolios of controls:
establishing a portfolio of controls that fits the project and the organizations:
The portfolio of control contains combinations of the four control modes.
The same general mechanism can support more than one control mode:
A contract between the client and the vendor can facilitate
outcome control by specifying outcomes and associated rewards,
but it can also facilitate clan control if it is structured to enhance shared goals between the two organizations.
A monthly progress review meeting might provide
insights into the actions taken by system developers (behavior control) as well as
the progress they have made relative to the project schedule (outcome control).
Factors influencing Choice of Control Mode
Task characteristics.
Behavior observability:
Outcome measurability:
When behavior observability and outcome measurability are both low:
Project size
Role expectations:
How to use: Productivity
You should understand productivity issues:
Improve productivity
Planning and estimating projects:
How to use: Tailorting types
You should understand tailoring issues
How to use: Control
You should understand control issues in outsourcing projects
Reflections and relations
- Conflict between productivity and value creation
- Exported problems from technochange – you can be inclined to improve productivity by exporting problems
- Outsourcing pushes towards control modes that fits better with planned than agile development
- Integrating development and implementation can be hard when outsourcing
- Using a benefits perspective (BDN) from lecture 5 could be used to tailor implementing an ERP system