SlideShare a Scribd company logo
1 of 20
Improving Software Productivity
                  with eXtreme Programming

                                     Francesco Cirillo
                                  Director, XPLabs - s.r.l.
                              Coordinator, XPLabs Consortium
                                  francesco.cirillo@xplabs.com




                                                                                       ah
© 2001 Francesco Cirillo   Improving Software Productivity with XP   XPLabs - S.R.L.
2
The XP Answer
     To be effective today, the development process must allow
      customers to maximize business opportunities:
         by enabling them to identify new ones;
         by ensuring a return on their investment as early and frequently as
          possible; and
         by allowing them to make changes when they feel the need.

     In this scenario, the production function implicit in the work of
      the development team must make it possible to minimize the
      cost of change




                                                                                       ah
© 2001 Francesco Cirillo   Improving Software Productivity with XP   XPLabs - S.R.L.
3
We Need Feedback
     “We need to control the development of software by making
      many small adjustments, kind of like driving a car. This means
      that we will need the feedback to know when we are a little off,
      we will need many opportunities to make corrections, and we
      will have to be able to make those corrections at a reasonable
      cost” (Beck00, p. 27)
     “Driving is not about getting the car going in the right
      direction. Driving is about constantly paying attention, making
      a little correction this way, a little correction that way” (Beck00, p.
      27)




                                                                                       ah
© 2001 Francesco Cirillo   Improving Software Productivity with XP   XPLabs - S.R.L.
4
Navigation Story
     The first story is that of a payroll employee who has to answer
      questions about paychecks.
         “Hello, payroll support here.”
         I just got my paycheck, and I want to know why I received $1500 this
          month and only $1000 last month.”
         “Well, sir, I see that you got a raise on the first of this month.”
         “I got that raise last month.”
         “I’m sorry about that. I see that the raise wasn’t recorded in out
          system until this month. We adjusted your paycheck to reflect the
          increase. You should receive $1250 per month from now on.”




                                                                                       ah
© 2001 Francesco Cirillo   Improving Software Productivity with XP   XPLabs - S.R.L.
5
Enumeration Story
     The second story is that of an employee who needs lots of
      changes.
         “Hello, payroll support here.”
         “I would like to increase my deductions to 6, effectively immediately.”
         “Certainly.”

     Two days later:
         “Hello, payroll support here.”
         “I would like to take the additional life insurance coverage we were
          offered.”
         “Certainly. That will be in force as of today. You will notice a half-
          month’s deduction in your next paycheck. Thereafter the deduction
          will be $55.”


                                                                                       ah
© 2001 Francesco Cirillo   Improving Software Productivity with XP   XPLabs - S.R.L.
6
Enumeration Story
     Three days later:
         “Hello, payroll support here.”
         “I would like to begin contributing 5% of my wages every month to the
          United Way.”
         “Certainly. Since this is a monthly deduction, you will see a full
          month’s deduction on your next paycheck.”
     At the end of the month, the paycheck is correctly computed
      automatically.




                                                                                       ah
© 2001 Francesco Cirillo   Improving Software Productivity with XP   XPLabs - S.R.L.
7
Binary Deliverables
     “Tom Demarco said of project management: ‘Your project, the
      whole project, has a binary deliverable. On scheduled
      completion day, the project has either delivered a system that
      is accepted by the user, or it hasn’t. Everyone knows the result
      on that day’ (Demarco82)” (Martin99b)
     “The object of building a project model is to divide the project
      into component pieces, each of which has this same
      characteristic: Each activity must be defined by a deliverable
      with objective completion criteria. The deliverables are
      demonstrably done or not done” (Martin99b)




                                                                                       ah
© 2001 Francesco Cirillo   Improving Software Productivity with XP   XPLabs - S.R.L.
8
Binary Deliverables (continue)
     “So a binary deliverable is a deliverable that has one of two
      states: done or not-done. Clearly Analysis and Design are not
      binary deliverables. They can never be shown to be complete.
      On the other hand, what better binary deliverable could we
      have than a piece of code that executes according to stated
      requirements?” (Martin99b)
     What about the iterative and incremental development?
     “When we begin an iterative and incremental development (IID),
      our first goal is to subdivide the project into binary
      deliverables. Those binary deliverables are defined as
      executing segments of the overall project” (Martin99b)



                                                                                       ah
© 2001 Francesco Cirillo   Improving Software Productivity with XP   XPLabs - S.R.L.
9
Mayo’s Contributions
     The contributions of the Mayo school can be summed up in the
      following conclusions:
         Productivity of personnel and of the organization,   beyond the physical
          conditions of the workers and of the work environment, depends on
          the conditions of the social environment that exists and of the
          spontaneous cooperation that develops
         Non-monetary incentives are of the utmost importance in order to
          reach a satisfactory level of productivity
         High-level specialization is not the most efficient way to assign tasks
         Personnel doesn’t manifest exclusively individual behavior, but also
          group behavior




                                                                                       ah
