The Philosophy of Scrum
2009-09-14 10:00
302 查看
The core of the Scrum approach is
the belief that most systems development has the wrong philosophical basis.
The stated, accepted philosophy is that systems development process is a well
understood approach that can be planned, estimated, and successfully completed.
The failed projects, inappropriate
systems, and ineffective productivity tools are seen as proof that the development
process needs more rigor, that if we can get those unruly developers to actually
follow it, these maladies will go away.
Scrum states that the systems development
process is an unpredictable, complicated process that can only be roughly described
as an overall progression. Cookbook, step-by-step approaches do not work because
they aren't adequately defined and don't cope with the unpredictability of systems
development.
Scrum defines the systems development
process as a loose set of activities that combines known, workable tools and
techniques with the best that a development team can devise to build systems.
Since these activities are loose, controls to manage the process and inherent
risk are used.
The following maladies occur as a
result applying the wrong philosophy and techniques to systems development:
By the time the system is delivered,
it is often irrelevant or requires significant change. This occurs because
environmental inputs are used only during planning.
Management actually believes
that it can predict the cost, delivery schedule, and functionality that
will be delivered.
Developers and project managers
are forced to live a lie...they have to pretend that they can plan, predict
and deliver, and then work the best way that they know how to deliver a
system. They build one way, pretend that they build another way, and are
without controls.
Scrum is applicable to internal IS
Organizations. Scrum will relieve IS Organizations of these terrible symptoms.
The approach is called Scrum. It
starts with the acceptance that this is a complicated, unpredictable world and
development environment. It also starts with the premise that you can't predict
or definitively plan what you will deliver, when you will deliver it, and what
the quality and cost will be. It starts with the assumption that you can estimate
these, and then negotiate them according to various risks as you proceed. It
is understood at the start, that you will deliver the best possible software
given the circumstances, and that following any cookbook approach won't improve
the definition of "best", and will only hinder appropriate responsiveness to
the complexity and unpredictability.
The reaction of many IS organizations
to this approach includes "we can't do that, everything will be out of control..."
and "our board of directors will never approve funding to build an undefined
product." However, that is exactly the way it is right now: out of control because
of the inability to respond to unpredictability, and the funding is for products
whose definition changes from the first day of the project.
As the divergence between those who
are succeeding with a Scrum-like development process and those who are failing
with SEI-CMM type processes increases, the heat of the argument is rising.
ADM and VMark have formalized the
Scrum process, based on packaged software vendor experiences, because they feel
that OO will suffer and possibly fail using the current development philosophy.
Scrum is applicable to new or existing
systems that use clean interface or objects and components. Scrum enables component
based development. Scrum tolerates on the job learning. As a matter of fact,
Scrum is a knowledge creating process, where tacit knowledge is created and
shared as work progresses. Collaborative teamwork ensures knowledge sharing
and creation.
the belief that most systems development has the wrong philosophical basis.
The stated, accepted philosophy is that systems development process is a well
understood approach that can be planned, estimated, and successfully completed.
The failed projects, inappropriate
systems, and ineffective productivity tools are seen as proof that the development
process needs more rigor, that if we can get those unruly developers to actually
follow it, these maladies will go away.
Scrum states that the systems development
process is an unpredictable, complicated process that can only be roughly described
as an overall progression. Cookbook, step-by-step approaches do not work because
they aren't adequately defined and don't cope with the unpredictability of systems
development.
Scrum defines the systems development
process as a loose set of activities that combines known, workable tools and
techniques with the best that a development team can devise to build systems.
Since these activities are loose, controls to manage the process and inherent
risk are used.
The following maladies occur as a
result applying the wrong philosophy and techniques to systems development:
By the time the system is delivered,
it is often irrelevant or requires significant change. This occurs because
environmental inputs are used only during planning.
Management actually believes
that it can predict the cost, delivery schedule, and functionality that
will be delivered.
Developers and project managers
are forced to live a lie...they have to pretend that they can plan, predict
and deliver, and then work the best way that they know how to deliver a
system. They build one way, pretend that they build another way, and are
without controls.
Scrum is applicable to internal IS
Organizations. Scrum will relieve IS Organizations of these terrible symptoms.
The approach is called Scrum. It
starts with the acceptance that this is a complicated, unpredictable world and
development environment. It also starts with the premise that you can't predict
or definitively plan what you will deliver, when you will deliver it, and what
the quality and cost will be. It starts with the assumption that you can estimate
these, and then negotiate them according to various risks as you proceed. It
is understood at the start, that you will deliver the best possible software
given the circumstances, and that following any cookbook approach won't improve
the definition of "best", and will only hinder appropriate responsiveness to
the complexity and unpredictability.
The reaction of many IS organizations
to this approach includes "we can't do that, everything will be out of control..."
and "our board of directors will never approve funding to build an undefined
product." However, that is exactly the way it is right now: out of control because
of the inability to respond to unpredictability, and the funding is for products
whose definition changes from the first day of the project.
As the divergence between those who
are succeeding with a Scrum-like development process and those who are failing
with SEI-CMM type processes increases, the heat of the argument is rising.
ADM and VMark have formalized the
Scrum process, based on packaged software vendor experiences, because they feel
that OO will suffer and possibly fail using the current development philosophy.
Scrum is applicable to new or existing
systems that use clean interface or objects and components. Scrum enables component
based development. Scrum tolerates on the job learning. As a matter of fact,
Scrum is a knowledge creating process, where tacit knowledge is created and
shared as work progresses. Collaborative teamwork ensures knowledge sharing
and creation.
相关文章推荐
- Two group of roles in SCRUM --- The Chicken and The Pig
- Basic of the Unix Philosophy
- SCRUM:敏捷团队的故事(SCRUM: The Story of an Agile Team)——(2)
- 简单的哲学(The Philosophy of Simplicity)
- Minds and Computers: An Introduction to the Philosophy of Artificial Intelligence
- Notes of the scrum meeting(12.8)
- Notes of the scrum meeting(12.9)
- Notes of the scrum meeting(12.10)
- Scrum:The Definition of Done —— 作业有没有写完呢?
- [置顶] philosophy: the thinking of coding,and mood essay
- the philosophy behind of the design of the STL
- Notes of the scrum meeting(12.11)
- [Not Solved] [Unix Philosophy] [The Art of Unix Programming] 怎样理解 "X致力于提供一套'机制, 而不是策略'" 的设计理念
- Notes of the scrum meeting(2013/10/20)
- Notes of the scrum meeting(10/28)
- Notes of the scrum meeting(11/1)
- Notes of the scrum meeting(11/2)
- Notes of the scrum meeting(11/4)
- Free Philosophy: Part I The Beauty of Doubt
- Russell the history of western philosophy and 房龙+宽容(英文版).pdf