Mike Swanson

  • Mike Swanson's Blog

    Ron Jeffries at the XP West Michigan User Group


    I apologize for not being able to give you an earlier heads-up on the Ron Jeffries presentation at the XP West Michigan User Group last night. It was well attended (I’d guess that there were approximately 50 people), but it would have been great to see more familiar faces. This was a chance to hear from an important figure in the Agile universe, and those that were able to make it were treated to two excellent presentations.

    For the first hour, Ron presented on delivering software Early and Often. You have to love the hand-drawn charts in his slide deck…they are a perfect fit for his personality. In addition to providing a good Extreme Programming refresher, he had some compelling arguments about delivering value to your customer early and often. With traditional, plan-driven methodologies, the payoff to the customer doesn’t show up until relatively late in the game, whereas the practice of Extreme Programming begins to deliver tangible value within a couple of iterations (weeks).

    As the name implies, an Agile approach is able to quickly respond to shifting and changing requirements much earlier than a more traditional approach (like waterfall). If that weren’t enough, the Agile approach empowers the customer by allowing them to drive for a target date by jettisoning less-critical features or to bite off the remaining features in a predictable extension of the project timeframe. I don’t personally believe that Extreme Programming is a one-size-fits-all methodology, but in my opinion, it does make sense for a majority of the teams I interact with. Unfortunately, the word extreme turns a lot of people off much too quickly.

    In the second presentation, Ron did some pair programming with his associate, Chet Hendrickson. They provided a live version of the classic Bowling Example (with follow-ups here and here). This is a great example for anyone who is not familiar with pair programming, test-driven development, refactoring, or Extreme Programming. Frankly, it’s a good example to work through on your own to appreciate the power of the process. It’s easy to understand, not too difficult to implement, but it also provides enough interesting challenges to illustrate an evolving design. As an intriguing side note (that happens to make a perfect unit test), Ron mentioned that a bowling champion who had attended one of his presentations stated that any game of alternating strikes and spares results in a total score of 200. Cool.

    The meeting was scheduled from 6:00pm to 8:00pm, but many of us ended up keeping Ron and Chet until around 9:30pm. They were both great sports, and we had some invigorating and insightful conversation until they had to start their long drive home. If you missed the presentation or if you think that this is a process that you’d like to implement in your team, Ron and Chet are available for on-site training and/or coaching. I’d recommend them highly.

    Oh…and Ron, in true “only build what you need” style has a much more efficient blog post about the event.

  • Mike Swanson's Blog

    West Michigan .NET User Group Presentation Next Week


    For anyone interested, I'm giving the presentation for the West Michigan .NET User Group meeting this coming Tuesday, September 21st at 6:00pm. The meeting is at Sagestone Consulting in Grand Rapids, Michigan (map). We'll be drawing for software, including a couple of Xbox games. From the description:

    In this presentation, Michael Swanson, a Senior Microsoft Consultant, talks about many of the tools and techniques that can help make a software project successful. Mike touches on software estimation techniques, the benefits of unit testing, automated continuous integration, the importance of code reviews, how to monitor and leverage code metrics, and interaction with an offshore team. He relates many of these topics to past projects, including the recent NxOpinion application he's been involved with for the past year-and-a-half. Come prepared for an open discussion, a lot of Q&A, and some good tool demos.

    Michael Swanson is a Senior Consultant for Microsoft Corporation, specializing in software development. He has been creating computer software for over 25 years, and most recently has worked on the NxOpinion project for the Robertson Research Institute. He has written games, data compression libraries, device drivers, firmware, bulletin board systems, commercial software, enterprise applications, and just about everything in between. He was responsible for the creation of the first “uninstaller” application for Windows and launched the first nationwide movie showtime web site. Over the past few years, Mike has focused much of his time on software development practices, including Agile Development, unit testing, project estimation, and design patterns. He’s written code in a lot of different languages but currently prefers C#.

    I hope to see you all there!

    Update: The user group presentation went very well, and about 20 people stayed and talked until around 10:00pm (two extra hours). Also, a copy of my presentation has been posted on the West Michigan .NET User Group site. I'm not sure how much sense it makes without verbal context, but I know that many of you wanted a copy.

  • Mike Swanson's Blog

    Microsoft DevDays 2004 Streaming Sessions and October Webcasts


    For all of you who missed the DevDays 2004 sessions, or if you simply want to “attend” them again, you can now view them on-line.

    And while I’m on the topic of streaming video, here’s a list of upcoming MSDN webcasts for the month of October.

  • Mike Swanson's Blog

    All About the Smart Client


    The MSDN Webcasts Weblog reports that David F. Anthony, a Senior Software Architect at Techhead LLC, will be giving a series of webcasts on Windows Forms development. There are 14 webcasts that run through December, and they're drawing for some Xbox game systems.

    Continuing with the theme, a new episode of the .NET Show discusses what a Smart Client is and how it might appeal to those of us who would like the power of local processing combined with the deployment and maintenance characteristics of a web-based application. You'll also see a demonstration of some upcoming Windows Forms capabilities and hear about Visual Studio Tools for Office.

    Although I did years and years of web-based development (and enjoyed it), my heart has always been on the client, if only because I can deliver a much more responsive and rich experience to the user. Web-based applications are good for reach, deployment, and maintenance, but it still takes a lot more effort to deliver web functionality that is only a fraction of what a client application can perform. After all, the web was designed as a document delivery platform, and it has been extended to act like an application platform. With a Smart Client, we can experience the best of both worlds...and Longhorn will only make it better.

    As a strange aside, I'm now running into career developers who only know how to write web-based applications. The idea that a client application maintains state is almost completely foreign to them.

Page 74 of 74 (369 items) «7071727374