© 2001 Francesco Cirillo   Improving Software Productivity with XP   XPLabs - S.R.L.
10
Mayo’s Contributions (continue)
     The small spontaneous group that makes up an informal
      organization serves to satisfy the need to belong and is a
      source of positive influence on morale and productivity
     The small, spontaneous group is highly productive and
      motivated, as long as the complexity of the tasks assigned to it
      isn’t excessive. Maslow in fact, explains with his infamous
      curve, that people become demotivated when facing too
      complex a task, get extremely motivated by complex but
      doable assignments, and again demotivated by complex and
      un-doable tasks
     Motivation, furthermore, seems to increase with an increase in
      results obtained (objectives reached). A high frequency of
      deliverables most certainly increases said motivation

                                                                                       ah
© 2001 Francesco Cirillo   Improving Software Productivity with XP   XPLabs - S.R.L.
11
Have you ever been asked to work free overtime?
     Let’s try to answer in a more complete way. Let’s suppose we
      follow the Human Relation school of tought. How much does
      working overtime for free increase my team motivation and
      hence its productivity?
     Not too much, eh? Just imagine working overtime on
      impossible tasks (remember what Maslow says…)




                                                                                       ah
© 2001 Francesco Cirillo   Improving Software Productivity with XP   XPLabs - S.R.L.
12
Have you ever been asked to work free overtime?
     But, why should we work overtime?
     To be a good team it doesn’t necessarily means to be fast, but
      to take the time estimated (expected) to accomplish a given
      task. But to do that you have to know how you work/are
      working and you must be experienced
     Many project managers accept impossible deadlines to do.
      Eventually this brings the request for overtime
     But consistently working overtime reduces motivation, self-
      esteem and in this way slows productivity and makes it
      impossible to do high quality work



                                                                                       ah
© 2001 Francesco Cirillo   Improving Software Productivity with XP   XPLabs - S.R.L.
13
Have you ever been asked to work free overtime?
     Working overtime is considered acceptable for one or two
      weeks at most before we see the drawbacks I’ve mentioned
     Project managers and project leaders are good at their work
      when they can estimate the right time to do things, and know
      how to say no when customers ask impossible things. (To say
      no you have to know that it IS impossible…)




                                                                                       ah
© 2001 Francesco Cirillo   Improving Software Productivity with XP   XPLabs - S.R.L.
14
On the other hand...
     On the other hand, we find Scientific Management (Taylorism).
     Translated in software development, Taylorism could say if you
      don’t produce I’ll fire you, if we need to reduce costs we pay
      less, if we need to produce more with low costs we’ll hire at
      lower rates.
     Taylorism showed us how to create tensions, how to alienate,
      demotivate, and exploit hundreds of workers in a factory




                                                                                       ah
© 2001 Francesco Cirillo   Improving Software Productivity with XP   XPLabs - S.R.L.
15
Quality Assurance
     Three themes are central to quality assurance:
         Quality is everybody’s business
         Quality must be an early focus of a project
         The best way to achieve quality is to build it in




                                                                                       ah
© 2001 Francesco Cirillo   Improving Software Productivity with XP   XPLabs - S.R.L.
16
Correct By Construction - Cantor
     “The premise is that if the documentation is sufficiently
      detailed and found to be correct by the customer, then the
      project is correct by construction. The developers only need
      build what has been documented.”
     “...This approach is defocusing; it adds risks and expense to
      the project. Since the entire success of the project depends on
      correct documents, the customer and the developer focus their
      attention on the documentation, not the project. An
      unreasonable amount of effort may be spent in the attempt to
      create a correct diagram. In fact, so much of the project’s
      budget can be spent trying to finish the flawless design that
      the project may be canceled before the software is coded.”



                                                                                       ah
© 2001 Francesco Cirillo   Improving Software Productivity with XP   XPLabs - S.R.L.
17
Correct By Construction - Cantor
     “...Experience has also shown that no amount of formal
      process, checkpoints, or design review can completely
      eliminate the risk of delivering a nonoperational system.”
     “To ensure this (maintain an ongoing dialog) develop a
      common vocabulary to discuss the system specifications in a
      way the customer can understand. Assess whether this project
      will serve his or her needs. This will drive the design process.
      As the project proceeds, the customer’s understanding of the
      program will evolve. Only by taking advantage of the increased
      understanding can you and the customer ensure that what is
      delivered is acceptable.”




                                                                                       ah
© 2001 Francesco Cirillo   Improving Software Productivity with XP   XPLabs - S.R.L.
18
Our job... - Thomas
     “Our job is to solve problems, not spoonfeed compilers...”
     “We need clarity so we can communicate using our code. We
      value conciseness and the ability to express a requirement in
      code accurately and efficiently. The less code we write, the
      less that can go wrong.”
     “...You can concentrate on solving the problem at hand,
      instead of struggling with compiler and language issues. That’s
      how it can help become a better programmer: by giving you the
      chance to spend your time creating solutions for your users,
      not for the compiler.”




                                                                                       ah
© 2001 Francesco Cirillo   Improving Software Productivity with XP   XPLabs - S.R.L.
19
Simple Rules - Dee Hock
     “Simple, clear purpose and principles give rise to complex,
      intelligent behavior.”
     “Complex rules and regulations give rise to simple, stupid
      behavior.”




                                                                                       ah
