Welcome to Windows Communication Foundation (WCF)
Top Tasks :

WCF Community Bloggers

Browse by Tags

All Tags » CLR » Extreme Programming   (RSS)

  • New and Notable 157

    CLR/Tools An excellent post from Scott Hanselman on Managing Change with .NET Assembly Diff Tools . As I said , during the MVP Summit I spent time with Patrick Smachia and Scott Hanselman looking at the absolutely amazing new beta of NDepend . Microsoft/Ajax/Web 2.0 is Bull**** Ayende already took Paul Graham to task for all the flaws in Microsoft is Dead. I just really despise this notion of Ajax is the savior of mankind and that this Web 2.0 stuff is anything more than bull****. As Ayende says, " The premise that Ajax is the new OS is flawed on many levels. I am writing this on a computer with fast CPU and quite a bit of memory, and I would really like those CPU cycles to do stuff that I want, not interpreted javascript in a browser window to give me something that is similar to what I want. There is a limited class of applications where Ajax applications makes sense. Gmail has the luck to hit every point on the list. Other applications are simply not viable on the web. I can't imagine an IDE on the web offering even close to the bare-bones functionality of Visual Studio, for instance, or the ease and power of Outlook. " Agile/Extreme Programming/Continuous Design Jeremy and I were going to co-author a paper on Continuous Design and Architecture for DevTeach before I pulled out of the conference. He begins the discussion with an excellent post here . I may turn in my (former) presentation into an article on this blog I love a post that is entitled " Just Some Thoughts This Morning " that turns into pretty profound thoughts on Continuous Design from Jeremy. Best part, and what I would emphasize is, "Just really good code. If I could have anything, and only one thing, it would be well written, well factored, clean, intention revealing code . Everything else is just trying to sprinkle on some heavy spices to disguise the fact that your code smells like rotten meat." Software Architecture Nice set of 10 Links for 4/9/07 My favorite links to Prag Dave: The RADAR Architecture: Read More...
  • New and Notable 154

    Sitting here on Saturday morning with a nice cup of Kona coffee. There just is no better coffee in the world. Strong but deceivingly smooth. I really miss our former annual trips to the Big Island that we used to take with my Father-In-Law and family before he got ill. We used to go up in the hills and buy direct from the growers. Umm, nothing better. The coffee may actually help me get over my funk morning as there is now a lot going on my personal life but you know you never get to blog what really matters Agile/Extreme Programming/Tools While Steve was off having a baby , I went back into the team pairing full time for this Iteration rather than doing do the advance work on Workflow and stuff. It felt really good and of course it was a challenge for me, as many of the particulars of the system have changed since I last paired and I had to actually relies on my pair more. What floored me, even though it shouldn't at this point, is just how good this team has gotten. Every single person on the team could explain any place in the code at any time and we were able to evolve the design and code together. It still blows me away the power of pair programming BTW, we are working on our THIRD release of our Collateral Management tools and architecture to at least two Top 50 Banks! Ayende has released Rhino Mocks 3.0 , the premier Mocking solution on .NET IMHO He was also on .NET Rocks talking about NHibernate and Rhino Mocks Since he still had time after the last two somehow, he also put out an hour long screen cast about Rhino Mocks Jeremy is Code Complete on Structure Map 2.0 Financial and Banking Mike Walker announces the OBA Reference Application Pack for Loan Origination Systems (OR-Loss ). This is a lot of great stuff here Mike is also doing a Financial Services Unwrapped IV Webcast Workflow Paul Andrews blogs about the 3rd performance paper released for WF Sylvain blogs that K2 BlackPearl Beta 1 TR2 is available. BlackPearl is the version of K2.NET built on WF CLR/C# Read More...
  • 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...
  • 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...
  • 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...

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