Вы находитесь на странице: 1из 48

Strategies for Solving

Software Problems
The Problem-Solving
Process

SALVADOR V. BRIONES II
Instructor
Institute of Information Technology

Objective:
Considers the relation between classic problem-solving concepts and
software development, particularly in a business environment.
Examines the impact of problem-solving concerns and principles on the
development process.

A basic point concerns the advantages that accrue from


exploiting diversity as a tool in problem solving.
Diversity refers to the differences in cultural or personal background;
professional experience; problem perspective; understanding; or technical
and disciplinary capability

Problem Solving
can benefit greatly from incorporating an
appreciation for diversity as a core value.

In human terms, diversity manifests itself in


the form of differences in cultural or
personal background; professional
experience; problem perspective;
understanding; or technical capability.

example
the case of a business that uses software systems at every level of its manufacturing and sales
processes. Suppose that the business has funded the development of an expensive software system
intended to support its basic business functions; however, the cost of development has
considerably exceeded its forecast benefits. The companys managers had assumed the new
software would solve their business problems. The systems software developers had assumed the
application would be successful because they had previously worked successfully with clients from
similar industries. However, despite extensive communication between both sides, a standard
framework that could be used as a common basis for solving the business problems encountered
was never adopted. The software developers viewed the problem from a technical perspective,
expecting a minimal need to tailor the product to the companys specific requirements. The
companys managers conceived of the product as a software system that would operate like a black
box generating the desired results when the needed inputs were provided.

Interdisciplinary factors contributed to problems in the business processes:

Financial
Managerial
Technical
Psychological,
Legal
Societal
Educational issues

The background of the developers were not adequate to understand the role of
these problem factors in creating complexity.
The managers never realized that the software solution could be so limited and
inflexible, and they failed to grasp how much more time and money was required
to have the system up and running as expected.

The background of the developers are not adequate to


understand the role of these problem factors in creating
complexity.
The managers never realized that the software solution
could be so limited and inflexible, and they failed to grasp
how much more time and money was required to have the
system up and running as expected.

Multidimensional View of Business Problem

misdirected software development not only wastes time,


but may also exacerbate existing problems or introduce new
ones.

Software systems introduced a new element in the historical


evolution of problem solving.
Using software systems, businesses could be monitored,
understood, and controlled better.

What Is a Problem?

The way to solve a problem is first to understand it.


A problem exists whenever a gap is present between
an initial or current state and a desired or goal state
(Hewett 1995).

a problem exists when a difference exists between an


existing situation and a desired situation (Pounds 1967).

The definitions given imply that, by reducing the difference,


a problem is solved or at least ameliorated.
The process of problem reduction refers to the approach in
which problems are partitioned or broken into smaller
problems and perhaps iteratively further decomposed until
one eventually arrives at reduced problems that can be
easily or more readily handled. Such problem reduction is a
core strategy in problem solving.

Definitions for the word problem can be found in


the literature, all of them depend on the notion
of a difference. First, some difference is required
to have a problem; otherwise, no problem exists
and it is a waste of resources to solve nonexisting or misunderstood problems.

A well-defined problem statement contains three


principal elements:
goal,
givens, and
Unknowns
these are shaped by the process of problem solving
into a solution.

A problem may also contain additional important


elements that must be recognized and defined, such
as:
condition
constraints
Operators
Identifying a problems goal, givens, unknowns, conditions,
and constraints, based on the current representation of
the problem, is the first step in problem solving.

One then proceeds to solve a problem by


redefining it into sub-problems and restating
the goal in terms of sub-goals. (Duncker 1945; Newell and
Simon 1972; Wickelgren 1974; Rubinstein 1975; Mayer 1983; Rist 1986).

The problem-solving model (Polya, 1945)


to understand the problem, devise a plan, carry
out the plan, and look back

Problems of Meeting Standards


associated with fixed goals and is based on factual
findings or empirical studies, as may occur in science or
in business.
The fixed goals may be related to adopted standards for an industry or be internal to an
organization. The main characteristic of this type of problem is the long-term adoption
of the goal. Examples range from controlling production lines in manufacturing
processes, to adoption of ISO 9000 standards to feedback control in a management
process based on fixed metrics for financial performance in terms of return on
investment (ROI) or break-even point analysis (BEP).

Problems of Selection between


Alternatives

Involves a composition of goals and alternatives in which the goals are usually
specified in terms of weighted criteria.
An evaluation matrix is constructed to quantify the comparison process and
evaluate results quantitatively.
The major difference involved in this type of problem is the availability of
competitive alternatives.
Often, the availability of a benchmark reference is beneficial to the evaluation
process.
Examples include selection of a best investment project, of a best purchasing offer,
and of the best solution for a specific problem.

Problems of Customer Satisfaction

Customer satisfaction can be identified as an independent goal regardless of the


other goals adopted by an organization because organizational goals do not
necessarily cohere with customer needs or requirements.