© 2001 Francesco Cirillo   Improving Software Productivity with XP   XPLabs - S.R.L.
20
 References

     Beck00 -Kent Beck, Extreme Programming Explained: Embrace the Change,
      Addison-Wesley, 2000.
     Demarco82 - Tom Demarco, Controlling Software Projects, Yourdon Press,
      1982
     Jacobson92 - Ivar Jacobson, Object-Oriented Software Engineering: A Use
      Case Driven Approach, Addison-Wesley, 1992
     Martin99a - Robert Martin, “Iterative and Incremental Development I”. C++
      Report, February, 1999.
     Martin99b - Robert Martin, “Iterative and Incremental Development II”. C++
      Report, April, 1999.
     Martin99c - Robert Martin, “Iterative and Incremental Development III”. C++
      Report, June, 1999.



                                                                                       ah
© 2001 Francesco Cirillo   Improving Software Productivity with XP   XPLabs - S.R.L.

More Related Content

More from Francesco Cirillo

20080619 Diventare Agili Dalla Università ad un Team Agile @UniRM3 Roma-IT [ITA]
20080619 Diventare Agili Dalla Università ad un Team Agile @UniRM3 Roma-IT [ITA]20080619 Diventare Agili Dalla Università ad un Team Agile @UniRM3 Roma-IT [ITA]
20080619 Diventare Agili Dalla Università ad un Team Agile @UniRM3 Roma-IT [ITA]Francesco Cirillo
 
20080124 XPLabs Tour08 @UniAQ.it L'Aquila-IT [ITA]
20080124 XPLabs Tour08 @UniAQ.it L'Aquila-IT [ITA]20080124 XPLabs Tour08 @UniAQ.it L'Aquila-IT [ITA]
20080124 XPLabs Tour08 @UniAQ.it L'Aquila-IT [ITA]Francesco Cirillo
 
20071201 Eliminare For @JavaDayRoma2 Roma-IT [ITA]
20071201 Eliminare For @JavaDayRoma2 Roma-IT [ITA]20071201 Eliminare For @JavaDayRoma2 Roma-IT [ITA]
20071201 Eliminare For @JavaDayRoma2 Roma-IT [ITA]Francesco Cirillo
 
20071123 XPLabs Tour07 Bonsai @ItalianAgileDay2007 Bologna-IT [ITA]
20071123 XPLabs Tour07 Bonsai @ItalianAgileDay2007 Bologna-IT [ITA]20071123 XPLabs Tour07 Bonsai @ItalianAgileDay2007 Bologna-IT [ITA]
20071123 XPLabs Tour07 Bonsai @ItalianAgileDay2007 Bologna-IT [ITA]Francesco Cirillo
 
20071027 XPLabs Tour Bonsai @LinuxDayRoma2007 Roma-IT [ITA]
20071027 XPLabs Tour Bonsai @LinuxDayRoma2007 Roma-IT [ITA]20071027 XPLabs Tour Bonsai @LinuxDayRoma2007 Roma-IT [ITA]
20071027 XPLabs Tour Bonsai @LinuxDayRoma2007 Roma-IT [ITA]Francesco Cirillo
 
20061028 XPLabs Tour06 Bonsai @LinuxDayRoma2006 Roma-IT [ITA]
20061028 XPLabs Tour06 Bonsai @LinuxDayRoma2006 Roma-IT [ITA]20061028 XPLabs Tour06 Bonsai @LinuxDayRoma2006 Roma-IT [ITA]
20061028 XPLabs Tour06 Bonsai @LinuxDayRoma2006 Roma-IT [ITA]Francesco Cirillo
 
20060703 XP Values and Principles @Essap2006 Varese-IT [ITA]
20060703 XP Values and Principles @Essap2006 Varese-IT [ITA]20060703 XP Values and Principles @Essap2006 Varese-IT [ITA]
20060703 XP Values and Principles @Essap2006 Varese-IT [ITA]Francesco Cirillo
 
20060627 SOA @JavaConference2006 Milano-IT [ITA]
20060627 SOA @JavaConference2006 Milano-IT [ITA]20060627 SOA @JavaConference2006 Milano-IT [ITA]
20060627 SOA @JavaConference2006 Milano-IT [ITA]Francesco Cirillo
 
20051216 Il Prossimo Passo @Italian AgileDay2005 Milano-IT [ITA]
20051216 Il Prossimo Passo @Italian AgileDay2005 Milano-IT [ITA]20051216 Il Prossimo Passo @Italian AgileDay2005 Milano-IT [ITA]
20051216 Il Prossimo Passo @Italian AgileDay2005 Milano-IT [ITA]Francesco Cirillo
 
20050621 Ridurre il Costo del Cambiamento Applicando il Design Object Oriente...
20050621 Ridurre il Costo del Cambiamento Applicando il Design Object Oriente...20050621 Ridurre il Costo del Cambiamento Applicando il Design Object Oriente...
20050621 Ridurre il Costo del Cambiamento Applicando il Design Object Oriente...Francesco Cirillo
 
20040503 Easy Tracking @AICA2004 Milano-IT [ITA]
20040503 Easy Tracking @AICA2004 Milano-IT [ITA]20040503 Easy Tracking @AICA2004 Milano-IT [ITA]
20040503 Easy Tracking @AICA2004 Milano-IT [ITA]Francesco Cirillo
 

More from Francesco Cirillo (11)

