Fabio Palomba POST MORTEM REVIEW sabato 28 settembre 13
Dec 19, 2014
Fabio Palomba
POST MORTEM REVIEW
sabato 28 settembre 13
Management Report
Quality Report
Lesson learned
Summarysabato 28 settembre 13
MANAGEMENT REPORT
sabato 28 settembre 13
The Kids Project
System Functional Size
Entry Size Exit Size Read Size Write Size
419 103 204 48 64
Size Cosmic
sabato 28 settembre 13
The Kids Project
Size CosmicSystem
Functional SizeEntry Size Exit Size Read Size Write Size
419 103 204 48 64
143 40 62 20 21
Size of Service Management subsystem
sabato 28 settembre 13
The Kids Project
TUCP_CP1 CP1 TUCP_CP2 CP2 TCF
1096 778.16 1098 779.58 0.71
Size Class Point
sabato 28 settembre 13
The Kids Project
TUCP_CP1 CP1 TUCP_CP2 CP2 TCF
1096 778.16 1098 779.58 0.71
364 225.68 364 225.68 0.62
Size of Service Management subsystem
Size Class Point
sabato 28 settembre 13
Team composition
Ideal team
1 Web Designer2 experts in JSP/Servlet
2 software analysts
3 Task Oriented2 Interaction Oriented
sabato 28 settembre 13
Team composition
Real team
0 Web Designer0 experts in JSP/Servlet
0 software analysts
4 Task Oriented1 Interaction Oriented
sabato 28 settembre 13
Management goals
All functionalities of the subsystem must be implemented!
sabato 28 settembre 13
Management goals
All functionalities of the subsystem must be implemented!
Quality must be high!
sabato 28 settembre 13
Management goals
All functionalities of the subsystem must be implemented!
Quality must be high!
Team must be motivated always!
sabato 28 settembre 13
Kids lifecycle
Spiral model
Spiral model is risk driven
Possibility of customizing every cycle of spiral
In the end, our approach is very similar to Waterfall Lifecycle but...
sabato 28 settembre 13
Kids lifecycle
Requirement elicitation
Requirement analysis
System Design
Object Design Implementation
Testing
Object Design and Implementation were performed in parallel
This is the only way to create a consistent Object Design Document
Why?
This is the only way to optimize the time available
Sequencing and development model
sabato 28 settembre 13
Kids lifecycle
Requirement elicitation
Requirement analysis
System Design
Object Design Implementation
Testing
evolutionary model
Object Design and Implementation were performed in parallel
This is the only way to create a consistent Object Design Document
Why?
This is the only way to optimize the time available
Sequencing and development model
sabato 28 settembre 13
Kids lifecycle
Requirement elicitation
Requirement analysis
System Design
Object Design Implementation
Testing
evolutionary model
Incremental model
Object Design and Implementation were performed in parallel
This is the only way to create a consistent Object Design Document
Why?
This is the only way to optimize the time available
Sequencing and development model
sabato 28 settembre 13
Kids lifecycle
Requirement elicitation
Requirement analysis
System Design
Object Design Implementation
Testing
evolutionary model
Incremental model
Waterfall
Object Design and Implementation were performed in parallel
This is the only way to create a consistent Object Design Document
Why?
This is the only way to optimize the time available
Sequencing and development model
sabato 28 settembre 13
Kids planningsabato 28 settembre 13
Requirement Analysis
Kids planning - RADsabato 28 settembre 13
Requirement Analysis
OUT OF TIME
Kids planning - RADsabato 28 settembre 13
Resource allocation - RAD
Requirement Analysis
sabato 28 settembre 13
Resource allocation - RAD
Requirement AnalysisTOT = 64.68/80
sabato 28 settembre 13
Resource allocation - RAD
Requirement AnalysisTOT = 64.68/80
20% spared
sabato 28 settembre 13
Kids results - RADsabato 28 settembre 13
Kids results - RAD
It’s arrived to the 4.0 version
sabato 28 settembre 13
Kids results - RAD
It’s arrived to the 4.0 version
It’s was subjected to a three good review (13/24 item in the checklist
as mean)
sabato 28 settembre 13
Kids results - RAD
It’s arrived to the 4.0 version
It’s was subjected to a three good review (13/24 item in the checklist
as mean)
RAD is consistent with the implementation!
sabato 28 settembre 13
System Design
Kids planning - SDDsabato 28 settembre 13
System Design
Kids planning - SDD
2 Weeks of delay
sabato 28 settembre 13
Resource allocation - SDD
System Design
sabato 28 settembre 13
Resource allocation - SDD
System DesignTOT = 26/30
sabato 28 settembre 13
Resource allocation - SDD
System DesignTOT = 26/30
13% spared
sabato 28 settembre 13
Kids results - SDDsabato 28 settembre 13
Kids results - SDD
It’s arrived to the 3.0 version
sabato 28 settembre 13
Kids results - SDD
It’s arrived to the 3.0 version
It’s was subjected to a two review (5/48 item in the checklist as
mean)
sabato 28 settembre 13
Object Design
Kids planning - ODDsabato 28 settembre 13
Object Design
Kids planning - ODD
DO NOT DELAY OTHER ACTIVITIES
sabato 28 settembre 13
Resource allocation - ODD
Object Design
sabato 28 settembre 13
Resource allocation - ODD
Object DesignTOT = 19/20
sabato 28 settembre 13
Resource allocation - ODD
Object DesignTOT = 19/20
5% spared
sabato 28 settembre 13
Kids results - ODDsabato 28 settembre 13
Kids results - ODD
It’s arrived to the 2.0 version
sabato 28 settembre 13
Kids results - ODD
It’s arrived to the 2.0 version
It’s was subjected to a bad review...the document was not
complete!
sabato 28 settembre 13
Kids results - ODD
It’s arrived to the 2.0 version
It’s was subjected to a bad review...the document was not
complete!
Although the revision was not perfect, the document is consistent
with the implementation
sabato 28 settembre 13
Kids implementationsabato 28 settembre 13
Kids implementation
All the app was implemented
sabato 28 settembre 13
Kids implementationsabato 28 settembre 13
Kids implementation
In the right time
sabato 28 settembre 13
Kids implementation
In the right time
TOT = 130/130
sabato 28 settembre 13
Kids is compatible with all browsers
...and the quality?
sabato 28 settembre 13
QUALITY REPORT
sabato 28 settembre 13
“You must take the compromise to win, or else nothing.”
Ayrton Senna
sabato 28 settembre 13
Earned Value of... quality
Project quality state:
sabato 28 settembre 13
Quality PRO
Presence of design patterns increments the
quality of Kids
What is the consequence?
Maintainers will be grateful of our quality strategy on the code!
sabato 28 settembre 13
Quality PRO
What is the consequence?
Maintainers will be grateful of our quality strategy on the code!
LCOM: 0.341Efferent Coupling: 3.588
WMC: 26.083
sabato 28 settembre 13
JUUnit testing of all Kids components
Integration testing of all Kids components
Quality PRO
# test cases: 53# test classes: 12
# test cases: 162# test classes: 32
Service Subsystem Kids
sabato 28 settembre 13
Quality CON
There is alignment of the documentation to the code
but...
the quality of artifacts of high leveldesign could be better...
sabato 28 settembre 13
Quality CON
Some checklists could be more accurate
This problem could be mitigated with more training on the
software inspection...
sabato 28 settembre 13
PEOPLE MANAGEMENT
sabato 28 settembre 13
“All management is people management.”
“A company is only as good as the people it keeps.”
“The only way to get people to like working hard is to motivate them. Today, people must
understand why they're working hard. Every individual in an organization is motivated by
something different.”
sabato 28 settembre 13
There’s an huge impact of people management on the success of a project
Impact of People Management Practices on Business Performance [Patterson et al.]
The impact of strategical human resource management on Organizational Performance [Caliskan]
MOTIVATION
sabato 28 settembre 13
Listen, listen, listen...
Rethink, review, and reward
Be fair
Be flexible
Focus only on solutions and not
on problems
Rid your mind of the word “manager” and
replace it with “leader”
Scorn in private, praise in public
Include your team in key
management decisions
MOTIVATION
sabato 28 settembre 13
Listen, listen, listen...
Rethink, review, and reward
Be fair
Be flexible
Focus only on solutions and not
on problems
Rid your mind of the word “manager” and
replace it with “leader”
Scorn in private, praise in public
Include your team in key
management decisions
MOTIVATION
sabato 28 settembre 13
Listen, listen, listen...
Rethink, review, and reward
Be flexible
Be fair
Focus only on solutions and not
on problems
Rid your mind of the word “manager” and
replace it with “leader”
Scorn in private, praise in public
MOTIVATION
Include your team in key
management decisions
sabato 28 settembre 13
Listen, listen, listen...
Rethink, review, and reward
Be flexible
Be fair
Focus only on solutions and not
on problems
Rid your mind of the word “manager” and
replace it with “leader”
Scorn in private, praise in public
MOTIVATION
Include your team in key
management decisions
sabato 28 settembre 13
Listen, listen, listen...
Rethink, review, and reward
Be flexible
Be fair
Focus only on solutions and not
on problems
Rid your mind of the word “manager” and
replace it with “leader”
Scorn in private, praise in public
MOTIVATION
Include your team in key
management decisions
sabato 28 settembre 13
Listen, listen, listen...
Rethink, review, and reward
Be flexible
Be fair
Focus only on solutions and not
on problems
Rid your mind of the word “manager” and
replace it with “leader”
Scorn in private, praise in public
MOTIVATION
Include your team in key
management decisions
sabato 28 settembre 13
Number of meetings: 13
Average duration: 58.84 min
Average frequency: 1/4.81 days
MEETINGS E COMMUNICATION
sabato 28 settembre 13
MEETINGS E COMMUNICATION
In every moment...
In every place...
sabato 28 settembre 13
MEETINGS E COMMUNICATION
In every moment...
In every place...
Number of e-mails: ∞
sabato 28 settembre 13
Listen, listen, listen...
Rethink, review, and reward
Be flexible
Be fair
Focus only on solutions and not
on problems
Rid your mind of the word “manager” and
replace it with “leader”
Scorn in private, praise in public
MOTIVATION
Include your team in key
management decisions
sabato 28 settembre 13
Listen, listen, listen...
Rethink, review, and reward
Be flexible
Be fair
Focus only on solutions and not
on problems
Rid your mind of the word “manager” and
replace it with “leader”
Scorn in private, praise in public
MOTIVATION
Include your team in key
management decisions
sabato 28 settembre 13
Listen, listen, listen...
Rethink, review, and reward
Be flexible
Be fair
Focus only on solutions and not
on problems
Rid your mind of the word “manager” and
replace it with “leader”
Scorn in private, praise in public
MOTIVATION
Include your team in key
management decisions
sabato 28 settembre 13
ALTHOUGH THIS...
sabato 28 settembre 13
EVALUATION OF TEAM
Cohesion
Collaboration
Good communicationGood quality
Sacrifice
Presence of leaders
Humanity
sabato 28 settembre 13
RESUMING...
67 days of work
19 documents released(12 of management)
Overall, we obtain a good quality
Overall, good managementof people
sabato 28 settembre 13
RESUMING...
67 days of work
19 documents released(12 of management)
Overall, we obtain a good quality
Overall, good managementof people
And what about cost of project?sabato 28 settembre 13
COST CONTROL
sabato 28 settembre 13
sabato 28 settembre 13
Requirements analysis has been carried out too long!
Fear of the client!
Why?
A lot of requirements and low time available
There wasn't an existing system
WHAT WERE THE MAIN PROBLEM?
sabato 28 settembre 13
THE PROBLEM...
The problem is not the change itself, because the changes will take place, the problem is an inability to
cope with the changes when they occur.”
Kent Beck
"Everything changes in the software. Requirements change.
The design changes. The commercial aspects change.
Technology changes. The team members change.
sabato 28 settembre 13
HOW COULD THE PROBLEM BE SOLVED?
The client must be part of software development!
sabato 28 settembre 13
HOW COULD THE PROBLEM BE SOLVED?
The client must be part of software development!
AGILE SOFTWARE DEVELOPMENT???
sabato 28 settembre 13
The Golden Hammer does not exists!
LESSON LEARNED
Be Open Minds!
sabato 28 settembre 13
WHAT WAS THE BIGGEST
OBSTACLE TO THE SUCCESS OF PROJECT?
For some team members, the documentation...
sabato 28 settembre 13
When the documentation supports software development?
When it helps the developer to understand the problem domain
When it helps the developer to understand the design choises
When it helps the developer in the maintenance phase
When the developer is not afraid of documentation!
but, also...
sabato 28 settembre 13
0 10 20 35 45 ...
Percentage of documentation
Understanding
High
Medium
Maybe, the same rule on the percentage of comments in the code can be applied in the documentation...
sabato 28 settembre 13
LESSON LEARNED
RATIONALE MANAGEMENT!
DOCUMENTATION? QB
sabato 28 settembre 13
WHAT LED US TO SUCCESS?
Cohesion of teamClarity of management goals
Training: every time, everywhereWork, work, work...no unnecessary words!
Good resource managementsabato 28 settembre 13
The first stable version of Kids the 21/12/2012:In the our ideas, this will be the whole tested system
YES, WE CAN!
WHAT LED US TO SUCCESS?Do you remember this slide?
“‘Yes, we can’ does not want to express an attempt, but a tenacious willingness and determination to get to the bottom.
We can get to the bottom because we know how do.”
sabato 28 settembre 13
WOULD YOU DO A SIMILAR EXPERIENCE?
Doubtless, yes...
sabato 28 settembre 13
WOULD YOU DO A SIMILAR EXPERIENCE?
Doubtless, yes...
And...what about me?
sabato 28 settembre 13
WOULD YOU DO A SIMILAR EXPERIENCE?
Doubtless, yes...
And...what about me?
NO, THANKS.
sabato 28 settembre 13