• Post Reply Bookmark Topic Watch Topic
  • New Topic
programming forums Java Mobile Certification Databases Caching Books Engineering Micro Controllers OS Languages Paradigms IDEs Build Tools Frameworks Application Servers Open Source This Site Careers Other all forums
this forum made possible by our volunteer staff, including ...
Marshals:
  • Campbell Ritchie
  • Liutauras Vilda
  • Tim Cooke
  • Jeanne Boyarsky
  • Bear Bibeault
Sheriffs:
  • Knute Snortum
  • paul wheaton
  • Devaka Cooray
Saloon Keepers:
  • Tim Moores
  • Stephan van Hulst
  • Ron McLeod
  • Piet Souris
  • Ganesh Patekar
Bartenders:
  • Tim Holloway
  • Carey Brown
  • salvin francis

Head First Agile: Which comes first, Practice or Mindset?

 
Sheriff
Posts: 13708
227
Android Mac IntelliJ IDE Eclipse IDE Spring Debian Ubuntu Java Linux
  • Likes 1
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
In the section on XP, the authors wrote:

... when the code is easy to modify, programmers don’t feel the need to resist change. That’s why XP has practices and values that are focused on programming. Because these practices help teams build code that’s easier to modify, XP helps them reach a mindset where they embrace change instead of resisting it. XP helps them reach a mindset where they embrace change instead of resisting it.



The last sentence implies that practice comes before mindset. I'm not so sure that's the case.

I think the motivation to adopt the XP practices of pair programming, refactoring, and automated unit testing came from a mindset of wanting to be better able to adapt to changing requirements. Kent Beck's big thing about XP was that of eliminating fear. Unit tests give you more confidence that your code works. You don't have to be afraid of inadvertently breaking your code and introducing a bug. The tests will tell you if you messed up. Refactoring gives you more confidence in the code because well-factored code is easier to understand. When you have little understanding of the code and its design, you are more fearful of making changes to it. Pair programming gives you confidence that there are more people on the team who share the same understanding of the code and design. You eliminate fear at the team level through pair/mob programming because your team's bus number is higher.

There are other ways you can eliminate fear but the technical practices like refactoring, unit testing, and pairing proved to be the more effective techniques to achieve that state. So, I think it started with a mindset of wanting to be courageous about making changes and eliminating fear that led to choosing to adopt the practices that addressed the problems related to fear and resistance to change, and that allowed teams and individuals to get to a state of not being fearful of making changes.
 
Junilu Lacar
Sheriff
Posts: 13708
227
Android Mac IntelliJ IDE Eclipse IDE Spring Debian Ubuntu Java Linux
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
On the other hand, even if you start out with a fearful and apprehensive mindset that resists change, if you start slowly doing refactoring, unit-testing, then full-blown TDD, you can slowly build up confidence and develop a more courageous mindset. I guess it could work either way depending on how you look at it.
 
crispy bacon. crispy tiny ad:
professionally read, modify and write PDF files from Java
https://products.aspose.com/pdf/java
  • Post Reply Bookmark Topic Watch Topic
  • New Topic
Boost this thread!