20080619 Diventare Agili Dalla Università ad un Team Agile @UniRM3 Roma-IT [ITA]
20080619 Diventare Agili Dalla Università ad un Team Agile @UniRM3 Roma-IT [ITA]20080619 Diventare Agili Dalla Università ad un Team Agile @UniRM3 Roma-IT [ITA]
20080619 Diventare Agili Dalla Università ad un Team Agile @UniRM3 Roma-IT [ITA]
 
20080124 XPLabs Tour08 @UniAQ.it L'Aquila-IT [ITA]
20080124 XPLabs Tour08 @UniAQ.it L'Aquila-IT [ITA]20080124 XPLabs Tour08 @UniAQ.it L'Aquila-IT [ITA]
20080124 XPLabs Tour08 @UniAQ.it L'Aquila-IT [ITA]
 
20071201 Eliminare For @JavaDayRoma2 Roma-IT [ITA]
20071201 Eliminare For @JavaDayRoma2 Roma-IT [ITA]20071201 Eliminare For @JavaDayRoma2 Roma-IT [ITA]
20071201 Eliminare For @JavaDayRoma2 Roma-IT [ITA]
 
20071123 XPLabs Tour07 Bonsai @ItalianAgileDay2007 Bologna-IT [ITA]
20071123 XPLabs Tour07 Bonsai @ItalianAgileDay2007 Bologna-IT [ITA]20071123 XPLabs Tour07 Bonsai @ItalianAgileDay2007 Bologna-IT [ITA]
20071123 XPLabs Tour07 Bonsai @ItalianAgileDay2007 Bologna-IT [ITA]
 
20071027 XPLabs Tour Bonsai @LinuxDayRoma2007 Roma-IT [ITA]
20071027 XPLabs Tour Bonsai @LinuxDayRoma2007 Roma-IT [ITA]20071027 XPLabs Tour Bonsai @LinuxDayRoma2007 Roma-IT [ITA]
20071027 XPLabs Tour Bonsai @LinuxDayRoma2007 Roma-IT [ITA]
 
20061028 XPLabs Tour06 Bonsai @LinuxDayRoma2006 Roma-IT [ITA]
20061028 XPLabs Tour06 Bonsai @LinuxDayRoma2006 Roma-IT [ITA]20061028 XPLabs Tour06 Bonsai @LinuxDayRoma2006 Roma-IT [ITA]
20061028 XPLabs Tour06 Bonsai @LinuxDayRoma2006 Roma-IT [ITA]
 
20060703 XP Values and Principles @Essap2006 Varese-IT [ITA]
20060703 XP Values and Principles @Essap2006 Varese-IT [ITA]20060703 XP Values and Principles @Essap2006 Varese-IT [ITA]
20060703 XP Values and Principles @Essap2006 Varese-IT [ITA]
 
20060627 SOA @JavaConference2006 Milano-IT [ITA]
20060627 SOA @JavaConference2006 Milano-IT [ITA]20060627 SOA @JavaConference2006 Milano-IT [ITA]
20060627 SOA @JavaConference2006 Milano-IT [ITA]
 
20051216 Il Prossimo Passo @Italian AgileDay2005 Milano-IT [ITA]
20051216 Il Prossimo Passo @Italian AgileDay2005 Milano-IT [ITA]20051216 Il Prossimo Passo @Italian AgileDay2005 Milano-IT [ITA]
20051216 Il Prossimo Passo @Italian AgileDay2005 Milano-IT [ITA]
 
20050621 Ridurre il Costo del Cambiamento Applicando il Design Object Oriente...
20050621 Ridurre il Costo del Cambiamento Applicando il Design Object Oriente...20050621 Ridurre il Costo del Cambiamento Applicando il Design Object Oriente...
20050621 Ridurre il Costo del Cambiamento Applicando il Design Object Oriente...
 
20040503 Easy Tracking @AICA2004 Milano-IT [ITA]
20040503 Easy Tracking @AICA2004 Milano-IT [ITA]20040503 Easy Tracking @AICA2004 Milano-IT [ITA]
20040503 Easy Tracking @AICA2004 Milano-IT [ITA]
 

Recently uploaded

VIP Kolkata Call Girl Howrah 👉 8250192130 Available With Room
VIP Kolkata Call Girl Howrah 👉 8250192130  Available With RoomVIP Kolkata Call Girl Howrah 👉 8250192130  Available With Room
VIP Kolkata Call Girl Howrah 👉 8250192130 Available With Roomdivyansh0kumar0
 
Tech Startup Growth Hacking 101 - Basics on Growth Marketing
Tech Startup Growth Hacking 101  - Basics on Growth MarketingTech Startup Growth Hacking 101  - Basics on Growth Marketing
Tech Startup Growth Hacking 101 - Basics on Growth MarketingShawn Pang
 
Lucknow 💋 Escorts in Lucknow - 450+ Call Girl Cash Payment 8923113531 Neha Th...
Lucknow 💋 Escorts in Lucknow - 450+ Call Girl Cash Payment 8923113531 Neha Th...Lucknow 💋 Escorts in Lucknow - 450+ Call Girl Cash Payment 8923113531 Neha Th...
Lucknow 💋 Escorts in Lucknow - 450+ Call Girl Cash Payment 8923113531 Neha Th...anilsa9823
 
