Tag Archives: Agile

Agile Groupies at SRT (next week)

Once upon a time (last week), the Agile Groupies thought that they were going to be able to do 2 meetings in 2 weeks, both at SRT’s offices. One meeting would be held on Tuesday, March 13 and the second would be held on Tuesday, March 20.

Unfortunately, the speaker for this week had to postpone his talk (I’m sure it will be re-scheduled) but you can still meet with the Agile Groupies this month. Next Tuesday, Lyudmila Mishra and Anil Varre will be talking about Continuous Delivery. Join the Agile Groupies at 6 pm for dinner (pitch in for food). The meeting will be held at SRT Solutions, 206 S. Fifth Ave., Suite 200, Ann Arbor, MI 48104.

SRT Solutions is located at the corner of Fifth Avenue and Washington in downtown Ann Arbor, and access is from Fifth. Take the elevator (or the stairs) to the 2nd floor.  The closest parking structure is at Fourth and William garage, convenient if you can’t find street parking.

Agile Leaders Panel Discussion at Agile and Beyond Conference

The Agile and Beyond Conference was held today at the Henry Ford Conference Center in Dearborn. Marvin Toll and a dedicated group of volunteers, including Tom Kubit (Gene Codes Forensics) and Nayan Hajratwala (Chikli Consulting), and many others worked hard to put on this conference and they did an amazing job.  Mary Poppendieck is one of my favorite speakers, and she keynoted today, talking about the challenges ahead for the software industry. She promised to share her slides, and I will definitely post a link when they are made available.

I was invited to moderate a panel of agile entrepreneurs from our area.  We had a great panel, made up of Carl Erickson, Gary Gentry, Jon Stahl, and Rich Sheridan.  These guys could talk forever, and we had no shortage of questions.  People submitted many questions prior to the event on a google moderator group.  But what really made the panel discussion interesting (for me, at least) was the audience.  This audience was engaged and interested in asking questions.  They were also enthusiastic to share their own stories and challenges, which of course would have made a great open spaces discussion (Tom Kubit was managing open spaces at this conference).  We had people 2 and 3-deep waiting to ask questions throughout the discussion.  I was really pleased with the participation.

I took some notes during the panel discussion …

  • There were a lot of similarities and some differences among the way our panelists manage their companies. Half of the panelists have dedicated project managers on their agile projects, while the other half use team leads who split their time between development, customer management, and reporting.
  • Pretty much everyone agreed that the key to successful projects lies in engaging the business and validating assumptions throughout.
  • There was significant discussion around fixed bid projects and their relationship to agile. Carl Erickson described his process as similar to one that we’ve encountered, that being fixed budget, scope-controlled projects.  I’ll follow up with a blog post about that in more detail soon, because this is a fascinating topic that can’t be adequately described in a paragraph.
  • There was some discussion around cross-team waste, particularly when teams are distributed.
  • The audience participants expressed significant concern around getting their business leaders involved in the (agile) software development process. Earning the respect of the business was deemed critical to success, as was addressing their pain.  And several of the panelists admitted that some organizations are not ready to change, or willing to expose weaknesses in their structure or process.

We didn’t get to all of the questions on the list, but an ongoing dialog, particularly in open spaces, is likely more effective anyhow.  One question that I wanted to ask, was what changes each of the panelists had made in their processes in the past year.  Were they significant? What were they in response to?  How were they met, but customers and employees alike?

I enjoyed the panel discussion and I hope that the audience (and panelists) did as well.  I’m looking forward to what will happen before next year’s conference!

Finally: a CodeMash trip report (and some upcoming community events too)

Finally starting to feel a bit human after CodeMash.  While I scaled back my volunteer time this year, SRT was still pretty busy at the conference this year, with scaling up to a Platinum sponsorship and MobiMash! But I found a lot of time to attend sessions this year, which was great.  It's been a few weeks since the conference, but I did want to highlight some of my favorite moments.

