POM L14 Flashcards Preview

POM > POM L14 > Flashcards

Flashcards in POM L14 Deck (15):

What are root causes for Antipatterns (Most common mistakes in software
project management and development) ?

1. Insufficient communication with the client
2. Unfulfilled requirements
3. Insufficient testing
4. Cost overruns and schedule slips


Reason for these mistakes: “The 7
deadly sins” ?

#Haste: Solutions based on hasty
#Pride: Not invented here
#Ignorence : Failure to seek understanding
#Narrow-Mindedness: The refusal to use solutions
that are widely known
#Sloth: poor decisions based on easy answers


Wha is a pattern ?

A pattern has two parts: A
Problem and a Solution


What is an Antipatterns ?

#Antipatterns consists of a
problem and two solutions:
a) The Problematic Solution:
describes a commonly
occurring solution that
generates overwhelming
negative consequences
b) The Refactored Solution:
describes how the problematic
solution can be reengineered to
avoid these negative
consequences and lead to
benefits again


What are 3 types of Antipatterns (Anti Pattern
Taxonomy) ?

#Development Antipatterns
• Focus on the viewpoint of the software developer
• Issues: Software refactoring,
#Architecture Antipatterns
• Focus on the viewpoint of the software architect
• Issues: Partitioning of subsystems and components, platform

#Management Antipatterns
• Focus on the viewpoint of the software project manager
• Issues: software project


Why using Antipatterns ?

#Patterns are good for problems which have no solution yet
#Patterns emphasize the use of proven good design
#Antipatterns are good for emphasizing the recognition of
mistakes in existing systems, software projects and
software processes


What is Incremental Reengineering (Refactoring) ?

#The process of incrementally changing the bad structure of a
system, project or organization into a better structure with the use
of antipatterns


Explain Analysis Paralysis Antipattern (also Symptoms & Causes, refactored solution)!

• Goal to achieve perfection and completeness of the analysis phase
• Generation of very detailed models
• Assumption, that everything about a problem can be known a priori
# Sympthoms: Cost of analysis exceeds expectation without a predictable
end point
#Causes :Management assumes a waterfall progression of phases.
#Refactores Solution: iterative development, vertical prototryping


Explain Plan-Driven Software Development !

#Linear, Phase-oriented software development, no itteration
#Goal: Minimize risk by upfront planning
#Analysis >>Design >> Implementation
#eg. Waterfall modell


Explain Functional Decomposition Antipattern !

# Every thing is a function
# Management of complexity, change management is difficult
# Symptoms: Code is hard to understand
# Causes : Designers trained with a functional decomposition method
####Refactored solution : Object oriented analysis


Explain Corncob Antipattern !

# Corncobs are difficult people
# Corncobs usually create additional stress in what may be an already overstressed environment especially in the software projects
#Reasons: Individual personality
#Root causes : Pride, Avarice, Ignorance,
# Corncobs focus much more on
politics than technology
#Refactored Solution :
a) Transfer the responsibility
b) Corrective interview with person:
c) Friendly outplacement


Explain Death By Planning !

# Many projects fail from either over-planning or underplanning.


Name and explain two types of plans by Death By Planning!

#Glass Case Plan: Gives the management a ‘comfortable
view’ of delivery, often before the project starts
- symptom: lack of an up-to-date project plan
- Consequence : cost overrun,
-Causes: Overambitious initial planning
#Detailitis Plan: Over-planning in projects, resulting in
delays, staff attrition, and project failure.
Effective delivery is assumed to be achieved by a high
degree of control via continuous planning
-Symptoms: A lot of time is spent on planning
-Causes : Overambitious continuous planning

###Refactored Solution :
. Estimate the tasks in terms of effort and elapsed time
• Evaluate captured against the project plan


Explain Mushroom Management Antipattern ( Pseudo-Analysis) !

#Requirements change frequently
#Bad understanding of the requirements leads to the poor design decisions
# Management policy isolates
the developers from the
system’s end users , Management assumes that
the requirements are stable
and well understood by
## Refactored solution:
- Introduce incremental and iterative development
- Include a user in the development process


What is Pseudo-Analysis

Analysis that takes place without end-user participation.