A DAY IN THE LIFE OF A SALESMAN / WOMAN
A DAY IN THE LIFE OF A  SALESMAN / WOMANA DAY IN THE LIFE OF A  SALESMAN / WOMAN
A DAY IN THE LIFE OF A SALESMAN / WOMANIlamathiKannappan
 
9599632723 Top Call Girls in Delhi at your Door Step Available 24x7 Delhi
9599632723 Top Call Girls in Delhi at your Door Step Available 24x7 Delhi9599632723 Top Call Girls in Delhi at your Door Step Available 24x7 Delhi
9599632723 Top Call Girls in Delhi at your Door Step Available 24x7 DelhiCall Girls in Delhi
 
Regression analysis: Simple Linear Regression Multiple Linear Regression
Regression analysis:  Simple Linear Regression Multiple Linear RegressionRegression analysis:  Simple Linear Regression Multiple Linear Regression
Regression analysis: Simple Linear Regression Multiple Linear RegressionRavindra Nath Shukla
 
Sales & Marketing Alignment: How to Synergize for Success
Sales & Marketing Alignment: How to Synergize for SuccessSales & Marketing Alignment: How to Synergize for Success
Sales & Marketing Alignment: How to Synergize for SuccessAggregage
 
Insurers' journeys to build a mastery in the IoT usage
Insurers' journeys to build a mastery in the IoT usageInsurers' journeys to build a mastery in the IoT usage
Insurers' journeys to build a mastery in the IoT usageMatteo Carbone
 
Call Girls Navi Mumbai Just Call 9907093804 Top Class Call Girl Service Avail...
Call Girls Navi Mumbai Just Call 9907093804 Top Class Call Girl Service Avail...Call Girls Navi Mumbai Just Call 9907093804 Top Class Call Girl Service Avail...
Call Girls Navi Mumbai Just Call 9907093804 Top Class Call Girl Service Avail...Dipal Arora
 
Mondelez State of Snacking and Future Trends 2023
Mondelez State of Snacking and Future Trends 2023Mondelez State of Snacking and Future Trends 2023
Mondelez State of Snacking and Future Trends 2023Neil Kimberley
 
Best VIP Call Girls Noida Sector 40 Call Me: 8448380779
Best VIP Call Girls Noida Sector 40 Call Me: 8448380779Best VIP Call Girls Noida Sector 40 Call Me: 8448380779
Best VIP Call Girls Noida Sector 40 Call Me: 8448380779Delhi Call girls
 
The Coffee Bean & Tea Leaf(CBTL), Business strategy case study
The Coffee Bean & Tea Leaf(CBTL), Business strategy case studyThe Coffee Bean & Tea Leaf(CBTL), Business strategy case study
The Coffee Bean & Tea Leaf(CBTL), Business strategy case studyEthan lee
 
Unlocking the Secrets of Affiliate Marketing.pdf
Unlocking the Secrets of Affiliate Marketing.pdfUnlocking the Secrets of Affiliate Marketing.pdf
Unlocking the Secrets of Affiliate Marketing.pdfOnline Income Engine
 
Best Basmati Rice Manufacturers in India
Best Basmati Rice Manufacturers in IndiaBest Basmati Rice Manufacturers in India
Best Basmati Rice Manufacturers in IndiaShree Krishna Exports
 
0183760ssssssssssssssssssssssssssss00101011 (27).pdf
0183760ssssssssssssssssssssssssssss00101011 (27).pdf0183760ssssssssssssssssssssssssssss00101011 (27).pdf
0183760ssssssssssssssssssssssssssss00101011 (27).pdfRenandantas16
 
MONA 98765-12871 CALL GIRLS IN LUDHIANA LUDHIANA CALL GIRL
MONA 98765-12871 CALL GIRLS IN LUDHIANA LUDHIANA CALL GIRLMONA 98765-12871 CALL GIRLS IN LUDHIANA LUDHIANA CALL GIRL
MONA 98765-12871 CALL GIRLS IN LUDHIANA LUDHIANA CALL GIRLSeo
 
Monthly Social Media Update April 2024 pptx.pptx
Monthly Social Media Update April 2024 pptx.pptxMonthly Social Media Update April 2024 pptx.pptx
Monthly Social Media Update April 2024 pptx.pptxAndy Lambert
 
Yaroslav Rozhankivskyy: Три складові і три передумови максимальної продуктивн...
Yaroslav Rozhankivskyy: Три складові і три передумови максимальної продуктивн...Yaroslav Rozhankivskyy: Три складові і три передумови максимальної продуктивн...
Yaroslav Rozhankivskyy: Три складові і три передумови максимальної продуктивн...Lviv Startup Club
 

Recently uploaded (20)

VIP Kolkata Call Girl Howrah 👉 8250192130 Available With Room
VIP Kolkata Call Girl Howrah 👉 8250192130  Available With RoomVIP Kolkata Call Girl Howrah 👉 8250192130  Available With Room
VIP Kolkata Call Girl Howrah 👉 8250192130 Available With Room
 
Tech Startup Growth Hacking 101 - Basics on Growth Marketing
Tech Startup Growth Hacking 101  - Basics on Growth MarketingTech Startup Growth Hacking 101  - Basics on Growth Marketing
Tech Startup Growth Hacking 101 - Basics on Growth Marketing
 
