












Study with the several resources on Docsity
Earn points by helping other students or get them with a premium plan
Prepare for your exams
Study with the several resources on Docsity
Earn points to download
Earn points by helping other students or get them with a premium plan
Process AntiPatterns, AntiPatterns, Viewpoints, Lava Flow, Ambiguous Viewpoint, Golden Hammer, Walking through a Minefield, Mushroom Management, Cover Your Assets, Architecture by Implication, Design By Committee, Grand Old Duke of York, Analysis Paralysis, Death by Planning, Raman Ramsin, Lecture Slides, Software Development Methodologies, Department of Computer Engineering, Sharif University of Technology, Iran.
Typology: Slides
1 / 20
This page cannot be seen from the preview
Don't miss anything!













Department of Computer Engineering
1
Sharif University of Technology
not knowing any better, not having sufficient knowledge or experience in solving a particulartype of problem, or
f
^ having applied a perfectly good pattern in the wrong context. Department of Computer Engineering
2
Sharif University of Technology
^ Lava Flow:
Dead code and forgotten design information is frozen in an ever-changing design. Ambiguous Viewpoint:
Object-oriented analysis and design models
presented without clarifying the viewpoint represented by the model. Golden Hammer:
A familiar technology or concept applied obsessively to many software problems. W lki^
h^
h^ Mi
fi ld
U i^
d^ ’^
f^
h^ l^
i
^ Walking through a Minefield:
Using today’s software technology is
analogous to walking through a high-tech mine field: bugs abound. M^ h^
t^ K^
i^
t^ d^
l^
i^ l t d f
th
^ Mushroom Management:
Keeping system developers isolated from the
system’s end users.Department of Computer Engineering
4
Sharif University of Technology
^ Lava Flow:
Dead code and forgotten design information is frozen in an ever- changing design. Causes:^ ^ R&D code placed into production without configuration management.
p^
p^
g^
g
^ Uncontrolled distribution of unfinished code. ^ Implementation of several trial approaches for implementing a function. ^ Single developer (lone wolf) design or written code ^ Single-developer (lone wolf) design or written code. ^ Lack of configuration management or process management policies. ^ Lack of architecture, or non-architecture-driven development. ^ Repetitive development process. ^ Architectural scars: Architectural mistakes not removed. To solve:
include a configuration management process that eliminates dead code and evolves or refactors design toward increasing quality. To avoid:
ensure that sound architecture precedes code development. Department of Computer Engineering
5
Sharif University of Technology p^
p
^ expanding the knowledge of developers through education,t^
Department of Computer Engineering
7
Sharif University of Technology
Walking through a Minefield
g^ g
^ Proper investment in software testing is required to make systemsrelatively bug-free. In some progressive companies, the size of testingstaff exceeds programming staffstaff exceeds programming staff.^ ^ The most important change to make to testing procedures isconfiguration control of test cases.configuration control of test cases.^ ^ automation of test execution and test design.Department of Computer Engineering
8
Sharif University of Technology
implementationists.
Department of Computer Engineering
10
Sharif University of Technology
^ Cover Your Assets:
Document-driven software processes often produce
less than useful requirements and specifications because the authors evadeless-than-useful requirements and specifications because the authors evademaking important decisions.^ ^ In order to avoid making a mistake, the authors take a safer course andl b
t^
lt^ ti elaborate upon alternatives. ^ Solution:^ ^
Enforce the production of Architecture blueprints: abstractions of informationsystems that facilitate communication of requirements and technical plansbetween the users and developers.
p
^ An architecture blueprint is a small set of diagrams and tables thatcommunicate the operational, technical, and systems architecture of currentand future extensions to information systems.
y
^ A typical blueprint comprises no more than a dozen diagrams and tables,and can be presented in an hour or less as a viewgraph presentation. Department of Computer Engineering
11
Sharif University of Technology
^ Design by Committee:
The classic AntiPattern from standards bodies,
g^ y^
Design by Committee creates overly complex architectures that lackcoherence:^ ^ A complex software design that is the product of a committee process ^ A complex software design that is the product of a committee process.^ ^ It has so many features and variations that it is infeasible for any group ofdevelopers to realize the specifications in a reasonable time frame.^ ^ Even if the designs were possible, it would not be possible to test the full designdue to excessive complexity, ambiguities, overconstraint, and other specificationdefects.^ ^ The design would lack conceptual clarity because so many people contributed toit and extended it during its creation. Solution:Solution:^ ^ Clarification of architectural roles and improved process facilitation can refactorbad meeting processes into highly productive events.Department of Computer Engineering
13
Sharif University of Technology
^ Design knowledge buried in legacy assets can be leveraged to reducetime-to-market, cost, and risk.Department of Computer Engineering
14
Sharif University of Technology
16
Sharif University of Technology
^ Iterative-incremental development processes that defer detailedanalysis until the knowledge is needed.Department of Computer Engineering
17
Sharif University of Technology
Project Mismanagement
j^
g
^
Proper risk management incorporated in the project managementprocess. Department of Computer Engineering
19
Sharif University of Technology
t^ i^
C i i^
Projects in Crisis. Wiley, 1998.Department of Computer Engineering
20
Sharif University of Technology