Grigori Melnik: Thoughts on Agile Software Engineering and Beyond

  • Agile Perspectives PDC Workshop

    As promised, here’s the deck Mary Poppendieck and I used during the workshop. We hope it was worth the attendees’ time. We encourage you to try new techniques we talked about and let us know how your agile adoption is going. For more information, visit Mary’s site.

  • Patterns & practices goodness – early Christmas

    Earlier this week I’ve announced the releases of Enterprise Library 4.1, Unity 1.2 and Acceptance Test Engineering Guide BETA1. This is not all. Additionally, our group has just shipped:

    SharePoint guidance is coming soon too. You can check their current drop on Codeplex.

    These are very impressive and important deliveries. I am proud to be part of such a productive team!

    Of course, shipping is not enough. A more important question is how many people are actually using our assets. In the next week or so, we’ll be revving our p&p exit survey which gives us additional insight into this aspect. I’ll post a link to it and invite everyone who has used our guidance or components to participate in the survey.

  • News: Acceptance Test Engineering Guidance BETA1

    ATE_small

    I am pleased to announce the release of the Acceptance Test Engineering guide BETA1. You can download it from http://codeplex.com/TestingGuidance

    Common Scenarios Addressed:

    • How to Plan for Acceptance Testing
    • What Kinds of Acceptance Tests to Run
    • How to Create and Run Acceptance Tests
    • Defining What “Done” Means
    • How to Justify Your Approach

    Contents at a Glance:

    PART I – THINKING MODELS: an overview of acceptance testing and explains several models that are useful in conceptual thinking about acceptance testing. It also includes items that are necessary for planning acceptance testing. This part is intended to be read from beginning to end.

    PART II – THUMBNAILS: a thumbnail is a short overview of a practice that explains what it is, when you may want to use it, the risks that it mitigates, and an overview of how to perform the practice. Thumbnails also include a list of references to papers, books, and other resources that provide more complete descriptions of the practice in question. The main purpose of a thumbnail is to describe a topic well enough to provide an overview, serve as a mental reminder for someone who has used the practice on how to do it, and give someone unfamiliar with the practice enough information about the practice and its applicability to determine if they want to learn more about it. This part is intended to be used as a reference; most readers will not read it from beginning to end.

    PART III – SAMPLES: a collection of sample artifacts generated by applying different practices in a fictional real-world situation for Global Bank. These artifacts are embedded in a series of case studies of what the Global Bank team may have produced while building the application. The case studies provide some context to the individual artifacts. They also provide cross-references to the practices described in Part II. The artifacts are intended to be used as way to learn more about how to perform a practice; they can also be used as templates for your own artifacts.

    Webcast

    Gerard, Jon and I did a webcast talking about the concepts and the way we are writing this guidance.

    Feedback

    Your  feedback is invited. Please post it under Discussions on Codeplex. Also, if you have an interesting experience with acceptance testing that you’d like to share and perhaps be profiled in our guide as a case study, we’d like to hear about it.

     

  • Just Released: Microsoft Enterprise Library 4.1 and Unity 1.2

    From the floor of the Los Angeles Convention Center, I am writing this message in between many exciting PDC sessions and conversations with customers of Enterprise Library and other p&p assets.

    Microsoft patterns & practices is pleased to announce the twin release of Microsoft Enterprise Library 4.1 and Unity 1.2.

    What’s New in Enterprise Library v4.1?

    This release of Enterprise Library is a service release that includes the following:

    – Unity interception mechanism and integration of the Policy Injection Application Block with the Unity Application Block;

    – Performance improvements;

    – Usability improvements to the configuration tool;

    – Visual Studio 2008 Service Pack 1 support;

    – Bug fixes.

    For the detailed list of all changes, see About This Release of Enterprise Library.

    What’s New in Unity v1.2?

    − Added an interception mechanism (extension);

    − Added two instance interceptors (TransparentProxyInterceptor, InterfaceInterceptor) and one type interceptor (VirtualMethodInterceptor);

    − Improved support for generics;

    − Added support for arrays;

    − Registered names are now available as an ObjectBuilder policy so that you can do a ResolveAll from within the strategy chain. The container automatically registers itself with itself;

    − Added PerThreadLifeTimeManager;

    − Bug fixes;

    − Performance improvements.

    How to Get Started?

    If you are new to Enterprise Library:

    − read the Introduction to the Enterprise Library;

    − download, compile, and run the QuickStart samples —study the code;

    − read through the related QuickStart Walkthroughs and “Key Scenarios” sections of the documentation;

    − practice the Hands-On Labs;

    − review the source and unit tests for deeper understanding;

    − view webcasts on Enterprise Library and Unity, review demo code.

    If you already know and love the Enterprise Library:

    − check out the change log for this release;

    − upgrade to V4.1—no code change is required—simply update the references to the corresponding application block assemblies and to the common assemblies;

    − download the updated QuickStarts and run through the Unity-integrated examples to get the flavor of new dependency injection style of using the Enterprise Library;

    − review the documentation on how to use interception with Unity;

    − view webcasts on Enterprise Library and Unity, review demo code.

    Happy Coding!

  • Agile PreCon at PDC 2008

    Mary Poppendieck and I are set to run a pre-conference workshop on Agile Perspectives: Industry and Microsoft.

    In it, we will provide our observations on what works, what doesn’t in the world of agile, and why (we call this segment of the workshop “Reality of agile”). The objective is to provide pragmatic advice, recommendations and actions that you could use tomorrow to improve the way your teams produce software.

    Mary, the author of popular Lean Software Development and Implementing Lean books, will provide her lean perspective from many years in the industry (if you want to find out more about Mary, check out this really good interview that Scott Hanselman took with both Mary and Tom Poppendieck, in which they challenge the notion of success in software industry). In turn, I am going to share my experience from several projects at Microsoft patterns & practices. Several other colleagues from Microsoft will join our panel at the end of the day to debate hot issues of agility. The floor will be open to audience participation. Mary and I identified several hot issues to bring up. However, it would be really good to know what kind of stuff you’d prefer us to touch upon. Please post your At-Issue suggestions in response to this post or simply email me. Thanks and see you in LA!

  • Generics support in Unity

    Community! As you know we are currently working on EntLib4.1/Unity1.2. We’ve already addressed a number of stories, including one of the most requested features of Unity – improved support for generics. In particular, we now fully support generic decorator chains.

    Check out the most recent drop on Codeplex under Source Code.

    You can also expect us to do drops regularly at the end of each bi-weekly iteration. Please continue sending your feedback to us.

  • Agile2008 selected sessions online


    You wish you could have made it to Agile2008 in Toronto 2 weeks ago? A small number of sessions is now available online.


    18 sessions have been recorded, 3 of which are already made available:

           Natural Laws of Software Development - Deriving Agile Practices by Ron Jeffries, Chet Hendrickson

           "We suck less!" Isn't mediocrity great? by David Douglas, Robin Dymond

           New Car Development in Toyota by Kenji Hiranbe

     

    Another 15 will be gradually published at http://www.infoq.com/agile2008/:

           Future Directions for Agile by David Anderson

           10 ways to screw up with Scrum and XP by Henrik Kniberg

           Agile and Beyond - The power of aspirational teams! by Tim Mackinnon

           Agile in Practice: What is ACTUALLY Going On Out There by Scott Ambler

           Prioritizing Your Product Backlog by Mike Cohn

           Manager's Introduction to Test-Driven Development by Dave Nicolette, Karl Scotland

           When Working Software Is Not Enough: A Story of Project Failure by Mitch Lacey

           Extremely Short Iterations as a Catalyst for Effective Prioritization of Work by Mishkin Berteig

           Fostering Software Craftsmanship in a Corporate Setting by Scott Dillman

           Measuring Agile in the Enterprise: 5 Success Factors for Large-Scale Agile Adoption by Michael Mah

           Colossal, Scattered, and Chaotic (Planning with a Large Distributed Team by Wes Williams, Mike Stout

           Now that the team's head is in the game, how do you get their heart in? by Jim McCarthy

           Technical lessons learned turning the agile dials to eleven! by Craig Smith, Paul King

           Introduction to Lean Software Development by Alan Shalloway

           Fully Distributed Scrum: The Secret Sauce for Hyperproductive Outsourced Development Teams by Jeff Sutherland


    In addition, Alan Cooper’s 
    "The Wisdom of Experience" keynote is available as a slide deck with speaker’s notes at http://www.cooper.com/journal/agile2008/

    Note, InfoQ also hosts videos of several excellent sessions from the previous Agile2007 conference, including:

           The Role of Leadership in Software Development by Mary Poppendieck

           Succeeding With Agile: A Guide To Transitioning by Mike Cohn

           Agile in the Waterfall Enterprise by Michele Sliger

           The Agile Enterprise: Real World Experience in Creating Agile Companies by Jeff Sutherland

    All experience reports and research papers will be available online via IEEEExplore. Search for 'Agile' under 'Conference Proceedings'.

     

  • Acceptance Test Engineering guide - How to Decide if Software is Ready for You or Your Customer - Community Preview 2 released

    On Monday, we  released our CTP2 on Codeplex: http://codeplex.com/TestingGuidance.

    You’ll see it now includes the consumption model and also some recommendations on how to read the guide. There are three parts. Part I. Narratives and Models - this is a short section that is meant to be read end-to-end. This is where we define readiness assessment and acceptance testing and introduce several models that help conceptualize software acceptance. Among other things we discuss decision making process, risk evaluation, the doneness model and its variants for agile and Tayloristic processes. Part II consists of what we refer to as “Thumbnails”. Those are the short descriptions of various useful practices that also provide information on their applicability, risks addressed, implementation options and additional resources. The Thumbnails are complemented by the actual samples  (Part III) that we’ve produced on a sample system (Global Bank). Both thumbnails and samples are meant to be used as references and in any order. 

    You’ll notice there are still a number of empty sections. If you see an empty section, assume we will fill in the section before we complete the book.

    Please provide it by posting a reply to the corresponding thread under Discussions on codeplex or as a reply to this blog post.

    Happy reading! We look forward to your feedback!
  • EntLib4.1 kickoff

    On July 31 we have kicked off the EntLib4.1 and Unity 1.2 project. This is a minor service release. In it, we address several bugs and enhancements, and provide the following features:

    -         Collections support in the Unity Application Block (Unity dependency injection container)

    -         Improved support for generics in Unity

    -         Interception mechanism in Unity (including integration with the Policy Injection Application Block)

    -         Improved type picker of the config tool (this one needed a face lift for a long time)

    -         Debugging visualizer (to allow for easy navigation of mappings, corresponding lifetime policies as well as container extensions).

    We also plan on doing rigorous testing on 64-bit machines. I’ll post a complete backlog on Codeplex soon.

    We intend to release regular community previews at the end of each iteration (biweekly).

    I am excited to continue working with several people from the previous release (Chris, Fernando, Vijaya) and also welcome new team members: Erik and Dennis. Alex, Hanz, and Carlos take on the roles of consultants. This is an amazing team! At the end of the first day we already had two user stories done-done.

    Codeplex discussions remain the primary venue for posting your feedback. Keep it coming.

  • Webcasts demos

    The demo from the Enterprise Library 4.0 webcast we did yesterday is posted on Codeplex.

    Now can also find the demos from the webcasts on Unity here.

  • Do you have testing problems?

    In our quest to produce actionable acceptance testing guidance, we are looking for hard-to-test scenarios from real world projects so that we could test our guide against them. We would appreciate if you shared your testing problems with us.

    For example, you may find testing the logics that generates binary data (like image generation, voice synthesis) hard.

    Also, feel free to tell us how you solved them if you did.

    Link to survey.

     

  • Webcasts on EntLib4 and Unity

    We are planning three webcasts on EntLib4 and Unity. Pencil in the tentative dates:

    §  Taking advantage of Microsoft Enterprise Library 4.0 for Visual Studio 2008 (Level 200 – Intro)

    July 10, 13:00-14:30pm Pacific

    Register

    §  Introduction to dependency injection with Unity (Level 200 – Intro)

    July 11, 12:00-13:00 Pacific

    Register

    §  Extending the Unity dependency injection container (Level 400 – Advanced)

    July 24, 13:00-14:30 Pacific

    Register

     

    We’ll be doing lots of demos of the goodness in EntLib and Unity. I’ll post the links to the registration site as soon as they become available on MS Events.

     

    Cheers,

    Grigori

  • Upcoming conferences - where I'll be (May - Oct 2008)

    • Tech-Ed 2008 Developers, June 2-6, Orlando, FL. I’ll be giving a talk on the Enterprise Library (DVP02-TLC). I’ll be also hanging out in the exhibition areas (mainly, Process & Project Management (DVP- VSTS 2008)).
    • CAST 2008 , July 14-17, Toronto, ON. I look forward to good interaction with testing experts and thought leaders from around the world.
    • Microsoft Product Fair, July 22-23, Redmond, WA.
    • TechReady7, July 28-Aug 1, Seattle, WA. I’ll do a couple of talks on the Enterprise Library and agility.
    • Agile 2008, Aug 4-8, Toronto, ON – the major world conference on agile software engineering. Mary Poppendieck and I are program-charing the conference.
    • STARWest 2008, Sep 29- Oct 3, Anaheim, CA. Jon Bach and I will give a talk on Acceptable Acceptance Testing, telling the tale of our team producing the guide on acceptance testing and dogfooding our own recommendations.
    • PNSQC2008, Oct 13-15, Portland, OR. We have a paper "Acceptance Testing: a love story in two acts". No Shakesperian-level drama, but some exciting stuff for sure.
    • PDC 2008, Oct 26-30, Los Angeles, CA. Together with Mary Poppendieck and other colleagues from p&p, we’ll be presenting the Agile Perspectives pre-conference event.

    If you are planning on attending any of these conferences, please come by and say hello. I would love to hear your stories of using or reasons for not using the Enterprise Library, Unity, other p&p assets. I would also be glad to chat with you about our upcoming guidance on Acceptance Test Engineering and hear your experiences, lessons learnt, and suggestions.

    Also, I talk to user groups regularly. If you are from the city I am visiting (or nearby) and would like me to give a talk to your user group (agile, .NET, software testing), feel free to ping me.

  • What does "done" mean to you?

    We have posted a short survey on the practices of acceptance testing that I would like to invite you to answer. Your thoughtful responses will help us focus the guide on issues that matter to you. Your input is critical.

    If you feel particularly strongly about any topic/practice/issue in acceptance testing and would like to share a story, technique, pain points, please provide your contact address so that we could talk to you. Otherwise, the survey is anonymous.

    Feel free to forward this invite to others.

  • Where did the Application Block Software Factory go?

    As I mentioned in the announcement of the Enterprise Library 4, two pieces were removed from the release: Application Block Software Factory and Strong-Naming Guidance Package. These are made available as a separate download on EntLibContrib. Here’s the direct link. Both require GAX.

More Posts Next page »

© 2008 Microsoft Corporation. All rights reserved. Terms of Use  |  Trademarks  |  Privacy Statement
Microsoft
Page view tracker