Lucknow 💋 Escorts in Lucknow - 450+ Call Girl Cash Payment 8923113531 Neha Th...
Lucknow 💋 Escorts in Lucknow - 450+ Call Girl Cash Payment 8923113531 Neha Th...Lucknow 💋 Escorts in Lucknow - 450+ Call Girl Cash Payment 8923113531 Neha Th...
Lucknow 💋 Escorts in Lucknow - 450+ Call Girl Cash Payment 8923113531 Neha Th...
 
A DAY IN THE LIFE OF A SALESMAN / WOMAN
A DAY IN THE LIFE OF A  SALESMAN / WOMANA DAY IN THE LIFE OF A  SALESMAN / WOMAN
A DAY IN THE LIFE OF A SALESMAN / WOMAN
 
9599632723 Top Call Girls in Delhi at your Door Step Available 24x7 Delhi
9599632723 Top Call Girls in Delhi at your Door Step Available 24x7 Delhi9599632723 Top Call Girls in Delhi at your Door Step Available 24x7 Delhi
9599632723 Top Call Girls in Delhi at your Door Step Available 24x7 Delhi
 
Regression analysis: Simple Linear Regression Multiple Linear Regression
Regression analysis:  Simple Linear Regression Multiple Linear RegressionRegression analysis:  Simple Linear Regression Multiple Linear Regression
Regression analysis: Simple Linear Regression Multiple Linear Regression
 
Sales & Marketing Alignment: How to Synergize for Success
Sales & Marketing Alignment: How to Synergize for SuccessSales & Marketing Alignment: How to Synergize for Success
Sales & Marketing Alignment: How to Synergize for Success
 
VVVIP Call Girls In Greater Kailash ➡️ Delhi ➡️ 9999965857 🚀 No Advance 24HRS...
VVVIP Call Girls In Greater Kailash ➡️ Delhi ➡️ 9999965857 🚀 No Advance 24HRS...VVVIP Call Girls In Greater Kailash ➡️ Delhi ➡️ 9999965857 🚀 No Advance 24HRS...
VVVIP Call Girls In Greater Kailash ➡️ Delhi ➡️ 9999965857 🚀 No Advance 24HRS...
 
Insurers' journeys to build a mastery in the IoT usage
Insurers' journeys to build a mastery in the IoT usageInsurers' journeys to build a mastery in the IoT usage
Insurers' journeys to build a mastery in the IoT usage
 
Call Girls Navi Mumbai Just Call 9907093804 Top Class Call Girl Service Avail...
Call Girls Navi Mumbai Just Call 9907093804 Top Class Call Girl Service Avail...Call Girls Navi Mumbai Just Call 9907093804 Top Class Call Girl Service Avail...
Call Girls Navi Mumbai Just Call 9907093804 Top Class Call Girl Service Avail...
 
Mondelez State of Snacking and Future Trends 2023
Mondelez State of Snacking and Future Trends 2023Mondelez State of Snacking and Future Trends 2023
Mondelez State of Snacking and Future Trends 2023
 
Best VIP Call Girls Noida Sector 40 Call Me: 8448380779
Best VIP Call Girls Noida Sector 40 Call Me: 8448380779Best VIP Call Girls Noida Sector 40 Call Me: 8448380779
Best VIP Call Girls Noida Sector 40 Call Me: 8448380779
 
The Coffee Bean & Tea Leaf(CBTL), Business strategy case study
The Coffee Bean & Tea Leaf(CBTL), Business strategy case studyThe Coffee Bean & Tea Leaf(CBTL), Business strategy case study
The Coffee Bean & Tea Leaf(CBTL), Business strategy case study
 
Unlocking the Secrets of Affiliate Marketing.pdf
Unlocking the Secrets of Affiliate Marketing.pdfUnlocking the Secrets of Affiliate Marketing.pdf
Unlocking the Secrets of Affiliate Marketing.pdf
 
Forklift Operations: Safety through Cartoons
Forklift Operations: Safety through CartoonsForklift Operations: Safety through Cartoons
Forklift Operations: Safety through Cartoons
 
Best Basmati Rice Manufacturers in India
Best Basmati Rice Manufacturers in IndiaBest Basmati Rice Manufacturers in India
Best Basmati Rice Manufacturers in India
 
0183760ssssssssssssssssssssssssssss00101011 (27).pdf
0183760ssssssssssssssssssssssssssss00101011 (27).pdf0183760ssssssssssssssssssssssssssss00101011 (27).pdf
0183760ssssssssssssssssssssssssssss00101011 (27).pdf
 
MONA 98765-12871 CALL GIRLS IN LUDHIANA LUDHIANA CALL GIRL
MONA 98765-12871 CALL GIRLS IN LUDHIANA LUDHIANA CALL GIRLMONA 98765-12871 CALL GIRLS IN LUDHIANA LUDHIANA CALL GIRL
MONA 98765-12871 CALL GIRLS IN LUDHIANA LUDHIANA CALL GIRL
 
Monthly Social Media Update April 2024 pptx.pptx
Monthly Social Media Update April 2024 pptx.pptxMonthly Social Media Update April 2024 pptx.pptx
Monthly Social Media Update April 2024 pptx.pptx
 
