Unit-4: Modern Approach To Software Project and Economics
Unit-4: Modern Approach To Software Project and Economics
• Protracted integration and late design changes are resolved by forcing integration into
the engineering stage. This is achieved through continuous integration of an architecture
baseline supported by executable demonstration of the primary scenarios.
• Adversarial stakeholder relationships are avoided by providing much more tangible and
objective results throughout the life cycle
• The conventional Focus on documents and review meeting rather than product replaced
by a focus on demonstrable results and well-defined sets of artifacts, with more-rigorous
notations and extensive automation supporting a paperless environment.
The ways in which healthy modern projects resolve these five issues are discussed in more detail
in this unit.
Basic Solution:
• Continuous integration.
• Evolutionary requirements.
1|P ag e
Unit-4: Modern Approach to Software Project and Economics
This approach avoids the big-bang integration at the end of a project by stressing continuous
integration throughout the project. Figure given illustrates the differences between the progress
profile of a healthy modern project and that of a typical conventional project. The architecture –
first approach forces integration into design phase through construction of demonstration.
▪ System characteristics that are largely inherent in the architecture (performance, fault
tolerance, maintainability) are tangible earlier in the process, when issues are still
correctable.
2|P ag e
Unit-4: Modern Approach to Software Project and Economics
Table: Differences in workflow cost allocations between a conventional process
and a modern process
Management 5% 10%
Environment 5% 10%
Requirements 5% 10%
Deployment 5% 5%
The Table given identifies the differences in a modern process profile from the
perspective of the cost distribution among the various project workflows.
Defining the architecture rarely includes simple steps for which visible progress can be achieved
easily. The effect of the overall life-cycle philosophy on the 80/20 lessons learned over the past 30
years of the software management experience provides a useful risk management perspective.
➢ 80% of the resource consumption (execution, disk space, memory) is consumed by 20% of
the components.
Figure: Risk profile of a typical modern project across its life cycle
Figure given above compares the risk management profile of a modern project with profile for a
typical conventional project presented in figure.
4.1.3Evolutionary requirement:
❑ Most modern architectures that use commercial components, legacy components, distributed
resources and object-oriented methods are not trivially traced to the requirements they satisfy.
❑ The artifacts are now intended to evolve along with the process, with more and more fidelity as the
4 | P a g elife-cycle progresses and the requirements understanding matures.
Unit-4: Modern Approach to Software Project and Economics
Top-level system requirements are retained as the vision, but lower level requirements are captured
in evaluation criteria attached to each intermediate release. These artifacts illustrated in figure are
intended to evolve along with the process.
The process with more-effective working relationships between stakeholders requires that
customers, users and monitors have both applications and software expertise, remain focused on
the delivery of a usable system.
It also requires a development organization that is focused on achieving customer satisfaction and
high product quality in a profitable manner.
The transition from the exchange of mostly paper artifacts to demonstration of intermediate results
is one of the crucial mechanisms for promoting team work among stakeholders. Major milestone
provide tangible results and feedback from a usage point of view. The tables below shows, designs
are now guilty until proven innocent: The project does not move forward until the objectives of
the demonstration have been achieved.
5|P ag e
Unit-4: Modern Approach to Software Project and Economics
Table: Results of major milestones in a modern process
Early demonstrations expose design issues and Demonstrations expose the important assets and
ambiguities in a tangible form risks of complex software systems early, when
they can be resolved within the context of life-
cycle goals.
The design is non-compliant (so far). Understanding of compliance matures from
important perspectives (architecturally
significant requirements and use cases).
Driving requirements issues are exposed, but Requirements changes are considered in balance
detailed requirements traceability is lacking. with design trade-offs.
The design is considered “guilty until proven Engineering process and issues are tangible, for
innocent.” incorporation into the next iteration’s plans.
1. Base the process on an architecture-first approach – rework rates remain stable over the project
life cycle.
7. Instrument the process for objective quality control and progress assessment
9. Plan intermediate releases in groups of usage scenarios with evolving levels of detail
6|P ag e
Unit-4: Modern Approach to Software Project and Economics
From numerous perspectives, the software project manager’s paramount objective is to maintain
the proper balance of emphasis across 10 principles. Figure summarizes this balance theme in the
context of the fundamental software economics equation.
The nine best practices are described here, with WALKER ROYCE commentary on how they
resonate with the process framework, management disciplines, and top 10 principles that
WALKER ROYCE have recommended.
2. Agreement on interfaces
This is same as ROYCE architecture-first approach. Getting architecture base-lined forces the
project to gain agreement on various external interfaces.
3. Formal inspections
7|P ag e
Unit-4: Modern Approach to Software Project and Economics
principle. Without rigorous notations for artifacts, the measurement of progress and quality
degenerates into subjective estimates.
8. Configuration management
The Airlie software council emphasized configuration management as key to controlling
complexity and tracking changes to all artifacts. The same reasoning behind ROYCE change
management principle.
9. People-aware management accountability
Key points:
Next generation software economics should reflect better economies of scale and improved ROI profile.
These are the real indicators of a mature industry.
Further technology advances in round-trip engineering are critical to making the next quantum leap in
software economics.
Future cost estimation models need to be based on better primitive units defined from well-understood
software engineering notations such as the UML.
8|P ag e
Unit-4: Modern Approach to Software Project and Economics
4.2.1 Next-Generation Cost Models
Software experts hold widely varying opinions about software economics and its manifestation
in software cost estimation models:
It will be difficult to improve empirical estimation models while the project data going into these
models are noisy and highly uncorrelated, and are based on differing process and technology
foundations.
Some of today’s popular software cost models are not well matched to an iterative software
process focused an architecture-first approach.
Many cost estimators are still using a conventional process experience base to estimate a modern
project profile
A next-generation software cost model should explicitly separate architectural engineering from
application production, just as an architecture-first process does.
▪ Separation of the engineering stage from the production stage will force estimators to
differentiate between architectural scale and implementation size.
▪ Rigorous design notations such as UML will offer an opportunity to define units of
measure for scale that are more standardized and therefore can be automated and tracked.
9|P ag e
Unit-4: Modern Approach to Software Project and Economics
3. For every $1 you spend on development, you will spend $2 on maintenance.
4. Software development and maintenance costs are primarily a function of the number of source
lines of code.
5. Variations among people account for the biggest differences in software productivity.
6. The overall ratio of software to hardware costs is still growing – in 1955 it was 15:85; in
1985 85:15.
7. Only about 15% of software development effort is devoted to programming.
8. Software systems and products typically cost 3 times as much per SLOC as individual software
programs.
9. Walkthroughs catch 60% of the errors.
10. 80% of the contribution comes from 20% of the contributors.
Key points:
The transition to modern software processes and technologies necessitates several culture shifts that
will not always be easy to achieve.
Lessons learned in transitioning organizations to a modern process have exposed several recurring
themes of success that represent important culture shifts from conventional practice.
A significant should be attempted on a significant project. Pilot projects do not generally attract top
talent and top talent is crucial to success of any significant transition.
10 | P a g e
Unit-4: Modern Approach to Software Project and Economics
● Good and bad project performance is much more obvious earlier in the life cycle
4.3.2 Denouement
Good way to transition to a more mature iterative development process that supports automation
technologies and modern architectures is to take the following shot:
Ready:
Define your process. Support it with mature environments, tools, and components. Plan thoroughly.
Aim:
● Select a critical project. Staff it with the right team of complementary resources and
demand improved results.
Fire:
Execute the organizational and project-level plans with vigor and follow-through.
11 | P a g e