0 ratings0% found this document useful (0 votes) 25 views5 pagesSPPM Assignment
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content,
claim it here.
Available Formats
Download as PDF or read online on Scribd
N
ion of Software Economics
SOFTWARE ECONOMICS Ts
Most software cost models can be abstracted into a function of five basie pe
personnel, environment, and required qualit
The size of the end product (in human-generated components). which is typ
terms of the number of source instructions or the number of fumetion points ¢
the required functionality
2. The process used to produce the end product, in particulaythe ability of the y
value-adding activities (rework, bureaucratic delays; (S084 Mey
3. The capabilities of software engineering personnel. and particularly their es
computer science issues and the applications donvsit) sics of the projec
4. The environment, which is made up of the tools sind \ecliniques available
software development and to automate the process
The required quality of the product, including its features, performance
adaptability The relationships among these parameters an the
follows:
Effort = (Personnel) (Environment) (Q
____ One important aspect of software economics (as rey
that the relationship between effort and si
software development is a result of the
3
exhibits « diseconomy of seale, ‘Phe
process exponent being greater than
presented within today's Softwa
20, Process,
lly quontified in
quired to deve
ress 10 avoid NON
er th th
Support efficien
liability. and
inated cost can be written as
© cost models) is
liseeononiy of seale of
LO, Contrary 16 mostTarget objective: improved Fi
x
Seances oe [bP x05 ‘
Waterfall modet | ‘ e
Functional design E ‘
Diseconomy of scale | ‘
Corresponding environment,
Conventional
Environmentsftoois: |_| Environmen
Custom |
Size:
100% custom
Process: Process
‘Ad hoc Repeat. Janagedindas
‘Typleal project performance
Predictably bad Unpredictable i iene
Always: Tr ier si
rl ic sl
Over schedule On schedule On schedute
ue 2-1. Three generations of software economics leodirate the tong objective
Organizations are achieving better economies of scale in successive technology cras-with very large projects
(systems of systems), long-lived products, and lines of business comprising multiple similar projects. I
2-2 provides an overview of how a return on investment (RO!) profile can be achieved in subsequent et/orts
across life eycles of various domains.%
THE PRINCIPLES OF MODERN SOFTWARE )IANAGEMENT
Oa iaiaeiee dl myarenpana cement arcelihe. fist liveawilich ancinc niaiaaentesioe
my definition of an iterative process, are summarized in, ! gure 4-1.)
Base the process on an architecture-first approach. This requires that a demonstrable balance be
achieved among the driving requirements, the architecturally significant
life- eycle plans before the resources are committed for full-scale development
decisions, and the
Establish an iterative life-cycle process that confronts risk early. With today’s sophisticated
software systems, it is not possible to define the entire problem, design the entire solution, build the
sofiware, "and then test the end product in sequence. Instead, an iterative process that refines the
popblem understanding, an effective solution, and an effective plan over several iterations encourages
# balanced treatment of all stakeholder objectives. M sks must be addressed early to increase
predictability and avoid expensive downstream scrap and rework.
Transition design methods to emphasize component-based development. Mov ing from a line-of
code mentality to a component-based mentality is necessity 10 reduc
generated source code and custom, development
the amount of human-
stablish a change management environment, The dynamic 8 of iterative development
including coneurrent workflows by different teams workin. on
5
shared! artitacts, necessitatesTHE OLD WAY AND THE NEW CQ»)
L SOFTWARE ENGINEERING
‘THE PRINCIPLES OF CONVENTIONS
| Make quality #1. Quality must be quantified and mechanisms put into place fo motivate its
2 High-quality software is possible. Techniques that have been
involving the customer, prototyping, simplify eC 1
3.Give produets to customers early. No matte: ho | \
requirements phase, the most effective way to determine real
play with it 4.Determine the problem before writing the requirements. Whe
believe is a problem, most engineers rush to offer a solution. Befire you try 1o solve « probes
explore all the alternatives and don't be blinded by the obvious solutio
5 Evaluate design alternatives. After the requirements are sree )
architectures and algorithms. You certainly do not want to use” architecture” simply bee
the requirements specification.
6. Use an appropriate process model, Fach project must sel
project on the basis of corporate culture, willingness 10
requirements, and the extent to which requirements are well uri
>Use different languages for different phases. Our industr
complex problems has driven many to declare that the best <
notation throughout the life cycle.
‘mize intellectual distance, To minimize intellectual distance, the sottware's str
close as possible to the real-world structure
a process that
ike risks, applica
too.
y's eternal thirst for si
opment method is one that use
ucture should be as
ineer with « to
9.Put techniques before tools, An undisciplined sofiw re
undisciplined software engineer
10.Get it right before you make it faster. Itis far casicr to nuke a working program run faster than it is t
Juring initial eodin
make a fast program work. Don't worry about optimization «|
11, Inspect code. Inspécting the detailed design and code is much better way to find errors than testing
12.Good management is more important than good technology. Good management motivates people 10
do their best, but theré!aré no universal "right" styles of manayeiment
a the key:to success. Highly skilled people with appropriate experience, talent, and training ate
a vie
14. Follow with care. Just because everybody is doing something does not make it right for you. Ii may be
right, but you must carefully assess its applicability to your envivonment. i '
15.Take responsibility: When a bridge collapses we ask, "What did the engineers do wrong?" Even when
software fails, we rarely ask this. The fact is that in any engineering discipline, the best methods ean be use!
to produce awful designs, and the most antiquated methods to produce elegant des
16.Understand the ‘customer's priorities. It is possible the customer woukl tolerate 90% of the
5objectively controlled baselines.
ERR ne We
ep
Assessrrent Arplemertotion
shay esate
ees
Ba --—-- => The visk mans mort clernent
Sears tinction peerorce on
Ste oma ame vie — Fe technology element
Tigemus tetotion
E t
Patan enbnten + The control element
[Rotimeérins engineerin é
2 onan Fe auteination velennent
5. Enhance change freedom through tools that support round-trip ¢ 2. Round=
trip engineering is the environment support necessary 10 automate and synchronize
engineering information in different formats(such as requirements speeitications, design
models, source code, executable code, test cas
6. Capture design artifacts in rigorous, model-based notation. A model based approach (such as
UML) supports the evolution of semantically rich graphical and textual design notations
7. Instrument the process for objective quality control and progress assessment Lile-eyele
assessment of the progress and the quality of all intermediate products must be integrated inko the process
8. Use a demonstration-based approach to assess intermed
9. Plan intermediate releases in groups of usage scenarios with evolving levels wf deta. hi
essential that the software managemem process drive toward early and continuous
demonstrations within the operational context of the system, namely its use cases
10, Establish a configurable process that is economically sealable, No single pices |
suitable for all software developments.
gine!
¢ artifnets.
‘Table 4-1 maps top 10 risks of the conventional process tothe key attributes and principles cf man
process