EditATL ALT.NET Pub Night at Thinking Man Tavern
We had a great first Pub Night at Thinking Man Tavern in Decatur for the
ATL ALT.NET Pragmatic Programmers Meetup Group!
This was very informal, collaborative, and produced a lot of great ideas and topics for future focused sessions. Here is a recap.
EditThe New New Product Development Game
First, as background, we discussed a little bit about the history of scrum and agile. Learn more about them by reading the following links and watching the following videos:
Ken Schwaber and Jeff Sutherland pioneered the formalization of scrum for software development. They based it on a lot of the ideas from lean thinking and lean manufacturing that came out of Japanese companies in the 1980s. Learn more here:
Nativity Scene: How Scrum was BornKen Schwaber at
Google discussing Scrum:
Jeff Sutherland presenting a retrospective at Google about their AdWords mega-billion dollar software system which is managed by scrum.
In this video he states something like the following at one point:
"The Takeuchi and Nonaka Paper from 1986
still tells you how to set up a team and empower them to perform at hyperproductive levels to knock out the competition.
READ THE TAKEUCHI AND NONAKA PAPER!":
The New New Product Development Game (PDF)The New New Product Development Game (Harvard Business Review)
EditQuick Recap
Here's a quick meetup recap:
.NET software community, the
'Writing is On the Wall'!
Kaikaku now! Kaizen always! Check out this photo from our event:
http://dotnet.meetup.com/134/photos/402755/These are the things our members want to achieve, the problems they face, and some of the resources they are finding useful in accomplishing their goals. More on this below.
EditDetailed Recap
We discussed a lot of great topics and made comments and/or raised questions about each.
- Agile project tracking tools like Version One, Mingle : which is best for local teams, which for distributed teams?
- The upcoming Agile Project Leadership Network Leadership Summit : good for managers and team leads to learn from peers.
- Test-Driven-Development and building quality in from the start rather than inspecting for bugs later : key principle of lean thinking and XP.
- The Wastes of Software Development (Lean Thinking) : eliminate wasteful activities that don't deliver value or help assure quality.
- NHibernate and the slogan, "ALT.NET - Porting Java Libraries One by One!" : there are many tools to help us, how can we come up to speed on the best and most appropriate?
- Outsourcing and quality : how do American companies compete with offshoring or even local people who say they will charge less, but do no unit testing or automated acceptance testing?
- Agile estimation and project planning, fixed-price contracts and time & materials : Mike Cohn's user stories and agile estimation and planning books, breaking down projects into fixed delivery dates and smaller functional packages.
- How much FUN agile and scrum are for managers and developers: you get to deliver value constantly, day after day, and you get to sleep because testing is done up front and on a continuous basis. You can test without a database by using mocks and test data stubs.
- XP and Pair-programming : It makes programmers work harder and deviver value more quickly because one developer writes the unit and acceptance tests while the other one writes the implementation code sitting at one work space. This keeps them focused and helps them share domain knowledge continuously.
These are the main things I remember. If I'm missing things, please add to this.
EditGoals and Tolls Exercise
We played an exercise I call "Goals and Tolls". That is, we all have a lot of goals to achieve, but there are tolls to pay before we can achieve those goals.
The task is:
- Write down three goals you want to achieve related to software development and, for each goal, a corresponding barrier, or toll, that you face.
- After writing those, write the name of a book, web site, or other resource you find useful that you think will help others here based on the conversation we had tonight.
EditParticipant 1
- Goal: Quicker delivery
- Toll: Too many "one offs"
- Goal: Better quality
- Toll: Resistance to time given to building in quality
- Goal: Better user experience
- Toll: Lack of user interaction
Helpful Resource:
http://www.mountaingoatsoftware.com - Mike Cohn's web site
EditParticipant 2
Goal: Master .NET 3.5
Goal: Better estimate software construction duration
Goal: Understand the best ways to do things
Toll: Cutting through the forest of information on the web!
Helpful Resource: Programming the 6502 by Rodney Zaks (BACK TO THE BASICS BABY!)
http://www.amazon.com/Programming-6502-Rodnay-Zaks/dp/0895880466
EditParticipant 3
- Goal: I want to deliver great software
- Toll: Collecting data that proves it is great
- Goal: I want to bring sanity to software
- Toll: Finding the companies to help
- Goal: I want to spread the word about agile
- Toll: Enough venues for talking
Helpful Resource: eXtreme Programming eXplained : Embrace Change by Kent Beck
http://www.amazon.com/Extreme-Programming-Explained-Embrace-Change/dp/0201616416 - Kent Beck's landmark that explains the core of XP
EditParticipant 4
Goal: Help organizations organize around teams, not projects
Goal: Help PMs understand how to manage people not projects
Goal: Improve understanding of agile roadmapping
Toll: Poor management mentoring -- owners should mentor managers
Helpful Resource:
http://www.manager-tools.com - Most popular management podcast for self-improvement
EditParticipant 5
- Goal: Deliver value to customer and ROI to company faster w/ Agile
- Toll: Overcoming entrenched ideas and traditional ways of thinking to convince management to "give it a try"
- Goal: Implement Automated Unit & Regression Tests to speed development
- Toll: Learning the best way in .NET to do this (NUnit, MbUnit, TypeMock, Moq, RhinoMocks, etc)
- Goal: Expand knowledge of TDD and other XP practices
- Toll: How to do this while attending to the realities of everday tasks still on the backlog
Helpful Resource:
http://www.infoq.com/scrum
EditParticipant 6
- Goal: Embrace Red -> Green -> Refactor
- Toll: Discipline to writing failing test first
- Goal: Use mocking frameworks to help unit testing
- Toll: Use my mock on new project
- Goal: Community skills enhancement
- Toll: Making time to continue attending more events like this!
Helpful Resource: Code Complete, by Steve McConnell, the classic text -
http://www.cc2e.com/