Customers exhibit a broad range of needs, including psychological, social, financial,


work related, and personal requirements that go well beyond the traditional
business goals derived from the marketing and finance domains.

Thoroughly meeting customer expectations may be incompatible with or


contradictory to achieving the tangible business values of an organization, so
creation of a winwin solution may be problematic.

Problems of Goal Achievement


Similar to those associated with standards, but with two differences: it can
change over the short term and the learning process, which is tightly
coupled with the evolution of business experience and best practices,
significantly affects these goals.
Despite this, the goals persist until existing goals prove to be outdated or
external environments trigger a movement toward new goals.

Examples of such semi fixed goals are the internal goals of business firms
derived from their prior experience.

Problems of Goal Evolution

The major distinguishing characteristic for this type of problem is the existence of
a formal process of continuous improvement in an organization.

The goals associated with these problems are constantly tested, validated, and
improved in an iterative fashion. Therefore, the goals are continually changing
based on performance results; competitive advantage; profitability; productivity;
innovation; and similar aspects of a business environment.

Examples occur in the practices of research and development teams and in the
continuous improvement approaches found in quality management and business
process reengineering.

What Is Problem Solving?

Problem solver must go about things in the


right way and must use the right method to
arrive at a solution; otherwise, nothing will be
discovered.
Rene Descartes (15961650)

Simon (1960), viewed the process of problem solving


as representing the interaction of a collection of
cognitive abilities that included intelligence, design,
choice, and implementation.

Problem Solving is......


A process by which a situation is analyzed and solutions are
formed to solve a problem, with steps taken to resolve,
eliminate, or mitigate the problem.
The current problem and situation are analyzed, potential
solutions are generated, and a workable solution is
determined and put into place.

Elements of Problem Solving


1.
2.
3.
4.
5.
6.

Problem definition
Situation analysis
Idea generation
Analysis of ideas
Decision-making
Determining the steps to be taken to introduce the
solution into the workplace

Problem Solving Process

Different problems require different uses of these elements,


possibly in different orders or to different degrees. The
structure of the process can vary greatly across different
problems. One may need to make many attempts at problem
definition to help establish the real question if the nature of
the underlying problem is unclear.

Complex Management-Driven Strategies


In more complex problem solving situations,
deliberate strategies and specific tactics are needed.

Problem Reduction (Decomposition)


Reusable Sub-problems and Solutions
Problem Expansion (Composition)
Problem Misrepresentation

Problem Reduction (Decomposition)


A widely known method for solving large and complex problems is to split
them into simpler problems and then iteratively apply this process until
the sub-problems are reduced to a level of complexity at which they are
easily solved or at least exhibit an irreducible level of difficulty.
A problem in a given domain is decomposed into a structured set of subproblems in the same domain.

This problem reduction paradigm has been successfully applied to problems in a


variety of application domains and in many phases of the process in which a topdown decisio nmaking strategy is applicable (Porvin, Reynolds, & Maletic 1991).

Reusable Sub-problems and Solutions


One important approach to handling the side effects of
problem reduction is to build reusable sub-problems
and solutions, instead of continually reinventing a
related system reductive hierarchy.

Such reusable sub-problems and solutions can be


stored in a components library and retrieved as
required.

Problem Expansion (Composition)


An encompassing view of problem solving depends on a
thorough analysis of stakeholder requirements and is also
related to the interdisciplinary tools and knowledge used in
recognizing the overall picture.

Problem Misrepresentation
How problems are viewed is critical to how they are solved. Placing
a problem in its correct context can make a difference in ones
ability to solve it.
Misrepresenting a problem results in unsuccessful solutions.
Difficulties of problem misrepresentation can take several forms:

Language ambiguity
Comprehension
Preposition
Context
Standardization

Strategies Driven by Task Structuring


4 basic modeling structures used in solving problems

Linear
iterative
Parallel
dynamic problem solving strategies

Linear Problem-Solving Strategies

Tasks are carried out sequentially with each task dependent on a


proceeding one. In certain instances, variations of a linear
structure allow a feedback control loop to exist between tasks,
thus increasing the degree of interactivity between tasks and
phases.

Iterative Problem-Solving Strategies


These strategies are often associated with continuous
improvement and quality assurance approaches.
The problem-solving topology is represented by a cycle.
The topology may include a single continuous cycle or
multiple cycles in which external cycles emerge from internal
ones.

Parallel Problem-Solving Strategies


The parallel strategy is a technique for reducing cycle time for the problem
solving process.
Unlike the sequential order for executing tasks, parallel tasks are assigned
to parallel production lines in which all lines are processed simultaneously
and independently.

What Is a Solution?

A solution constitutes a final step in the


problem-solving process.
Ideally, when solutions are finalized, goals
should have been achieved and the problem
should have been mitigated.

tenks!

Вам также может понравиться