Process AntiPatterns-Software Development Methodologies- Lecture 19 Slides-Computer Engineering, Slides of Software Development Methodologies

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

2011/2012

Uploaded on 02/20/2012

hester
hester 🇮🇷

4.5

(13)

84 documents

1 / 20

Toggle sidebar

This page cannot be seen from the preview

Don't miss anything!

bg1
Software Development
Methodologies
Lecturer: Raman Ramsin
Lecture 19: Process AntiPatterns
Department of Computer Engineering 1Sharif University of Technology
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff
pf12
pf13
pf14

Partial preview of the text

Download Process AntiPatterns-Software Development Methodologies- Lecture 19 Slides-Computer Engineering and more Slides Software Development Methodologies in PDF only on Docsity!

Software Development Methodologies Lecturer:

Raman Ramsin

Lecture 19: Process AntiPatterns

Department of Computer Engineering

1

Sharif University of Technology

Software Development Methodologies – Lecture 19 AntiPatternsAntiPatterns „^ Compiled and presented by Brown et al

in 1998

„^ Compiled

and presented by Brown et al. in 1998.

„^ "An AntiPattern describes a commonly occurring solution to a„^ An AntiPattern describes a commonly occurring solution to aproblem that generates decidedly negative consequences." „^ The AntiPattern may be the result of a manager or developer:^

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

Software Development Methodologies – Lecture 19 Process AntiPatterns: DevelopmentProcess

AntiPatterns: Development

„^ 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^

M^

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

Software Development Methodologies – Lecture 19 Process AntiPatterns: Development –

Lava Flow

p

„^ 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

Software Development Methodologies – Lecture 19 Process AntiPatterns: Development –

Golden Hammer

p

ld^

ld^

f^ l^

h^ l

„^ Golden Hammer:

A^ Golden Hammer is a familiar technology

or concept applied obsessively to many software problems. „ "When your only tool is a hammer, everything else is a nail." „ Solution: „ Solution:^

^ expanding the knowledge of developers through education,t^

i i^

d b^ k

t d^

t^

d^ l^

t

training, and book study groups to expose developers toalternative technologies and approaches.

Department of Computer Engineering

7

Sharif University of Technology

Software Development Methodologies – Lecture 19 Process AntiPatterns: Development –

Walking through a Minefield

p^

g^ g

„^ Walking through a Minefield:

Using today’s software technology is

analogous to walking through a high-tech mine field: Numerous bugsare found in released software productsare found in released software products. „ Solution:^

^ 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

Software Development Methodologies – Lecture 19 Process AntiPatterns: ArchitecturalProcess

AntiPatterns: Architectural

„^ Cover Your Assets:

Document

-driven software processes that

„^ Cover

Your Assets:

Document

driven

software processes that

produce less-than-useful requirements and specifications because theauthors evade making important decisions.^ hi^

b^

li^ i^

h^ l^

k^ f^

h^

f

„^ Architecture by Implication:

the lack of architecture specifications

for a system under development. „ Design by Committee:

Design by Committee creates overly

„^ Design

by Committee:

Design

by Committee creates overly

complex architectures that lack coherence. „ Reinvent the Wheel:

The pervasive lack of experience transfer

„^ Reinvent

the Wheel:

The^ pervasive lack of experience transfer

between software projects leads to substantial reinvention. „ The Grand Old Duke of York:

Egalitarian software processes ofteng^

p

ignore people’s talents to the detriment of the project: We needabstractionists as well as

implementationists.

Department of Computer Engineering

10

Sharif University of Technology

Software Development Methodologies – Lecture 19 Process AntiPatterns: Architectural –

Cover Your Assets

„^ 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

Software Development Methodologies – Lecture 19 Process AntiPatterns: Architectural –

Design By Committeeg

y

„^ 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

Software Development Methodologies – Lecture 19 Process AntiPatterns: Architectural –

Reinvent the Wheel

R i^

t th^

Wh^

l^ Th^

i^ l^

k^ f^

i

„^ Reinvent the Wheel:

The pervasive lack of experience

transfer between software projects leads to substantialreinvention. „ “Our problem is unique.” „ Virtually all systems development is done in isolation of projectsand systems with overlapping functionality. „ Solution:^

^ 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

Software Development Methodologies – Lecture 19 Process AntiPatterns: ManagementProcess

AntiPatterns: Management

„^ Analysis Paralysis:

Striving for perfection and completeness

in the analysis phase leading to project gridlock and excessivework on requirements/modelswork on requirements/models. „ Death by Planning:

Excessive planning for software projects

leading to complex schedules that cause downstream problemsleading to complex schedules that cause downstream problems. „ Project Mismanagement:

Inattention to the management of

software development processes causing directionlessness andsoftware development processes causing directionlessness andother symptoms. Proper monitoring and control of softwareprojects is necessary.Department of Computer Engineering

16

Sharif University of Technology

Software Development Methodologies – Lecture 19 Process AntiPatterns: Management –

Analysis Paralysis

g^

y^

y

Analysis Paralysis:

Striving for perfection and completeness

„^ Analysis

Paralysis:

Striving

for perfection and completeness

in the analysis phase often leads to project gridlock andexcessive thrashing of requirements/models. „ Developers new to object-oriented methods do too much up-front analysis and design, using analysis modeling as anexercise to feel comfortable in the problem domainexercise to feel comfortable in the problem domain. „ A key indicator of Analysis Paralysis is that the analysisdocuments no longer make sense to the domain expertsdocuments no longer make sense to the domain experts. „ Solution:^

^ Iterative-incremental development processes that defer detailedanalysis until the knowledge is needed.Department of Computer Engineering

17

Sharif University of Technology

Software Development Methodologies – Lecture 19 Process AntiPatterns: Management –

Project Mismanagement

g^

j^

g

„^ Project Mismanagement:

Inattention to the management of

„^ Project

Mismanagement:

Inattention

to the management of

software development processes can cause directionlessness andother symptoms. „ Proper monitoring and control of software projects is necessary forsuccessful development activities.Oft^

k^

ti iti^

l^ k d

i i

i^ d

Th^

i^ l d

„^ Often, key activities are overlooked or minimized. These includetechnical planning (architecture) and quality-control activities(inspection and test). „^ Solution:^

^

Proper risk management incorporated in the project managementprocess. Department of Computer Engineering

19

Sharif University of Technology

Software Development Methodologies – Lecture 19 Reference „^ Brown, W. J., Malveau, R. C., McCormick, H., Mowbray, T.,Antipatterns: Refactoring Software, Architectures, andP^ j

t^ i^

C i i^

Wil^

Projects in Crisis. Wiley, 1998.Department of Computer Engineering

20

Sharif University of Technology