|
Red Squirrel Reflections
Dave Hoover explores the psychology of software development
|
Yesterday I read an article by Dee Hock on Chaordic Leadership. It was excellent. Definitely an article that I will need to re-read over the years.
Today I read an article by Jim Highsmith on Agile Software Development. It referenced Dee's chaordic perspective and once again threw the parallels between Agile Software Development and Narrative Therapy back in my face. Jim talked about how individuals and teams cannot possibly know it all, just as a therapist cannot hope to grasp the entirety of a client's experience. In these overwhelmingly complex situations, it is the ability to take a "not knowing" perspective and collaborate rather than dictate that leads to improvements.
I know I'm on the right track.
To Be a CoachAs the current project progresses, I appreciate the direction I have taken in my studies. Although I feel like I'm on an emotional roller coaster at times, I believe this is simply due to my inexperience. When I reflect back on the interactions among the team, I am encouraged. I am shocked that I could actually make some legitimate progress at my current place of work toward becoming an XP Coach, the job that I want to spend the next ten years refining.
Integrations and PreparationsI have officially completed the development on my first Java project. Everything looks good so far. Struts was an excellent framework to work from. It was a good experience and I learned about myself in the process. I need to have patience. I need to have humility. I need to love my teammates first and foremost.
The preparations for the next project have already begun. Analyst-types are doing some BDUF, but I am pushing up from the bottom to get things rolling and involve the customer in the process. I need to focus on optimizing the workspace and solidify which IDE we will be using.
Perfect TimingI finished Peopleware yesterday. What an awesome book! The books I have been reading lately are timed perfectly with the challenges I face in the coming months. I started Extreme Programming Applied and although I'm still in the preface, I see that this book will be a blessing. Ken and Roy are amazing people and share my faith in Jesus.
The more that time goes by, the more I see that my niche will most definitely not be in any specific technology or application of computer science, but in the dynamics and interactions of the teams that create software. This is what I am passionate about.
Fear is the MindkillerWe had a preliminary meeting yesterday with some of the development team. I was excited about getting together. My Excitement didn't last long, though. As soon as the first obstacle was exposed (different goals for IT and the Customer), Fear rushed back in.
In Philippians 4:6, Paul wrote, "Do not be anxious about anything, but in everything, by prayer and petition, with thanksgiving, present your requests to God." Frank Herbert, author of Dune, wrote, "I must not fear. Fear is the mindkiller." I think I need to keep both of these quotes close at hand. I think I'll try to memorize them.
I awoke early this morning with thoughts of failure dancing in my head. The developers will reject the practices. Management won't give us the support we need to be successful with the practices. The project manager will quietly start the project without introducing the practices. I will be unable to effectively demonstrate test-first in Dynamo.
Enough! I will not be driven by fear. Building relationships is the number one priority right now. I will also ask if I can start setting up the development environment with a partner.
Waking HolgarI had breakfast with Wyatt this morning. He inspires me.
In the upcoming e-commerce project, I have allowed my project manager's fear about developer acceptance of the selected XP practices to infect me. My lack of experience has also given this fear a foothold, telling me that the team won't respect my opinions. Wyatt pushed me to introduce stories, tasks, and iterations as well.
On the train ride after breakfast, I was reading Peopleware and read something that opened my eyes to how this change might be possible:
"Making that single change is a tall order for one person. If you've got second thoughts about throwing yourself into the fray, it's only natural...A single person acting alone is not likely to effect any meaningful change. But there's no need to act alone. When something is terribly out of kilter...it takes very little to raise people's consciousness of it. Then it's no longer just you. It's everyone."
I need to begin now to foster an elite attitude in this team. I need to begin developing meaningful relationships with my teammates. The only way these changes will be implemented is if they trust me, and accept the practices as their own. Or, more to the point, as our own.
Ignorable WorkspaceI am continuing to devour Peopleware. Most of the recent chapters have dealt with creating a workspace that is ignorable. They quoted Christopher Alexander several times which inspired me to move A Pattern Language up a bit higher on my reading list. One of many quotes that reminded me of Alistair Cockburn's Agile Software Development:
"As long as workers are crowded into noisy, sterile, disruptive space, it's not worth improving anything but the workspace."
This gives me hope for our upcoming project. The director over the project informed me on Monday that we will definitely be working in one room together.
Going to MiamiI have the opportunity to go to ATG Open in Miami next month. I'm taking Staci with me. I'm only semi-interested in the conference since I have very little experience with Dynamo thus far, although they do have an interesting Agile seminar: XP: Writing Tests First in Dynamo.
Mostly, I am excited about the chance to (cheaply) get away with Staci, particularly someplace warm. It should be a lot of fun.
PeoplewareI started reading Peopleware last night and have read a few more chapters today. With the many excellent books that I have read in the last two years, I wasn't expecting this one to hit me so profoundly, I'm only 20 pages in and already have an entire page of favorite quotes! Here's my favorite so far:
"The major problems of our work are not so much technological as sociological in nature."
The book is written for project managers, more so than any other book I have read. Perhaps this is why I am surprised at how much it has already impacted me. It confirms to me the direction I am headed: that of a technical lead, a player/coach.
Learning about VelocityOn November 10, I stated, "Our velocity has us hitting the mark a week late." Throughout the project I had informally tracked our velocity using a point system. Over seven weeks we averaged 5.3 points per week. With two weeks left, I estimated we had 15 points remaining and thus predicted completing the project a week late.
It is absolutely uncanny how accurate this prediction was. With a mere 30 minutes to spare, I just finished the final story for the deadline, exactly one week late. What a way to learn about Yesterday's Weather!
It is interesting to note the consistency of the project velocity, particularly when considering the number of developers on the project ranged from 1-3. The project started with two, another one came on three weeks in, and then after two weeks, left. The last week I worked alone. It's interesting how little the personnel changes affected the velocity. Here are the points completed per week:
4 - 5 - 5 - 7 - 6 - 5 - 5
This was an excellent learning experience in so many ways. I am already excited about our upcoming e-commerce project!
RisingHad an excellent meeting with my boss at work to go over my performance since starting my current position in mid-August. It went very well and next year could have some fun developments. He continues to remind me that the XP practices may not work out, although he is still very interested in trying. He is very much a pragmatist: a good thing.
My concern is that I move too high too fast and trap myself here. I suppose as long as I am learning and enjoying myself, oh, and getting paid some money, I should just be happy and ambitious and go as high as I can while still spending 90% of my time coding software.
In Over my Head, AgainOnce I got management buy-in on several XP practices for our upcoming project, I tried to push to have an XP expert come in to help us for the first week or so. That idea has been nixed. Furthermore, it appears that I will be put forth as the XPert for our project. Dare I say coach? Gulp.
It's a good thing I've got an excellent lineup of books in the queue: The Pragmatic Programmer, Peopleware, Principles, Patterns, and Practices of Agile Software Development, Extreme Programming Applied, and Java Tools for Extreme Programming. I have a feeling I will be drawing on my friends and colleagues in the Agile community quite a bit in the year ahead...
Meyer on WeinbergContinuing to read The Pragmatic Programmer and enjoying it. To jog my memory, I skimmed the first chapter of The Psychology of Computer Programming. What a wonderful book that is. I see that much of The Psychology of Agile Software Development will imitate and grow out of Weiberg's book. I am reminded of Bertrand Meyer's words:
"The best way to create is by imitation, refinement and combination."
By combining Weinberg's Psychology, Cockburn's Agility, and White and Epston's Narrative, something novel may emerge.
Inspired in SeattleMy family and I spent last week in Redmond with my parents for the holiday. I'm not sure if it was watching The Fellowship of the Ring a couple times, or if it was being back on the West Coast, or if it was just getting out of my routine, but I came home inspired and determined to write the book that has been on my mind: The Psychology of Agile Software Development.
I'd like to publish it before I turn 40. Until then, I'm going to read, journal, evangelize and continue to interact closely with the agile community.
Powered by Greymatter