During the precompiler, I went to Ruby Koans, given by Jim Weirich and Joe O'Brien.  What a great way to learn!  Joe and Jim even brought a little humor to their teaching, with the exercises reflecting "enlightenment".  Love those guys! I completed my precompiler day with Mary Poppendieck's workshop on Competency and Leadership in Software. I worked with a small group, created a fictitious company that we could use to analyze for effectiveness. Great fun! Very instructive!  I've been fortunate enough to spend some time with Mary and Tom during 3 of the last 4 CodeMash events.  I definitely hope that they make it next year!

For the Wednesday night panel discussion, the Java Posse invited Bill Wagner (representing C#) and Chris Smith (representing F#) to join them.  It was a great group, with lots of interesting discussion.

The variety of talks at CodeMash this year was impressive.  Jim Weaver's JavaFX demo was thought-provoking, and I suspect that Bill Venners' Scalatest demo spoke to more than just Java developers.  Andres Almiray's enthusiasm for Groovy/Griffon was contagious.  And Chris Smith's "Evil Genius with F#" was well-planned and interesting.  We were also really lucky to get the Java Posse to come to CodeMash, both for their panel discussion and their sessions.  Joe Nuxoll's Photoshop for Engineers and Engineering vs. Design sessions were well-attended and offered insight that I haven't previously seen at CodeMash.  Dick Wall did "Funky Java, Objective Scala" which was both fun and interesting, offering functional aspects of Java and object-oriented aspects of Scala.  Carl Quinn rounded out the Posse talks with his on Tools in the Trenches.

Of course, there were many sessions that I regret missing, such as James Ward's Agile Toolchain for Flex and Barry Hawkins' "User Stories: Closing the Agile Loop".  I also missed various iphone and Cocoa development sessions, by both Chris Adamson and Daniel Steinberg, and Nick Siegler's talk on JRuby. And many more.

I'm already looking forward to CodeMash 2011. In the meantime, there are some interesting community-driven conferences coming up.  On March 13, you can attend "2010 Michigan: Agile and Beyond" in Dearborn.  The early bird rate on that ends soon (February 10!), so register soon to get $29 registration rather than the regular rate of $99.  After the very successful 1DevDay in 2009, I've heard rumblings of that conference returning in 2010.  Watch the Detroit Java User Group for announcements there.  And, of course, don't miss the Java Posse Roundup in Crested Butte, CO.  It runs March 15-19, with the first day dedicated to "Alternate Languages on the JVM".  There's graduated pricing on the Roundup, so the sooner you know you want to go, the better!

This week, being the first of the month, is a busy one for user group meetings in Ann Arbor.  Tomorrow night, the Ann Arbor Study Group features Django.  This interactive learning experience will be led by Darrell Hawley, and hosted at SRT Solutions ( 206 S. Fifth Ave., Suite 200, Ann Arbor).   The Ann Arbor Computer Society hosts Aaron Thul for Postgres SQL on Wednesday, February 3.  On Thursday, join the Michigan Python User Group in their monthly meeting/discussion.  Both of these events will be hosted at SRT Solutions as well. 

AADND, Software Stimulus Lab, Agile Groupies: oh my!

Tomorrow is the 2nd Wedneday of the month, which means that the Ann Arbor .NET Developer group is meeting at SRT.  If, like me, you're still bummed that you missed last month's meeting with Michael Wood on PLINQ, you probably will want to make an extra effort tomorrow night, when Steve Smith is in town and speaking on ASP.NET MVC.  Steve will be presenting Robert Martin’s SOLID principles of Object Oriented Programming, with examples of violations of these principles in a simple ASP.NET MVC application. The principles are then applied, resulting in a much more elegant and maintainable application.  This is a free meeting, open to the public.

SRT Solutions is inviting all developers to join them at Automation Alley in Troy for a day of software development at the SRT Stimulus Lab. This is a jam format, not a lecture format (which means that it's very hands-on).  We'll start off with some fundamentals: version control (bazaar), continuous integration, unit testing and functional testing. The format is open; you can work on your problems (with encouragement, advice, and help from others) or on our examples, if you just want a flavor of some new languages.  This is a low cost event ($75 for the full day), and it's free for unemployed software developers (limited seats available).  Sign up at http://srtstimulus.eventbrite.com.  If you use the discount code SRTUSER, you can still get the early bird price of $50 for a few more days. 

The Agile Groupies in Ann Arbor will meet at SRT Solutions on June 16, from 6-7:30 or so.  Cost: $10 for food.  Joe Hershey will be pairing and speaking, and the talk is entitled, "TDD is Nonsense".

The Detroit Java User Group will meet on June 17 at Compuware, during the Eclipse DemoCamp and IT Exchange Forum, from 5-8 pm. 

The next Ann Arbor Java User Group meeting is scheduled for June 24.  I'm still waiting to hear what the topic is.

Upcoming technical events

In addition to a user group meeting this week, there are some weekend conferences/camps going on.  

Ann Arbor .NET developer group (Wednesday August 13 at 6 pm) features Jeff McWherter who will be speaking on applying automated testing to an existing application. AADND meets at SRT Solutions (206 S. Fifth Ave, Suite 200, Ann Arbor). Visit http://www.aadnd.org for more information.

eRubyCon is a conference geared toward the use of the Ruby programming language in the enterprise. The conference will be held August 15, 16, 17th in Polaris (near Columbus). The conference boasts speakers who have had success getting Ruby into some of the largest organizations, speaking on data warehousing, JRuby, testing legacy JEE code with JRuby, Ruby code generation, enterprise workflows and more. For more information, see http://eRubyCon.com.

BarCamp Grand Rapids is being held on Friday August 15 through Saturday August 16. BarCamp is an ad-hoc gathering born from the desire for people to share and learn in an open environment. It is an intense event with discussions, demos, and interaction from attendees, usually centered around technology topics. For more information, see http://barcampgr.org.

 And, of course, don't forget about SRT's hosted Lightning Talks on Friday August 15, from 3:30-5 pm.  Last time (on August 1), we had topics like Subversion 1.5 (Rick Harding). Phone Calling over Twitter (Ed Vielmetti), Selenium (Charlie Sears),  Cube Permissions (Phil Huhn), Generic Functions with Python (Mark Ramm), Subsonic (Phil Huhn), Blogging to Community Server from Microsoft Word (Charlie Sears), Musical Topology (Ed Vielmetti), and Blogging with Microsoft LiveWriter (Bill Wagner).

Plan ahead for next week too!  The Detroit Java User Group doesn't meet every month, but they're meeting on Wednesday, August 20, and the topic is Java Scripting Languages, with Kirsten Henderson.  And while it's called the Detroit Java User Group, it's really in Farmington Hills, so quite driveable from Ann Arbor.

[DMM: correction … there was an error in the post on the Detroit JUG.  Kirsten emailed me that they made a mistake in the year of the post and that was the talk she did LAST August.  Sigh, too bad.  I'm sorry I missed it last year and was looking forward to an update!]

I also thought that I would mention the Agile Summer Camp, coming up September 5-7 at Brighton Recreation Area. This is an interactive, participants-driven open spaces event that will be held over a weekend, and will attract professionals interested in improving software development through agile techniques. Some people will be camping (there are 2 cabins available, and a separate campground), while others will commute from their homes. 

Next week in Ann Arbor …

The Ann Arbor Java User Group meeting, usually held on the 4th Tuesday, will NOT be held on Tuesday, May 27. Looking forward to the next meeting, on Tuesday, June

The Agile Coach Camp is being held, however.  It's from Friday, May 30 through Sunday June 1.  It looks like an interesting event.  I even have a friend coming in from Europe (waving at Niclas) for the conference.  Go to http://agilecoachcamp.org/  and http://wiki.agilecoachcamp.org/tiki-index.php?page=InvitationLetter for more information.

Technical Sessions at the Java Posse Roundup

I'm a month late in posting this, but better late than never.

The Java Posse Roundup was an Open Spaces conference in Crested Butte, CO.  It was held March 4-8, and this was the second (hopefully annual) conference.  The non-technical sessions, about which I already posted, were great, and the technical sessions were great too.  I didn't keep really great notes, because it's hard to take notes and participate at the same time, but here is my re-creation, from my chicken scratch.

The night before the conference started, most of the conference attendees were in town, so we got together at Bruce's house.  We badgered Dick Wall about Android, and he spent some time walking us through his application (WikiNotes), which has been (recently) open-sourced. 

Joe Nuxoll, of the Java Posse, convened a session on Component Based Systems.  Many different systems and libraries were discussed, including Swing, Flex, Boxley, and Thermo.  The consensus was (pretty much) reached that Swing is a library and is not component based.  Flex is component based.  Boxley is an AOL component based application development environment whose lead architect was hired by Adobe to work on Flex.  And Thermo is a design-oriented tool that provides the missing link between FlexBuilder and PhotoShop, allowing designers to build an application that a developer can drop into the production app.

Barry Hawkins convened a session on "Why is Agile Hard?" (note: audio released this week on the Java Posse podcast).  Barry is an agile coach, from Atlanta, and I always enjoy his sessions.  He always seems to come up with some good one-liners, that stick with me.  Like "Agile exposes the dysfunction endemic in software development, whereas other approaches mask it".  He also pointed at some great sources for future "research", including Scott Ambler and Kevlin Henney's podcasts at Parleys.com.  Also Alistair Cockburn's podcast on IT Conversations: Agile Software Development, and of course  Mike Cohn's blog "Succeeding with Agile". A few people who participated in the discussion were looking for answers about how to bring agile into an environment which is hostile to it.  The consensus of the discussion is that until the business respects agile, you're giving up a lot of the benefits, but there are some benefits that can be gained by heading in that direction.  Another reference that came out of the discussion was the book "Waltzing with Bears: Managing Risks on Software Projects".

I think that it was Ophir Radnitz who convened a session on "What does Scala Need".  Many people were interested in Scala at the Roundup (myself included), and this was a lively discussion.   It ranged from how to leverage what we already know (about Java) for Scala to what it will take for the language to be successful.  Toward that end, the group determined that books, community, and tools were important to success.  The books are getting there, with Martin Odersky's Programming in Scala book and others likely on their way.  Community is building both at artima.com and scalax.scalaforge.org. The plugins in development for Eclipse, NetBeans, and IntelliJ's IDEA will help a lot with adoption.  It's hard, these days, to learn a language without code completion. Sounds silly, but I doubt that I'm the only one who has started to depend on that support.  During the session, Carl Quinn and Tor Norbye came to an agreement to work together to help advance the NetBeans Scala plugin.

One nice thing about Open Spaces conferences is the ability to mold them to fit the needs of the actual attendees, at the event.  Last year, there was a discussion about how cool lightning talks are in other environments, and so we added lightning talks to the Roundup.  This year, people wanted to go a bit more in depth on some issues, so we added some very informal workshops.  A few people were worried that the workshops didn't fit the model of Open Spaces, which are interactive, but there really wasn't a conflict.  People who were interested in the workshop format showed up!  Others did not.  Joel Neely and I did a workshop on Scala for Java Programmers, followed by a several hour Scala hacking session the next evening, where we worked on a functional implementation of a problem that we had come across.  You can read more about how far Joel has taken this on Joel's blogChet Haase did a really cool lightning talk where he demonstrated how he was able to implement some of the examples from his Filthy Rich Clients, but in Flex.  We wanted to know MORE so we recruited Chet to do a workshop to do a deeper dive on this.  It was fantastic.  I think that his blog will serve as great reference material for building apps in Flex.

I think that we will see an increase in workshop time at future Roundups, if the attendees want them.  We slid these into the dinner time, after the ski hill closed and before the lightning talks started.  It was time that people were using to socialize anyhow, and it fit well into many schedules.

 Once again, the Java Posse Roundup is over for another year. I had a blast, and learned a lot.  I met some really great people, and also enjoyed seeing some familiar faces.  I'm already looking forward to Roundup '09.

 

Mike Cohn on Transitioning to Agile

Barry Hawkins attended a talk given by Mike Cohn at Agile Atlanta.  Barry's summary is on his blog, and well worth a read.  The topic was transitioning to agile.  This was one of the questions that was given a lot of air time recently at CodeMash, where Barry was on the Wednesday night panel.  I especially liked the characterizations of the Patterns of Agile Adoption.

I always enjoy talking to Barry (and reading his blog). I've learned a lot from him in the 2 years since we first met at Bruce Eckel's Programming the New Web conference in Crested Butte, CO.

CodeMash 2007

Well, the CodeMash conference has come and gone. Ah, all of that planning and now it’s over. How will I spend my days if I don’t have to help plan and publicize this event? Maybe I’ll actually get some work done (and see my kids)!

The conference was very cool. One problem in helping to arrange the event is that I had a lot of input into which talks were accepted. That meant that in every time slot, there were multiple talks that I wanted to attend! Ugh! So I moved in and out of the talks, sampling each. Sometimes, I got captivated with a talk and stayed until the end. Other times, some conference organization thing came up and I had to step out. But all in all, people seemed thrilled with the talks, the keynotes, and the venue. And I had lively conversations with attendees and speakers alike, WAY past my bedtime. The 6:30 am organizer scrum came very early on Thursday morning (since I had barely gotten to sleep, it seems). I dashed off without so much as washing my hair (eek, I had to be on stage to introduce Bruce Eckel’s keynote and there would certainly be photos!). Sigh. I had planned to get more sleep on Thursday night, but instead, I found myself talking to speakers and other attendees, including both Mark Ramm and Mike Levin (who I hear continued the conversation even later!) until 1:30 am. Friday night, much of the same. Oh well, maybe I can catch up on my sleep this week.

We kicked off the conference with an “Expert Panel on Languages”, which was moderated by Bruce Eckel and panelists included: Neal Ford, David Stanek, Bill Wagner, James Ward, and Jay Pipes. Many thanks to both Jay and James who stepped in at the last minute to round out the panel!

In addition to the scheduled talks, I attended (and convened) some Open Spaces talks. These are interactive conversations, decided by the makeup of the group. I was introduced to Open Spaces by Bruce Eckel at several conferences in Crested Butte (the next of which is the Java Posse Roundup in March). As he warned often happens, Open Spaces conferences have really spoiled me for eyes-forward talks. Sure, sitting in a lecture and listening to someone talk about something is often an effective way to learn. But I LOVE the interaction of Open Spaces, where every participant is actively involved in the conversation, sitting on the edge of their chairs, engaged. Not falling asleep.

Ah, anyhow, since Bruce was at CodeMash, we had him introduce the concept of Open Spaces and provided a board where people could post talks. His conferences are ALL open spaces, while this one had open spaces “on the side”. I think that we could have done things better in this regard, but I saw some engaging open spaces talks, including some convened by Bruce Eckel (for questions after his keynote) and Mary Poppendieck (for questions after her talk on Lean Software Development).

Other Open Spaces sessions that I attended …

Social Networking for Nerds (Versions 1 and 2):

One of the scheduled talks, for example, was “Networking for Nerds” (hardware stuff), but a few of us were thinking that a “social” networking for nerds might be a good thing to do, so we convened an open spaces session, “Social Networking for Nerds”. But as we were about to begin, there were rumblings about hitting the water park (CodeMash was at the Kalahari Resort and Indoor Water Park in Sandusky). So, we simply moved the “social networking” open spaces TO the water park. “Meet at the Lazy River!” And we did. A bunch of geeks in swimsuits … hmm, that knocks down some social barriers. As I explained to Josh Holmes later, “Once you’ve floated down the Lazy River in a raft, or raced down a water slide side by side with another conference participant, you don’t really feel too shy about asking if you can sit next to him at lunch!”.

Later, we did convene a second session, “Social Networking for Nerds 2”, in a more traditional venue … in the Nia Conference Center midday on Friday. It was well-attended as well. I think about 20 people showed up. I voiced my one regret in my career as not having kept in touch with people from prior jobs in my 20 years as a professional developer. One guy said that he keeps birthdays in Outlook and emails people yearly! He doesn’t feel like he’s “using” another person when he has a question for them later. Good idea (and it was his birthday as well, so we all wished him a happy birthday). Another guy (Barry Hawkins, who I first met in Crested Butte), indicated that his first Java User Group meeting was an eye-opener for him. He realized that people went and heard the presentation, but didn’t interact otherwise. So he announced a “pre-event” meeting where he would be at a local restaurant beforehand, and he gets a great turnout for that. Like our “social networking” session, it’s self-selecting. Those who are interested in networking, go! And while geeks have a bad reputation for being antisocial, I think that those who attend conferences perhaps have a bit more interest in socializing than the standard geek. The consensus seemed to be that most of us feel socially awkward at one point or another, but we push on and do it anyhow. And so we get better at it, just like software development!

Building a TurboGears Widget with Flex:

James Ward, Flex evangelist from Adobe, and Kevin Dangoor, the creator of TurboGears, paired to build a widget in TurboGears that embodied a Flex component. They built a DisplayShelf widget and deployed it to the Python Cheese Shop in under an hour. In a nice demonstration of pair programming, it actually worked the FIRST TIME. Phenomenal. About a dozen people sat around and watched the two at work, and later went to work themselves, grabbing the widget from the cheese shop and quickstarting a TurboGears app and using it themselves. When I got home from the conference and explained this to my husband, he insisted that I do the same. I easy_installed the widget and had it working in about 16 minutes (including copying images to use), in spite of me NOT wearing my glasses. Impressive.

Women in Software:

We brainstormed a bit on why there are so few women in software development these days. Mary Poppendieck explained that when she first got into software, about 40% of the developers were women. She thinks that companies were afraid to hire men because they might be drafted for Vietnam, and so it was “safer” to hire women. And women did it. Another attendee landed in software development from a secretarial field because of an awesome role model and mentor in her (female) boss. Another woman who attended came from a mechanical engineering background. Several men attended as well. We tried to work out some differences, and the one thing that kept coming up was … what drives us. Several of the women in attendance were really drawn by fulfilling customer’s (or company’s) needs. HELPING people. As a generalization, the men seemed more drawn by “building cool things”. Interesting. So maybe when we talk to girls about computer science, we need to talk to them about the human interaction component? That’s a thought. Mary Poppendieck brought up an interesting point as well. She doesn’t think that we need to reach young girls to convince them to go into computer science. She thinks we need to reach their PARENTS. Ah, interesting, especially since many of us indicated that our parents were guiding influences in our choice of professions. So we didn’t come up with “a solution” but that wasn’t really the goal. We have some insight and that’s a start.

User Stories: Reaping the Benefits of Agile Software Development:

Barry Hawkins convened an Open Spaces session on User Stories. A few of us gathered and described why user stories are so critical to the success of agile development. We delved into the representation of personas and we all really feel that these are key to user stories. It’s not all that productive to talk about “the user” as if my 67 year old retired dad and my 23 year old neighbor with a college degree see and use software in the same way. Should we just ban the words “THE USER” in our discussions? OK, maybe not, but building up personas really does help us keep in mind how people use software differently. And building stories for what the components are in software is a great way to help management define not only the complexity of a task but also how essential it is. Ah, now that we all clearly SEE what we’ve been talking about, maybe we can live without it. Or maybe it’s even more critical and needs to be elevated in priority. User stories really help that.

There have been a lot of blogs about CodeMash, since the conference ended. Those that say that they’re glad that they attended and that they would come again, or that they would recommend the conference to their colleagues, make me feel like I didn’t spend the last few months planning this conference for nothing. The real benefit in community-organized events is, however, in letting people know what you would like done differently next time. We’re not a bunch of conference organizers. We’re developers. As I said several times at the conference, this is the conference (and content) that WE wanted to attend. If others in the development community pitch in with ideas and speakers and keynoters and what to do differently, it can be even MORE awesome next time. Did I say “next time”? EEK! Don’t tell my family …. But do join the CodeMash google group and provide feedback, suggestions, etc.!

CodeMash website

CodeMash google group