Yaroslav Rozhankivskyy: Три складові і три передумови максимальної продуктивн...
Yaroslav Rozhankivskyy: Три складові і три передумови максимальної продуктивн...Yaroslav Rozhankivskyy: Три складові і три передумови максимальної продуктивн...
Yaroslav Rozhankivskyy: Три складові і три передумови максимальної продуктивн...
 

20011119 XPLabs Tour01 @UniParma Parma-IT [ITA]

  • 1. Improving Software Productivity with eXtreme Programming Francesco Cirillo Director, XPLabs - s.r.l. Coordinator, XPLabs Consortium francesco.cirillo@xplabs.com ah © 2001 Francesco Cirillo Improving Software Productivity with XP XPLabs - S.R.L.
  • 2. 2 The XP Answer  To be effective today, the development process must allow customers to maximize business opportunities:  by enabling them to identify new ones;  by ensuring a return on their investment as early and frequently as possible; and  by allowing them to make changes when they feel the need.  In this scenario, the production function implicit in the work of the development team must make it possible to minimize the cost of change ah © 2001 Francesco Cirillo Improving Software Productivity with XP XPLabs - S.R.L.
  • 3. 3 We Need Feedback  “We need to control the development of software by making many small adjustments, kind of like driving a car. This means that we will need the feedback to know when we are a little off, we will need many opportunities to make corrections, and we will have to be able to make those corrections at a reasonable cost” (Beck00, p. 27)  “Driving is not about getting the car going in the right direction. Driving is about constantly paying attention, making a little correction this way, a little correction that way” (Beck00, p. 27) ah © 2001 Francesco Cirillo Improving Software Productivity with XP XPLabs - S.R.L.
  • 4. 4 Navigation Story  The first story is that of a payroll employee who has to answer questions about paychecks.  “Hello, payroll support here.”  I just got my paycheck, and I want to know why I received $1500 this month and only $1000 last month.”  “Well, sir, I see that you got a raise on the first of this month.”  “I got that raise last month.”  “I’m sorry about that. I see that the raise wasn’t recorded in out system until this month. We adjusted your paycheck to reflect the increase. You should receive $1250 per month from now on.” ah © 2001 Francesco Cirillo Improving Software Productivity with XP XPLabs - S.R.L.
  • 5. 5 Enumeration Story  The second story is that of an employee who needs lots of changes.  “Hello, payroll support here.”  “I would like to increase my deductions to 6, effectively immediately.”  “Certainly.”  Two days later:  “Hello, payroll support here.”  “I would like to take the additional life insurance coverage we were offered.”  “Certainly. That will be in force as of today. You will notice a half- month’s deduction in your next paycheck. Thereafter the deduction will be $55.” ah © 2001 Francesco Cirillo Improving Software Productivity with XP XPLabs - S.R.L.
  • 6. 6 Enumeration Story  Three days later:  “Hello, payroll support here.”  “I would like to begin contributing 5% of my wages every month to the United Way.”  “Certainly. Since this is a monthly deduction, you will see a full month’s deduction on your next paycheck.”  At the end of the month, the paycheck is correctly computed automatically. ah © 2001 Francesco Cirillo Improving Software Productivity with XP XPLabs - S.R.L.
  • 7. 7 Binary Deliverables  “Tom Demarco said of project management: ‘Your project, the whole project, has a binary deliverable. On scheduled completion day, the project has either delivered a system that is accepted by the user, or it hasn’t. Everyone knows the result on that day’ (Demarco82)” (Martin99b)  “The object of building a project model is to divide the project into component pieces, each of which has this same characteristic: Each activity must be defined by a deliverable with objective completion criteria. The deliverables are demonstrably done or not done” (Martin99b) ah © 2001 Francesco Cirillo Improving Software Productivity with XP XPLabs - S.R.L.
  • 8. 8 Binary Deliverables (continue)  “So a binary deliverable is a deliverable that has one of two states: done or not-done. Clearly Analysis and Design are not binary deliverables. They can never be shown to be complete. On the other hand, what better binary deliverable could we have than a piece of code that executes according to stated requirements?” (Martin99b)  What about the iterative and incremental development?  “When we begin an iterative and incremental development (IID), our first goal is to subdivide the project into binary deliverables. Those binary deliverables are defined as executing segments of the overall project” (Martin99b) ah © 2001 Francesco Cirillo Improving Software Productivity with XP XPLabs - S.R.L.
  • 9. 9 Mayo’s Contributions  The contributions of the Mayo school can be summed up in the following conclusions:  Productivity of personnel and of the organization, beyond the physical conditions of the workers and of the work environment, depends on the conditions of the social environment that exists and of the spontaneous cooperation that develops  Non-monetary incentives are of the utmost importance in order to reach a satisfactory level of productivity  High-level specialization is not the most efficient way to assign tasks  Personnel doesn’t manifest exclusively individual behavior, but also group behavior ah © 2001 Francesco Cirillo Improving Software Productivity with XP XPLabs - S.R.L.
  • 10. 10 Mayo’s Contributions (continue)  The small spontaneous group that makes up an informal organization serves to satisfy the need to belong and is a source of positive influence on morale and productivity  The small, spontaneous group is highly productive and motivated, as long as the complexity of the tasks assigned to it isn’t excessive. Maslow in fact, explains with his infamous curve, that people become demotivated when facing too complex a task, get extremely motivated by complex but doable assignments, and again demotivated by complex and un-doable tasks  Motivation, furthermore, seems to increase with an increase in results obtained (objectives reached). A high frequency of deliverables most certainly increases said motivation ah © 2001 Francesco Cirillo Improving Software Productivity with XP XPLabs - S.R.L.
  • 11. 11 Have you ever been asked to work free overtime?  Let’s try to answer in a more complete way. Let’s suppose we follow the Human Relation school of tought. How much does working overtime for free increase my team motivation and hence its productivity?  Not too much, eh? Just imagine working overtime on impossible tasks (remember what Maslow says…) ah © 2001 Francesco Cirillo Improving Software Productivity with XP XPLabs - S.R.L.
  • 12. 12 Have you ever been asked to work free overtime?  But, why should we work overtime?  To be a good team it doesn’t necessarily means to be fast, but to take the time estimated (expected) to accomplish a given task. But to do that you have to know how you work/are working and you must be experienced  Many project managers accept impossible deadlines to do. Eventually this brings the request for overtime  But consistently working overtime reduces motivation, self- esteem and in this way slows productivity and makes it impossible to do high quality work ah © 2001 Francesco Cirillo Improving Software Productivity with XP XPLabs - S.R.L.
  • 13. 13 Have you ever been asked to work free overtime?  Working overtime is considered acceptable for one or two weeks at most before we see the drawbacks I’ve mentioned  Project managers and project leaders are good at their work when they can estimate the right time to do things, and know how to say no when customers ask impossible things. (To say no you have to know that it IS impossible…) ah © 2001 Francesco Cirillo Improving Software Productivity with XP XPLabs - S.R.L.
  • 14. 14 On the other hand...  On the other hand, we find Scientific Management (Taylorism).  Translated in software development, Taylorism could say if you don’t produce I’ll fire you, if we need to reduce costs we pay less, if we need to produce more with low costs we’ll hire at lower rates.  Taylorism showed us how to create tensions, how to alienate, demotivate, and exploit hundreds of workers in a factory ah © 2001 Francesco Cirillo Improving Software Productivity with XP XPLabs - S.R.L.
  • 15. 15 Quality Assurance  Three themes are central to quality assurance:  Quality is everybody’s business  Quality must be an early focus of a project  The best way to achieve quality is to build it in ah © 2001 Francesco Cirillo Improving Software Productivity with XP XPLabs - S.R.L.
  • 16. 16 Correct By Construction - Cantor  “The premise is that if the documentation is sufficiently detailed and found to be correct by the customer, then the project is correct by construction. The developers only need build what has been documented.”  “...This approach is defocusing; it adds risks and expense to the project. Since the entire success of the project depends on correct documents, the customer and the developer focus their attention on the documentation, not the project. An unreasonable amount of effort may be spent in the attempt to create a correct diagram. In fact, so much of the project’s budget can be spent trying to finish the flawless design that the project may be canceled before the software is coded.” ah © 2001 Francesco Cirillo Improving Software Productivity with XP XPLabs - S.R.L.
  • 17. 17 Correct By Construction - Cantor  “...Experience has also shown that no amount of formal process, checkpoints, or design review can completely eliminate the risk of delivering a nonoperational system.”  “To ensure this (maintain an ongoing dialog) develop a common vocabulary to discuss the system specifications in a way the customer can understand. Assess whether this project will serve his or her needs. This will drive the design process. As the project proceeds, the customer’s understanding of the program will evolve. Only by taking advantage of the increased understanding can you and the customer ensure that what is delivered is acceptable.” ah © 2001 Francesco Cirillo Improving Software Productivity with XP XPLabs - S.R.L.
  • 18. 18 Our job... - Thomas  “Our job is to solve problems, not spoonfeed compilers...”  “We need clarity so we can communicate using our code. We value conciseness and the ability to express a requirement in code accurately and efficiently. The less code we write, the less that can go wrong.”  “...You can concentrate on solving the problem at hand, instead of struggling with compiler and language issues. That’s how it can help become a better programmer: by giving you the chance to spend your time creating solutions for your users, not for the compiler.” ah © 2001 Francesco Cirillo Improving Software Productivity with XP XPLabs - S.R.L.
  • 19. 19 Simple Rules - Dee Hock  “Simple, clear purpose and principles give rise to complex, intelligent behavior.”  “Complex rules and regulations give rise to simple, stupid behavior.” ah © 2001 Francesco Cirillo Improving Software Productivity with XP XPLabs - S.R.L.
  • 20. 20  References  Beck00 -Kent Beck, Extreme Programming Explained: Embrace the Change, Addison-Wesley, 2000.  Demarco82 - Tom Demarco, Controlling Software Projects, Yourdon Press, 1982  Jacobson92 - Ivar Jacobson, Object-Oriented Software Engineering: A Use Case Driven Approach, Addison-Wesley, 1992  Martin99a - Robert Martin, “Iterative and Incremental Development I”. C++ Report, February, 1999.  Martin99b - Robert Martin, “Iterative and Incremental Development II”. C++ Report, April, 1999.  Martin99c - Robert Martin, “Iterative and Incremental Development III”. C++ Report, June, 1999. ah © 2001 Francesco Cirillo Improving Software Productivity with XP XPLabs - S.R.L.