Welcome to Windows Communication Foundation (WCF)
Top Tasks :

WCF Community Bloggers

Browse by Tags

All Tags » Microsoft » Extreme Programming   (RSS)

  • New and Notable 152

    Smart Clients/Orcas I am extremely pleased to see the .NET Framework (and Microsoft) finally gain the offline sync services that I have been talking about for quite a few years in my work at Groove and Adesso . You will be able to do synchronization from WinForms and WPF apps that you could do from Groove apps (in my case WinForms) 4 years ago and Adesso 2-3 years ago now. OR/M Excellent introduction to NHibernate here more in a little bit Currently listening to Tarkus by Emerson, Lake & Palmer on album Tarkus Technorati Tags: .NET , Orcas , Data , OR/M , NHibernate , Software Architecture , , TDD , Agile , Agile Development , Extreme Programming , CLR , .NET Framework , Click Once , Microsoft Share this post: Email it! | bookmark it! | digg it! | reddit! | kick it! Read More...
  • New and Notable 151

    Thank God, its Friday. Even after a full 32 ounces of strong Starbucks coffee, I still fell asleep on the train on the way in. Entity Framework/OR/M/LINQ The excellent Entity Framework discussions continue with Scott Bellware's fine Entity Framework Challenges Architecture One of my core principles of Agile Architecture that I will talk about in Monteal next month is that of Lighweight Modeling. Core to that, is what Scott Bellware said, That's "Model-Driven", not "Diagram Driven ." Like Scott says, I also put my model into the domain and evolving that model. I too don't find much use for diagrams, particuarly the waste of time Whitehorse ones or worse yet the Rational Rose ones. But, as Jeremy noted from his discussion with me , I *do* find the use of a very small subset of UML used rather precisely in drawing quick, non-durable model diagrams on the board. In fact, Jim Shore and I taught our team to do it in any part of the code base at any time. Harry channeling Nick , "Nick Malik on enterprise architecture : "Enterprise Architecture is not about 'building solutions right'. Enterprise Architecture is about 'building the right solutions'. Agile/Good Software Design Jeremy on the DRY principle and the Wormhole Anti-Pattern He also points to the great piece Top ten things ten years of professional software development has taught me . Agreed with all of it Jonathan has a niece piece that I vigorously nodded my head in agreement with, Pair Programming improves your Communication Skills .NET/CLR Scott Hanselman - A Better Way for Click Once and Firefox . Yes!! Misc I was ROTFL when I read Lazycoder's rant , "Save me from having to type more angle brackets. Please. I’m tired of $#@$@ angle brackets. My “,” and “.” keys are worn to a nub. My shift key is floppy and has no spring left.No more angle-bracket based UI. EVER." Technorati Tags: .NET , Orcas , Entity Framework , Read More...
  • New and Notable 150!!

    This is it, the big 150! The first New and Notable was on May 19, 2003 , (my first post was March 29, 2002 ) and I paid homage to the master, "I have always admired Mike's ability to look at the world out there and put it all into one great post, The Daily Grind . While I can't pretend to have Mike's writing ability, I would like to start moving to something similar instead of multiple seperate posts." I wish I had the discipline of Mike because if I posted daily I would be well towards 1000 instead of 150-) but hey I'm pretty proud of my record. I love this community and in the last 25 years this community (and Microsoft) have been real good to me and my family. I hope that what I have been picking here has been of good use to the community to keep you informed on key .NET activities as well as the architectural and design side. Thus, I go forth and pick: Entity Framework, ADO.NET 3, Orcas, MVP Summit One of the best writers in the community today is certainly Jeremy Miller . His latest post, MVP Summit Recapped: Linq for Entities, MonoRail, and Shameless Name Dropping , is a fine example of why. In one post, he is able to write quite elequently on complex subjects like the subtle design flaws in Entity Framework 3 and why WF 4 will rock your world. He is able to take a technology, stick to his design principles and stand his ground, educating and helping all involved achieve something better than was there before. He certainly wasn't the only one of us doing that but his post really captures the core design principles of no infrastructure code in business logic classes. Infrastructure is Infrastructure, business logic is business logic. We want the same thing: No marker interfaces, no codegen, no partial classes. Just plain "PO" and support for the Unit of Work pattern. David Laribee also talks on this area and makes clear that its a vision thing that doesn't really compare to NHibernate which is just OR/M; it's a full Read More...
  • New and Notable 149

    Yup, I'm still stuck in Seattle and I still feel like crap. Tomas just went off to the airport and I feel like the last MVP left in Seattle. Just want to get out of here and home but can't do that until tomorrow night. Lots of stuff stored up Entity Framework/ADO.NET 3/ORM/ASP.NET/MonoRail I consider my (and all the Code Better guys) biggest contribution to the whole Summit has been our conversations with the Microsoft Data Team on Linq for Entities . I would like to thank the Microsoft guys for being so open to feedback and understanding us In the meantime, Ayende went and did LINQ for NHibernate in his spare Time; does this man ever sleep???? Actually the second proudest moment came some of us CB bloggers with the special meeting with Scott Guthrie on how to make ASP.Net better support MVC much like Rails and MonoRail. My dissatisfaction with ASP.NET is well known and the reasons are expressed well by Ayende here on the leaky abstractions with WebForms and Jeremy Miller here . I expressed many times on my blog that I would just as soon go to Ruby on Rails if I had to do any Web stuff today. Several of the CB bloggers let me know about the goodness that is MonoRail. It's really awesome to see ScottGu have an MVC framework in the works as Jeffery talks about here Inheritance in the Entity Framework is the latest from the Data Team They also updated the 101 LINQ Samples that were included in the March CTP have now been updated to include the 101 LINQ to Entities Samples. To check out the newest samples download from here . Software Architecture/WCF/SOA Nice discussion from Harry on answering Dr. Nick's questions on SSB/WCF The Feb 2007 release of both the GAT and GAX have been released with Vista support but Harry has noted that you have to re-install all your guidance packages which is not so good Christian Weyer has some great slide decks from DevWeek 2007 Matias has an awesome post, " The holy grail of Enterprise SOA security " about SOA Enterprise Security using WCF Read More...
  • All I Can Say is a Big Amen!

    This says it all. Technorati Tags: .NET , Agile , Agile Development , Extreme Programming , ORM , Data , Entity Framework , ADO.NET 3.0 , Orcas , MVP , Visual Studio , VSTS , Team System , Microsoft Share this post: Email it! | bookmark it! | digg it! | reddit! | kick it! Read More...
  • New and Notable 148

    Still real tired from my Oklahoma trip , partying with Raymond sure is exhausting-). Agile/Development Tools On my short list for some time now, is to switch from NUnit to the definitely superior MbUnit. My friend Andrew has done some great work with this tool and he has a new release out with the beta 1 release of MbUnit 2.4. New features in this drop. I really need to switch and get my team to switch over. It's just been an inertia thing with NUNit as I knew all along MbUnit was better Testing private methods for .NET 2.0 rom Ben Hall. Database rollback support for .NET 2.0 from Cathal Connolly and Todd Menier. NUnit style explicit support from Graham Hey. Speaking of NUnit, they also have a new release, NUnit 2.4 Release Candidate (2.4.0). The Release Notes are here and include some nice features: A new syntax and internal architecture for Asserts is being introduced in this release, based on the notion of constraints found in JMock and NMock. The Assert.That method is used to make an assertion based on a constraint Assert.That( actual, constraint, message, args ); Assert.That( actual, constraint, message ); Assert.That( actual, constraint ); The constraint argument may be specified directly using one of the built-in constraint classes or a user-defined class. It may also be specified using one of the syntax helpers provided as static methods of the Is class, such as Is.Null Is.Empty Is.EqualTo( object ) Is.CollectionContaining( object ) Is.SubsetOf( collection ) SCSF is one of the most visible Microsoft projects being done in an Agile way. They are crazy as us doing one week Iterations. Blaine has some reflections on Iteration 3 . CB brother, Jeremy asks what OSS tools are you using in development? As I answered there, they include: NUnit CruiseControl.Net FitNesseDotNet RhinoMocks Subversion TortoiseSVN Ankh Wiki Speaking of tools. my good buddy Tomas (see you next week!) has a nice list of Text Editors One of the things Raymond and I discussed in Oklahoma was Read More...
  • Latest on Agile Project, Reorgs, and Interop

    In a post on January 25th , I said, "I posted yesterday that we had shipped our Enterprise Collateral Management solution based on our new architecture. As I said, we still have a lot more to do ." I provided a concise list of the methodologies, technologies and tools that we used in our 14 month cycle. To update where we are now, it will be necessary for me to give a little more context. First, when I mention "our company", we are actually a Division exclusively devoted to Collateral Management. This division, in turn is part of a much larger worldwide company that has at least 6 more financial sector products dealing with other aspects of managing risk. That company then, in turn is part of a huge Ratings company. The rest of the products are (mostly) integrated into one suite that we sell. Ours is not. One reason is that the various products have been organized into self-contained product groups. That means that we had our own development, marketing, sales, product and management for just Collateral Management. Five or six weeks ago, our company went through a rather large reorganization that aligned things by a global R&D, global Marketing, etc. I think this is an extremely good thing. Our product is now "owned" by R&D which also owns all the other products that are part of the suite and otherwise and we are detached from product so we can focus on development. We can also look at integrating into the suite and bi-directional learning. One consequence of this is now instead of my boss reporting to a VP of Collateral Management, he reports to a Senior Director in R&D who owns a product out of our large offices in Manhattan. The cool thing is that Josh Madden is a 20 year+ veteran developer/architect like me who has done great things in the Financial area for companies like Reuters. He gets development. The other cool thing is that his other product group also uses a lot of Agile techniques and greatly appreciates our total XP environment. One more thing: Read More...
  • New and Notable 136

    Architecture More competition! No, I am very glad to see my good friend and Architect Harry start a series like mine and Mike's with his Morning Coffee 10 . I'm going to have to quicken the pace-) Software Development/Tools JetBrains has released their 1 .2 version of their new CI and build solution, Team City . This is very intersting from three perspectives. The first is that Jet Brains arguabally makes the best Java IDE on the planet, IntelliJ . The second is the Extreme Programming/Agile angle in that Jet Brains has always understood thsi community much better than Microsoft/VSTS and this has been reflected in IntelliJ and now Team City's support of NAnt, NUnit, and many others. The third is (much needed) competition for VS.NET/VSTS/TFS so that they can get better as well. As Scott said very well, if Microsoft is going to ignore us (Hugo the Agilist), people will look more and more to IDEs and tools that directly support the way they do work. WCF/Security A new series starts on CardSpace [via Mike ] Other Two new papers from Ralf Lämmel, who is the man behind LINQ to XSD , on Function OO Programming and the second is on XML Steaming [via Steve ] Technorati Tags: .NET , Windows Communication Foundation , WCF , Agile Development , Extreme Programming , IDE , Team City , Software Architecture , Microsoft Share this post: Email it! | bookmark it! | digg it! | reddit! | kick it! Read More...
  • Agile Project Use of CAB

    In comments to my post about our Agile project entering ship mode, a reader asked for more information about our use of CAB. While I intend to write more about OB and performance, here is a bunch of posts about CAB and our use of it during the last 14 months: Occasionally Connected Service Oriented Smart Clients New and Notable 93 New and Notable 94 Pair Programming at 33,000 Feet CAB Smart Clients in an Agile World Part 1 CAB Smart Clients in an Agile World Part 2 CAB, SCBAT and GAT New Drop of SCBAT Truckin' Along with Iteration 19 and Indigo/Contract First with Services BAT MSDN Architecture Webcast: Extending Microsoft patterns & practices ObjectBuilder Outlook Bar Workspace for CAB! How To: STS/Windows Authentication with ADAM/AD, Roles in AzMan with WCF Connecting up AzMan Roles with WCF Behaviors and CAB CTP and Diagnosing WCF, CAB and other Exceptions New and Notable 110 New and Notable 116 The Cabana Project and CAB Our Agile Project Goes into Ship/Performance Mode Technorati Tags: Software Development , Software Architecture , Agile , Agile Development , Extreme Programming , Smart Clients , CAB , SCBAT , OCC , MVP , Microsoft Share this post: Email it! | bookmark it! | digg it! | reddit! | kick it! Read More...
  • A Beasty COM Interop Problem

    This is one reason why Scott Hanselman calls me an "Interop Beast" -)). We had a thorny COM Interop issue that was causing a crash in certain machine types. Every single pair on the team had worked on it for many hours this week in our Ship Cycle without success. It should have been solved since I was feeding them all the usual Marshal.ReleaseComObject crap again but it refused to be cleaned up. If you remember back from my posts in 2002 , while working with 10 million+ plus lines of COM to interoperate with while I was at Groove, I had run into many thorny lifetime issues. As a review, (for more information read my MSDN articles here and here ), the Runtime Callable Wrapper is a "bridge" between the two very different worlds of managed CLR code and unmanaged code. Its job is to hide all that ugly COM crap from the goodness that is the CLR and feel, smell and taste like any other CLR object. To do this it must perform a tough job as the COM world is completly deterministic and the CLR is completly not as the GC runs when it feels like it. The RCW (usually) has one and only one unmanaged COM reference to the underlying COM object. The problem comes that when you are done using the RCW on the CLR side, you are marking the RCW class for GC but when that GC runs is complelty non-determinstic and probably not going to happen that split second. The issue is that COM wants references cleaned up right away (ref counts-- until 0) and killing off that object or bad things happen, like crashes. So, the RCW is still holding on to that reference while waiting for GC and the underlying reference is still being held. BOOM, comes the crash in many cases, like we faced. In the case, we were trying to interoperate with some old VB6 COM objects from an old legacy previous version of our product that was being driven by a command line script. The first thing is that IDisposale was not completly implemented and so I did this: public void Dispose() { Dispose(true); GC.SuppressFinalize(this); Read More...
  • Our Agile Project Goes into Ship/Performance Mode

    So, I have been writing a bunch of posts over the last 14 months, how we have been using Agile, actually full Extreme Programming practices to build a multi-million dollar Enterprise Software platform and application for the banking sector. We certainly have seriously stressed Extreme Programming/Agile techniques to their limits as this is not a small piece of software, but a large Enterprise solution that gets sold into the top banks in the world. We certainly have proven that you can use Extreme Programming/Agile techniques to build a 1.8 million dollar Enterprise product family. have talked about being an Agile Architect and why it's neccessary, how we went to CTP in July , the Process we use, our tools , and even our failings . So, after 48 Iterations we finished all the functionality we had agreed with Business was necessary for a "Phase I" delivery of our Next Generation/V5.0 product, as our Next Generation architecture will span an ambitious set of goals and products on top of this platform. Business and Development agreed together that we would stop and start a three week Iteration of fixing bugs in our backlog, testing and eating our dog food. In Extreme Programming, you are really not supposed to carry over bugs out of the Iteration but this was extremely hard with one week Iterations. We turned out very well overall as all the testing found just over 100 total bugs for 14 months work which is an order of magnitude less bugs than our previous product development techniques. In addition, we have over 1,000 unit tests and the code is well factored, clean and maintanable. The best part is the whole team understands it, not individuals. I actually haven't written about it but I have been working as Agile Architect the last few months on the next phase and not as part of the Iterations directly. These involve a whole lot of Workflow, Reporting and much more. Anyhow, I made a stand with my management the last 3 weeks and insisted that I code and Read More...
  • CTP and Diagnosing WCF, CAB and other Exceptions

    In the last post , I talked about how we had reached Iteration 33 and gone to CTP with a large International bank. I alluded to some problems. Of course, one of the CTP's main purposes was to find problems and learn from them. We ended up having a variety of problems. There were initial problems in the Click-Once deployment. We built a WIX MSI (great work done by mostly Aaron & Brad) that installs our database scipts, sets up our config files, installs our WCF Services and sets up the service for the Click-Once Deployment of our client. This is installed server-side. The Click-Once deployment failed, our excellent person on the scene went to an xcopy deployment, and as you will see later, that caused some funly issues, although far from being the only and main cause. (Note: I have just split the post into two and the next part will talk about our solutions with the Service Factory, Exception Management and Logging Blocks). The gist of it is that our client never came up (-. Trying to find out why proved to be a two-day somewhat intense struggle for Steve and I who were the main leads dealing with our man in Paris. The first major realization is that all of us on the whole team had done a real crappy job dealing with Indigo Service exceptions not catching the variety of exceptions that could come up including the service not being there. We did have a Global Exception Handler and had a custom dialog with the nice error message. While realizing our shortfalls, the immediate mystery was why the Global Exception Handler did not catch and show these particular exceptions. Left to their own devices, these exceptions would bubble up and evetually show themselves as CAB exceptions. Our global handler handled the Application.ThreadException. What we forgot was to handle the AppDomain.UnhandledException event. It would be something like this: Application.ThreadException += new ThreadExceptionEventHandler(Application_ThreadException); AppDomain.CurrentDomain.UnhandledException Read More...

Copyright © 2006 Microsoft Corporation. All Rights Reserved. | Terms of Use | Privacy Statement | Contact Us