|
|
Browse by Tags
All Tags » Agile and Extre... » Extreme Programming (RSS)
-
There! Enough things in one title? The thing is that Steve Eichert and my whirlwind day covered all of that and more. Let me explain. So, for two weeks, Steve and I have been off discussing/pairing on some big ticket "Infrastructure" items. There are many things on the list and we have been applying both heavy design discussions on the whiteboard with practical prototypes or solutions. These areas have covered the whole spectrum from what will the world look like in 3 months, 6 months, a year, 3 years to caching architecture to workflow to to parallel computing to replacements for CAB to Services to reporting and much more. Yesterday, we spent a day on our "Reporting Strategy or Reporting Architecture." Being a large Enterprise platform, it is very important to have a comprehensive Reporting story on both the Smart Client side as well as on the Server side. I'll just leave it very generally that there are certain kind of reports for us that are really "Statements" and then Ad-Hoc Reporting. My story for most of the last year and half has been SQL Server Reporting Services . I have had good experiences with it at Adesso even as reporting on Oracle. Of course, there is that "small footprint" of having a "reporting database" for SQL Server but virtually all the "Enterprise Reporting" solutions require some footprint. However, lately it has become totally apparent to us that virtually every single Bank customer of ours is an Oracle shop only other than very small hedge funds and we have really de-emphasized SQL Server. Its still in our CI build and code gen but we are now optimizing for Oracle. Anyway, we wanted to keep the Statement stuff simple. Forget a whole reporting thing for that. We really only need to generate pretty much canned statements with customizable logos and footers. So Steve and I began to look at a whole bunch of HTML to PDF or .NET libraries for PDF generation. We ended up feeling real good Read More...
|
-
Software Design/Agile/XP Ayende provides the substance and answers to Frans in the Working software over Comprehensive documentation and Documentation can be ambiguous in the most insidious ways . Since these posts substantially cover what I like to think I would say and believe (and say it better), I'll let them be the pointers from my Writing Maintainable Code post as they pretty much say it all See also Ayende's earlier Understanding Bad Code WCF/CardSpace Rick Strahl on Hosting a WCF Service in a non-.NET Client Getting CardSpace Tokens Programmatically Technorati Tags: Software Design , Agile Development , Extreme Programming , WCF , Indigo , CardSpace Read More...
|
-
I have spent a lot of time through the night and some today to try to get my personal blog in order after the Mac options didn't pan out. We have a really important, large external release going out to two external banks next Friday but we stopped this week's Iteration to fix bugs that had been found. In XP, you don't keep going when you have bugs, you stop and fix them. VSTS/TFS TFS is still way too hard to install. The install that my experienced IT guy started last week finally got done last night and took him roughly 16 hours of work time to install including SQL Server 2005 Standard. That is still way too long. To "breadboard" TFS, I am putting in my Workflow Architectural Spikes. More later. Technorati Tags: .NET , VSTS , TFS , Team FoiFinancial and Banking , Extreme Programming , Agile , Agile Development , Workflow , K2 , Windows Workflow , Mocks Share this post: Email it! | bookmark it! | digg it! | reddit! | kick it! Read More...
|
-
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...
|
-
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...
|
-
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...
|
-
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...
|
-
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...
|
-
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...
|
-
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...
|
-
I must apologize to my very good friend Jim Shore who I was supposed to put a blog post up for quite a while ago and I spaced it in the frenzy of two projects I am in now. As you might remember, Jim came on my team and really built the team up into the super team they are now. He is a master of Extreme Programming, that's right I said XP, not "Agile," and I am thrilled that he is developing a must-read book on Extreme Programming . They are looking for reviewers so pitch in especially if you do NOT have a lot of experience with XP: " I'm very proud to announce that chromatic and I are writing a book called The Art of Agile Development . It will be published by O'Reilly in 2007. Our aim is to make an intensely practical book that shows mainstream development teams how to adopt, use, and ultimately master the art of agile software development. See the preface for more. We are currently writing the draft manuscript and we'd like you to be part of the review process. If you'd like to help out, great! Read the sections linked below and send your comments to the art-of-agile mailing list . We provide a list of questions with each section for you to focus on as you review. We eagerly read every review, although we usually don't respond unless we have questions ." Technorati Tags: Extreme Programming , Agile , Agile Development , Books Share this post: Email it! | bookmark it! | digg it! | reddit! | kick it! Read More...
|
-
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...
|
-
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...
|
-
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...
|
|
|
|