<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/atom10full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><feed xmlns="http://www.w3.org/2005/Atom" xmlns:openSearch="http://a9.com/-/spec/opensearch/1.1/" xmlns:georss="http://www.georss.org/georss" xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr="http://purl.org/syndication/thread/1.0" gd:etag="W/&quot;DkECSH8_fSp7ImA9WhRUFEo.&quot;"><id>tag:blogger.com,1999:blog-34019470</id><updated>2012-01-25T06:57:49.145Z</updated><category term="Development" /><category term="BPM" /><category term="Management" /><category term="Software Architecture" /><category term="Books" /><title>Gonçalo Borrêga's blog - management geek</title><subtitle type="html">Geek management of geek software developers, Agile software development and Software Architecture</subtitle><link rel="http://schemas.google.com/g/2005#feed" type="application/atom+xml" href="http://goncaloborrega.blogspot.com/feeds/posts/default" /><link rel="alternate" type="text/html" href="http://goncaloborrega.blogspot.com/" /><author><name>Gonçalo Borrêga</name><uri>http://www.blogger.com/profile/11461790122718455706</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="24" height="32" src="http://1.bp.blogspot.com/_JzG1s6rUZ5I/TQVr6ODtPtI/AAAAAAAAAYA/jnc4NYlPaeU/S220/WhiteBgBW.jpg" /></author><generator version="7.00" uri="http://www.blogger.com">Blogger</generator><openSearch:totalResults>11</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/atom+xml" href="http://feeds.feedburner.com/Borrega" /><feedburner:info xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" uri="borrega" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><entry gd:etag="W/&quot;CUUFRX48eip7ImA9WhdWFU8.&quot;"><id>tag:blogger.com,1999:blog-34019470.post-6072442527730459292</id><published>2011-09-09T00:06:00.004+01:00</published><updated>2011-09-09T00:06:54.072+01:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-09-09T00:06:54.072+01:00</app:edited><title>Self improvement - putting your neck on the line</title><content type="html">What are the things that you like most at your work? Some techies might say it is debugging a really wicked algorithm, some may say it is really about talking to a customer and finding out a solution to his problems, others will mention that leading a team into success is what really makes them tick.&lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://2.bp.blogspot.com/-GkBBT0sMadE/TmlKX4DiCHI/AAAAAAAAAbY/2e7nUdS3gSY/s1600/Fail-Fast-Fail-Fwd.jpg" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"&gt;&lt;img border="0" height="200" src="http://2.bp.blogspot.com/-GkBBT0sMadE/TmlKX4DiCHI/AAAAAAAAAbY/2e7nUdS3gSY/s200/Fail-Fast-Fail-Fwd.jpg" width="200" /&gt;&lt;/a&gt;For me... learning is what really motivates me. Going out of my comfort level. It may seem hard at first shot but over the years it has shown to be what really makes you getting better on what you do. Accepting every challenge with a strong believe that you'll be able to overcome it...&lt;br /&gt;
&lt;br /&gt;
Being in a constant state of knowing that you don't master what you're about to do, makes you excel in trying to find the better way to do it. And it turns every minor successful task into a major achievement.&lt;br /&gt;
&lt;br /&gt;
Of course, being surrounded with people that push you to push yourself and are there to help you succeed or support you when failing helps a lot. A culture of experimentation and constant improvement is key to keep the innovation coming. Don't be afraid to fail... as long as you fail fast and learn from it.&lt;br /&gt;
&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34019470-6072442527730459292?l=goncaloborrega.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://goncaloborrega.blogspot.com/feeds/6072442527730459292/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=34019470&amp;postID=6072442527730459292&amp;isPopup=true" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/34019470/posts/default/6072442527730459292?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/34019470/posts/default/6072442527730459292?v=2" /><link rel="alternate" type="text/html" href="http://goncaloborrega.blogspot.com/2011/09/self-improvement-putting-your-neck-on.html" title="Self improvement - putting your neck on the line" /><author><name>Gonçalo Borrêga</name><uri>http://www.blogger.com/profile/11461790122718455706</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="24" height="32" src="http://1.bp.blogspot.com/_JzG1s6rUZ5I/TQVr6ODtPtI/AAAAAAAAAYA/jnc4NYlPaeU/S220/WhiteBgBW.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://2.bp.blogspot.com/-GkBBT0sMadE/TmlKX4DiCHI/AAAAAAAAAbY/2e7nUdS3gSY/s72-c/Fail-Fast-Fail-Fwd.jpg" height="72" width="72" /><thr:total>0</thr:total></entry><entry gd:etag="W/&quot;Ak4HQng-fCp7ImA9Wx9XEEQ.&quot;"><id>tag:blogger.com,1999:blog-34019470.post-5348362199029546379</id><published>2010-12-31T15:14:00.003Z</published><updated>2011-01-03T23:55:33.654Z</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-01-03T23:55:33.654Z</app:edited><title>2010 Review</title><content type="html">&lt;style&gt;
.AppsAndCustomers_CaseStudyFactNumber {
color: #C00;
font-size: 28px;
font-weight: bold;
line-height: 1;
padding-right: 6px;
text-align: right;
vertical-align: top;
letter-spacing: -1px;
}
.AppsAndCustomers_CaseStudyFactName {
color: #C00;
font-size: 12px;
font-weight: bold;
line-height: 1.2;
margin-bottom: 6px;
padding-bottom: 0;
vertical-align: top;
}
.AppsAndCustomers_CaseStudyFactDescription {
font-size: 10px;
line-height: 1.2;
margin-bottom: 0;
padding-bottom: 0;
}
&lt;/style&gt;&lt;br /&gt;
&lt;i&gt;&lt;span class="Apple-style-span" style="font-family: arial, sans-serif; line-height: 12px;"&gt;&lt;span style="font-weight: bold;"&gt;Everything changes but change&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: arial, sans-serif; line-height: 12px;"&gt;&amp;nbsp;itself. -- John F. Kennedy.&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: arial, sans-serif; font-size: x-small; line-height: 12px;"&gt;&lt;/span&gt;A lot of things went on in 2010. And very fast.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://2.bp.blogspot.com/_JzG1s6rUZ5I/TR3uroIPuUI/AAAAAAAAAZA/MLxM0lF21U8/s1600/lotto.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://2.bp.blogspot.com/_JzG1s6rUZ5I/TR3uroIPuUI/AAAAAAAAAZA/MLxM0lF21U8/s1600/lotto.png" /&gt;&lt;/a&gt;Going a bit back in time, "Change" is everywhere in my life. I learned how to embrace it well some 15 years ago when my father passed away and our whole life as a family had to change. I had been doing some Spectrum basic programming, so even before going to university, I started working for a person that was addicted to lotto. I started doing Access software to calculate probabilities over lotto. Quite funny actually! (All of a sudden the guy left everything he had and started sculpting as a way of living - personally, I think he won the lotto but never told me so he didn't have to share it :) )&lt;br /&gt;
&lt;br /&gt;
From that point on I looked forward to new things coming, to new challenges appearing... But that was to long ago.&lt;br /&gt;
&lt;br /&gt;
&lt;div style="float: right;"&gt;&lt;table style="margin-top: -10px;"&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td class="AppsAndCustomers_CaseStudyFactNumber" vertical-align="top"&gt;30&lt;/td&gt;&lt;td vertical-align="top"&gt;&lt;span class="AppsAndCustomers_CaseStudyFactName"&gt;% improvement&lt;/span&gt;&lt;br /&gt;
&lt;span class="AppsAndCustomers_CaseStudyFactDescription"&gt;in the end-to-end claim resolution process time&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class="AppsAndCustomers_CaseStudyFactNumber" vertical-align="top"&gt;338&lt;/td&gt;&lt;td vertical-align="top"&gt;&lt;span class="AppsAndCustomers_CaseStudyFactName"&gt;change requests&lt;/span&gt;&lt;br /&gt;
&lt;span class="AppsAndCustomers_CaseStudyFactDescription"&gt;implemented in the first year of operation&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class="AppsAndCustomers_CaseStudyFactNumber" vertical-align="top"&gt;12&lt;/td&gt;&lt;td vertical-align="top"&gt;&lt;span class="AppsAndCustomers_CaseStudyFactName"&gt;languages&lt;/span&gt;&lt;br /&gt;
&lt;span class="AppsAndCustomers_CaseStudyFactDescription"&gt;supported and serving 16 different countries&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;Back to 2010, as the year was starting, I was still with a &lt;a href="http://www.outsystems.com/case-studies/VanAmeyde/Echo/"&gt;Dutch client&lt;/a&gt;, doing a major refactoring on its codebase. This is an insurance claims handling system, that was totally relying on a custom built light BPM system. It was not optimal, to say the least. We were able to refactor the whole thing, without never stopping operations, in an iterative and incremental way. &lt;a href="http://www.outsystems.com/agile-platform/rapid-application-development/business-processes/business-process-technology-overview/"&gt;BPT&lt;/a&gt;, the BPM from the &lt;a href="http://www.outsystems.com/agile-platform/rapid-application-development/#_"&gt;OutSystems&amp;nbsp;platform&lt;/a&gt;, was implemented. It was one of the most challenging tasks I have ever gone through. The business is not even aware of what went on under the cover. They just got it as "the new BPM", the tool to help them analyze and optimize the processes. That's how it should be.&lt;br /&gt;
&lt;br /&gt;
We got an amazing set of patterns from there. The technology was so good that it was able to overcome the major &lt;a href="http://goncaloborrega.blogspot.com/2010/10/bpm-pitfalls.html"&gt;BPM&amp;nbsp;pitfalls&lt;/a&gt;. I put all that experience, cross-referenced it to my previous experiences with BPM implementations and set up a &lt;a href="http://www.outsystems.com/training-and-certification/classroom/courses/business-process-technology/"&gt;BPM training&lt;/a&gt; (using BPT for the hands-on). This was one of the year achievements I am most proud of. I've already lectured 2 in Portugal and one in The Netherlands. The feedback was great!&lt;br /&gt;
&lt;a href="http://1.bp.blogspot.com/_JzG1s6rUZ5I/TR3vIpnhTfI/AAAAAAAAAZE/ujYjT8hsyow/s1600/DSCF2870.JPG" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"&gt;&lt;img border="0" height="150" src="http://1.bp.blogspot.com/_JzG1s6rUZ5I/TR3vIpnhTfI/AAAAAAAAAZE/ujYjT8hsyow/s200/DSCF2870.JPG" width="200" /&gt;&lt;/a&gt;&lt;br /&gt;
It also led to two great events:&lt;br /&gt;
&lt;br /&gt;
&lt;ul&gt;&lt;li&gt;A &lt;a href="http://blog.outsystems.com/aboutagility/2010/04/business-process-technology-patterns-and-best-practices.html"&gt;talk in NextStep&lt;/a&gt;, were I shared a set of &lt;a href="http://www.slideshare.net/goncalo.borrega/bpm-patterns-best-practices-with-outsystems-bpt"&gt;BPM best practices&lt;/a&gt;&amp;nbsp;applied to a real life line of business application&lt;/li&gt;
&lt;li&gt;Winning an&amp;nbsp;&lt;a href="http://www.bpmsoa-communityofpractice.org/contest/Van-Ameyde-winner.htm"&gt;award on BPM and SOA&lt;/a&gt;, the&amp;nbsp;&lt;b style="font-weight: bold;"&gt;&lt;span style="font-family: inherit;"&gt;&lt;i&gt;Business Agility and Process Optimization enabled&amp;nbsp;by BPM and SOA Case Study Competition&lt;/i&gt;,&lt;/span&gt;&lt;/b&gt;&amp;nbsp;given by OMG. I went to Washington DC in order to receive it but, due to some fatality, Dr. Richard Soley, OMG's chairman was not able to be there, neither his replacement (that got stuck in the highway due to some guy shooting at the Pentagon). It turned out to be a good way to do some day walking, discovering the beautiful DC.&lt;/li&gt;
&lt;/ul&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;On the&amp;nbsp;beginning&amp;nbsp;of the year I was also hosting the&amp;nbsp;&lt;a href="http://www.outsystems.com/training-and-certification/classroom/courses/delivery-manager/"&gt;Delivery Manager bootcamp&lt;/a&gt;. It is an amazing experience to do this kind of training. It targets those that are already managing delivery teams or are already very experienced in delivering projects. From role playing to Lego building, the topics are great. We get the chance to discuss a lot about software architecture, Agile management skills and responsibilities and exchange real life experiences from real life projects. I'm enjoying this coaching side of my job and will surely invest in it.&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;Then the big news came. I was offered the role of Head of Product Development for the OutSystems Agile Platform. I'm now following up the excellent work done by &lt;a href="http://kutuma.blogspot.com/"&gt;Kutuma&lt;/a&gt;&amp;nbsp;and trying to figure out ways to make a great team even greater. It turned out to be a big transition; going from a Services unit, where I was mostly delivering business solutions, to one of the most challenging roles for delivering a product in a product oriented company. The biggest change is that while I was previously 100% focused in helping a customer, I'm now with a much broader audience. Helping a specific customer request may not be exactly the best thing for the product.&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;My first release went very well. The team was really focused into delivering the most valued stories, in a very Agile way. It went to the street on 02.12 and we called it the "&lt;a href="http://blog.outsystems.com/aboutagility/2010/12/a-letter-to-santa-from-an-agile-platform.html"&gt;Try me in the cloud&lt;/a&gt;" edition.&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://blog.outsystems.com/aboutagility/cloud-release-collage.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://blog.outsystems.com/aboutagility/cloud-release-collage.png" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;All in all it was a great year. A lot of things changed... and for the better. I'm hoping 2011 will be as good as 2010, with this many experiences, allowing me to learn new things, from new persons.&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;And I wish you'll share that with me.&amp;nbsp;&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="color: #660000; font-size: large;"&gt;Have a great 2011!&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34019470-5348362199029546379?l=goncaloborrega.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://goncaloborrega.blogspot.com/feeds/5348362199029546379/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=34019470&amp;postID=5348362199029546379&amp;isPopup=true" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/34019470/posts/default/5348362199029546379?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/34019470/posts/default/5348362199029546379?v=2" /><link rel="alternate" type="text/html" href="http://goncaloborrega.blogspot.com/2010/12/2010-review.html" title="2010 Review" /><author><name>Gonçalo Borrêga</name><uri>http://www.blogger.com/profile/11461790122718455706</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="24" height="32" src="http://1.bp.blogspot.com/_JzG1s6rUZ5I/TQVr6ODtPtI/AAAAAAAAAYA/jnc4NYlPaeU/S220/WhiteBgBW.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://2.bp.blogspot.com/_JzG1s6rUZ5I/TR3uroIPuUI/AAAAAAAAAZA/MLxM0lF21U8/s72-c/lotto.png" height="72" width="72" /><thr:total>0</thr:total></entry><entry gd:etag="W/&quot;C0QDR3cyeCp7ImA9Wx5UGUg.&quot;"><id>tag:blogger.com,1999:blog-34019470.post-6977534617079221756</id><published>2010-10-24T10:12:00.001+01:00</published><updated>2010-10-24T21:16:16.990+01:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-10-24T21:16:16.990+01:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Management" /><title>Software - The maintenance paradigm</title><content type="html">Why is it that maintenance is seen as the boring faction of software development?&lt;br /&gt;
Why do all good developers usually end up creating the first version of a project, but as soon as it goes to production, we get a "secondary" team, usually with less experienced developers, maintaining it?&lt;br /&gt;
&lt;br /&gt;
I think it is because the act of creating a new piece of software is seen as an art (at least by those creating it), whether maintaining it doesn't. As such, it is logical that you need the most creative ones, the ones with more experience to do it, so they can pick on what they've learned and apply it to the new project.&lt;br /&gt;
&lt;br /&gt;
The fact is that if a developer participates in a project and, as soon as it goes live, he moves on to the next one (and this happens a lot in the software consulting business) you'll end up with someone that doesn't really know what it is like to have a system in production. How can he know that a "real system":&lt;br /&gt;
&lt;a href="http://4.bp.blogspot.com/_JzG1s6rUZ5I/TMP4OYZncSI/AAAAAAAAAWY/a-LtlclYA9Q/s1600/man_maintenance.jpg" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"&gt;&lt;img border="0" src="http://4.bp.blogspot.com/_JzG1s6rUZ5I/TMP4OYZncSI/AAAAAAAAAWY/a-LtlclYA9Q/s1600/man_maintenance.jpg" /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;ul&gt;&lt;li&gt;requires the correct (not too less, but not too much) amount of logging, auditing, performance...&lt;/li&gt;
&lt;li&gt;has &lt;b&gt;data&lt;/b&gt;, tons of it, always much more than what we expected/planned for&lt;/li&gt;
&lt;li&gt;requires some "circuit-breakers" in those special places so that some minor bug does not bring the whole system down&lt;/li&gt;
&lt;li&gt;needs refactoring, grows with refactoring, and that you need to look into all the existing data so that your refactoring is backward data-compatible&lt;/li&gt;
&lt;li&gt;actually &lt;b&gt;has users&lt;/b&gt;, demanding users, sometimes those that never sleep&lt;/li&gt;
&lt;/ul&gt;&lt;div&gt;On top of that, a "maintenance developer" needs to do all of this... and on someone's else code. They need that special capability to reverse engineer a requirement just from the code, understand what the heck the guy who did it was thinking, and still cope with the users demanding fast change because the system they use all day is burning. These are the special artists!&lt;/div&gt;&lt;div&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div&gt;I have &lt;b&gt;one rule&lt;/b&gt;: when interviewing someone for a senior position, ask him how many systems has he got into production. You'll probably hear a number that goes up to 50, proudly. Now ask him how long has he maintained those systems in production. If he has no experience on that, I do not consider him a senior. Just as simple.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div&gt;For consulting projects this is just as simple. If you're building software products there is one difference. If the products goes through several versions, these concerns become shared knowledge. Both teams (the ones doing maintenance of existing versions and those creating new ones) usually work in&amp;nbsp;sync. There is even some rotation between them so they all go through the same set of concerns. If you don't have it on your teams... you should.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34019470-6977534617079221756?l=goncaloborrega.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://goncaloborrega.blogspot.com/feeds/6977534617079221756/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=34019470&amp;postID=6977534617079221756&amp;isPopup=true" title="2 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/34019470/posts/default/6977534617079221756?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/34019470/posts/default/6977534617079221756?v=2" /><link rel="alternate" type="text/html" href="http://goncaloborrega.blogspot.com/2010/10/software-maintenance-paradigm.html" title="Software - The maintenance paradigm" /><author><name>Gonçalo Borrêga</name><uri>http://www.blogger.com/profile/11461790122718455706</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="24" height="32" src="http://1.bp.blogspot.com/_JzG1s6rUZ5I/TQVr6ODtPtI/AAAAAAAAAYA/jnc4NYlPaeU/S220/WhiteBgBW.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://4.bp.blogspot.com/_JzG1s6rUZ5I/TMP4OYZncSI/AAAAAAAAAWY/a-LtlclYA9Q/s72-c/man_maintenance.jpg" height="72" width="72" /><thr:total>2</thr:total></entry><entry gd:etag="W/&quot;C08NQXo-fyp7ImA9Wx5UGEg.&quot;"><id>tag:blogger.com,1999:blog-34019470.post-8609678751734556777</id><published>2010-10-23T15:43:00.003+01:00</published><updated>2010-10-23T17:38:10.457+01:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-10-23T17:38:10.457+01:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="BPM" /><category scheme="http://www.blogger.com/atom/ns#" term="Software Architecture" /><title>BPM pitfalls</title><content type="html">In the last few years I've been working extensively with BPM (technology, analysis, industry development). I don't want to go right now into the discussion of whether BPM is a method, a technology, etc... more on that later. I'd just like to share some real life experiences on actual BPM systems implementation.&lt;br /&gt;
&lt;br /&gt;
I started by implementing BPM systems in a low level view, working a lot with APIs, integration with applications, low level requirements. On top of that, I went through the&amp;nbsp;mindshift&amp;nbsp;people had to endure when analyzing these types of systems, and finally watching the real benefit they take from it.&lt;br /&gt;
&lt;br /&gt;
My conclusions? There are a lot of small details, I'll go through them in the following posts, but for now a general overview of three major topics&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;1. BPM blends with an application&lt;/b&gt;&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;/div&gt;&lt;a href="http://2.bp.blogspot.com/_JzG1s6rUZ5I/TMLz6IyDokI/AAAAAAAAAWU/WECSj_cKMjs/s1600/integration_m.jpg" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"&gt;&lt;img border="0" height="150" src="http://2.bp.blogspot.com/_JzG1s6rUZ5I/TMLz6IyDokI/AAAAAAAAAWU/WECSj_cKMjs/s200/integration_m.jpg" width="200" /&gt;&lt;/a&gt;What is the point in implementing a BPM system if it is not supporting any line-of-business application? Just to make the process standard? You can do that without a system. Gather your collaborators, discover your processes, draw them on a paper (or in Visio or some open source tool if you're really into the technology thing)... because that is the first thing to give you the benefits of using processes. Having them drawn on a piece of paper and sticking it on the wall, so everyone is aware of what they should do, is enough to get you a 12% increase in productivity. Just drawing it (actually this is because by now you "know" the process; it is clear to everyone)!&lt;br /&gt;
So the real benefit of a "BPM system" is when it becomes an integral part of the system that already supports your business. When it allows you to measure, extend, prioritize the tasks that are already done in those systems by your collaborators. Having the two systems running in parallel might bring a benefit... but having it integrated really changes the way they work. If you're thinking on starting a BPM implementation think about how your system will integrate with your application. What will happen if you change your application? Will the process be inconsistent? What is the lifecycle of the application? Does the lifecycle of the process matches the application's? Will they go live at the same time?&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;2. Long lived processes are your biggest concern&lt;/b&gt;&lt;br /&gt;
How much time will your processes last? One support case might take a couple of hours, one installation of landline/DSL/internet/cable tv might last a couple of days, one insurance claim may last months. Suppose you break a leg on a car accident and call your insurer; what if after 3 years you still have problems in your leg? Won't the process to handle your claim still be alive? What about new laws that just came in; what about new fraud detection rules, what about new insurance companies conventions that determine that every claim of a particular kind should be handled in a specific way. Those changes need to be brought into your process. «That's ok» you might say, «the good thing in processes is that they are visually modeled, every tool allows you to change that model easily».&lt;br /&gt;
The thing is, on short-lived processes you can just create a new version of the model and deploy it. But on those processes that last for months or years you just cannot do that, you need to upgrade the &lt;b&gt;current &lt;/b&gt;model, not a new version. And when you do that what will you do with all those instances that were already running in production (since the day you first called your insurance company)? This is a major challenge that is not usually addressed when we're starting our BPM effort. One that will become a major burden when you need to consider it.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;3. Reporting/monitoring is the ultimate outcome&lt;/b&gt;&lt;br /&gt;
What's the purpose of using BPM? It's not about knowing the process (for that you might just use a pencil remember?). It's about monitoring it so you can optimize it, therefore reducing costs.&lt;br /&gt;
So you should make sure the process you &amp;nbsp;are designing is actually measurable. That you can look at the statistics your tool provides you and make the correct judgments. The problem is that this will many times lead you into making a process that is targeted for the reports your tool supports; lead you into making a process that is not business or technically the best design. But if you do it right, you might end up with&amp;nbsp;imperceivable&amp;nbsp;reports just because you added too many levels of subprocesses, or implemented a multi-role process as multiple separate processes to facilitate the integrations with the application or external systems.&lt;br /&gt;
My point it, you'll loose something on most occasions... my advise is that you should design the correct process and choose tools that allow you to build your own custom reports over the processes. That way you'll be focused on building the right process for the right occasion. And you'll still be able to analyze it properly&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/_JzG1s6rUZ5I/TMLxy7279QI/AAAAAAAAAWQ/T8yr0qZnssE/s1600/chart.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="211" src="http://4.bp.blogspot.com/_JzG1s6rUZ5I/TMLxy7279QI/AAAAAAAAAWQ/T8yr0qZnssE/s320/chart.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
What about you? what were your major challenges in BPM systems?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34019470-8609678751734556777?l=goncaloborrega.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://goncaloborrega.blogspot.com/feeds/8609678751734556777/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=34019470&amp;postID=8609678751734556777&amp;isPopup=true" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/34019470/posts/default/8609678751734556777?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/34019470/posts/default/8609678751734556777?v=2" /><link rel="alternate" type="text/html" href="http://goncaloborrega.blogspot.com/2010/10/bpm-pitfalls.html" title="BPM pitfalls" /><author><name>Gonçalo Borrêga</name><uri>http://www.blogger.com/profile/11461790122718455706</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="24" height="32" src="http://1.bp.blogspot.com/_JzG1s6rUZ5I/TQVr6ODtPtI/AAAAAAAAAYA/jnc4NYlPaeU/S220/WhiteBgBW.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://2.bp.blogspot.com/_JzG1s6rUZ5I/TMLz6IyDokI/AAAAAAAAAWU/WECSj_cKMjs/s72-c/integration_m.jpg" height="72" width="72" /><thr:total>0</thr:total></entry><entry gd:etag="W/&quot;C0MHSXYzfSp7ImA9Wx5UGUg.&quot;"><id>tag:blogger.com,1999:blog-34019470.post-5295555526625670662</id><published>2010-10-10T08:11:00.001+01:00</published><updated>2010-10-24T21:17:18.885+01:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-10-24T21:17:18.885+01:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Management" /><title>Cutting features, motivation and appreciation</title><content type="html">When building a product that requires some degree of innovation or creativity the persons involved in implementing it are the key thing to succeed. Specially in software products, that want to have an added value over some other product, the ones who create it really need to think "out-of-the-box", investigate and experiment. They will surely fail sometimes, but that is the process that will help them actually create something fundamentally different, better.&lt;br /&gt;
&lt;a href="http://2.bp.blogspot.com/_JzG1s6rUZ5I/TLFnDqx3X_I/AAAAAAAAAVI/Fcjx7G7IpMo/s1600/superPower.jpg" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"&gt;&lt;img border="0" height="227" src="http://2.bp.blogspot.com/_JzG1s6rUZ5I/TLFnDqx3X_I/AAAAAAAAAVI/Fcjx7G7IpMo/s320/superPower.jpg" width="320" /&gt;&lt;/a&gt;&lt;br /&gt;
Now imagine you have a team full of brilliant people doing that. And they are actually allowed to experiment. They actually build great stuff... much faster than one is able to market and deploy. You'll sometimes have to choose to leave some of this great stuff out. What is wrong in this? Well, we ask for creativity, we get it, but then we need to keep them marinating until the time is right, or the prototype is perfect, or the market is ready to fully appreciate it.&lt;br /&gt;
&lt;br /&gt;
This just became a great way to leave those who created the actual feature thinking "what's it worth? I get cut out...". This becomes even more serious because brilliant people are usually extra proud of their work. «This feature will probably be able to do what it is supposed to, but also... save the world». It becomes something that breaks the creativity flow and an actual &lt;b&gt;motivation breaker&lt;/b&gt;.&lt;br /&gt;
&lt;br /&gt;
But it has to be done. My suggestion is that you take some steps to help people in overcoming this:&lt;br /&gt;
&lt;br /&gt;
&lt;ul&gt;&lt;li&gt;Explain it right from the start. Make it clear that a prototype is not a final product. A product is not only lines of code but involve marketing, design, sales... sometimes even a strategic shift in the organization. Manage the expectations of your team.&lt;/li&gt;
&lt;li&gt;Build some kind of "lab feature set". Have a portfolio of cool features and manage that just as some quick-wins you may have in the product lifecycle. Make them known internally, do some internal market test. You'll be deploying it without actually deploying. Branch the code and you'll be able to go back to it at any point in time and move it from a lab prototype to an actual product feature much more easily.&lt;/li&gt;
&lt;li&gt;Congratulate the one who did it. Do it loud. It is actually a great feature so have no problems in telling her/him that it was actually a great work. You like it! Recognize it!&lt;/li&gt;
&lt;/ul&gt;&lt;br /&gt;
Hopefully you'll still end up with a high creativity level, a happy developer and one more good item on your feature set.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34019470-5295555526625670662?l=goncaloborrega.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://goncaloborrega.blogspot.com/feeds/5295555526625670662/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=34019470&amp;postID=5295555526625670662&amp;isPopup=true" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/34019470/posts/default/5295555526625670662?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/34019470/posts/default/5295555526625670662?v=2" /><link rel="alternate" type="text/html" href="http://goncaloborrega.blogspot.com/2010/10/cutting-features-motivation-and.html" title="Cutting features, motivation and appreciation" /><author><name>Gonçalo Borrêga</name><uri>http://www.blogger.com/profile/11461790122718455706</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="24" height="32" src="http://1.bp.blogspot.com/_JzG1s6rUZ5I/TQVr6ODtPtI/AAAAAAAAAYA/jnc4NYlPaeU/S220/WhiteBgBW.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://2.bp.blogspot.com/_JzG1s6rUZ5I/TLFnDqx3X_I/AAAAAAAAAVI/Fcjx7G7IpMo/s72-c/superPower.jpg" height="72" width="72" /><thr:total>0</thr:total></entry><entry gd:etag="W/&quot;C0MBQ3g7eSp7ImA9Wx5UGUg.&quot;"><id>tag:blogger.com,1999:blog-34019470.post-2244266149040819476</id><published>2009-12-30T13:08:00.002Z</published><updated>2010-10-24T21:17:32.601+01:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-10-24T21:17:32.601+01:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Management" /><title>Feature teams</title><content type="html">Feature teams are an absolute booster of usability in an application. They will focus much more on smaller end-to-end requirements, giving the users a better full scope glimpse from the first sprints.&lt;br /&gt;
&lt;div&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div&gt;Check &lt;a href="http://blog.mountaingoatsoftware.com/the-benefits-of-feature-teams"&gt;this&lt;/a&gt; post from Mike Cohn&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34019470-2244266149040819476?l=goncaloborrega.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://goncaloborrega.blogspot.com/feeds/2244266149040819476/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=34019470&amp;postID=2244266149040819476&amp;isPopup=true" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/34019470/posts/default/2244266149040819476?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/34019470/posts/default/2244266149040819476?v=2" /><link rel="alternate" type="text/html" href="http://goncaloborrega.blogspot.com/2009/12/feature-teams.html" title="Feature teams" /><author><name>Gonçalo Borrêga</name><uri>http://www.blogger.com/profile/11461790122718455706</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="24" height="32" src="http://1.bp.blogspot.com/_JzG1s6rUZ5I/TQVr6ODtPtI/AAAAAAAAAYA/jnc4NYlPaeU/S220/WhiteBgBW.jpg" /></author><thr:total>0</thr:total></entry><entry gd:etag="W/&quot;C0IHSXo-eSp7ImA9Wx5UGUg.&quot;"><id>tag:blogger.com,1999:blog-34019470.post-5159335653361809118</id><published>2009-07-24T13:32:00.005+01:00</published><updated>2010-10-24T21:18:58.451+01:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-10-24T21:18:58.451+01:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Development" /><title>SQL Server, Google like, full text search</title><content type="html">Michael Coles just published a very interesting article on how to build upon SQL Server full text search capabilities by using user friedly (google like) search statements.&lt;br /&gt;
&lt;br /&gt;
Find it here: &lt;a href="http://www.sqlservercentral.com/articles/Full-Text+Search+(2008)/64248/"&gt;http://www.sqlservercentral.com/articles/Full-Text+Search+(2008)/64248/&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34019470-5159335653361809118?l=goncaloborrega.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://goncaloborrega.blogspot.com/feeds/5159335653361809118/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=34019470&amp;postID=5159335653361809118&amp;isPopup=true" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/34019470/posts/default/5159335653361809118?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/34019470/posts/default/5159335653361809118?v=2" /><link rel="alternate" type="text/html" href="http://goncaloborrega.blogspot.com/2009/07/sql-server-google-like-full-text-search.html" title="SQL Server, Google like, full text search" /><author><name>Gonçalo Borrêga</name><uri>http://www.blogger.com/profile/11461790122718455706</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="24" height="32" src="http://1.bp.blogspot.com/_JzG1s6rUZ5I/TQVr6ODtPtI/AAAAAAAAAYA/jnc4NYlPaeU/S220/WhiteBgBW.jpg" /></author><thr:total>0</thr:total></entry><entry gd:etag="W/&quot;C0MMSH05cSp7ImA9Wx5UGUg.&quot;"><id>tag:blogger.com,1999:blog-34019470.post-8375342998168546547</id><published>2009-07-18T23:54:00.001+01:00</published><updated>2010-10-24T21:18:09.329+01:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-10-24T21:18:09.329+01:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Management" /><category scheme="http://www.blogger.com/atom/ns#" term="Software Architecture" /><title>On Agilists vs Architects</title><content type="html">I've been doing software architecture work for quite some time. Both with and without &lt;a href="http://www.outsystems.com/"&gt;OutSystems &lt;/a&gt;platform, and in the recent year adopting agile methodologies.&lt;br /&gt;
&lt;br /&gt;
What I seem to find out is that Agile goes hand in hand with large and distributed systems architecture. By nature these systems already change a lot. We've been trying to reach patterns since the beggining of ages that allow for easy maintenance, no (or low) impact on performance, and most of all, accelerated development. This requires design both at a high level as well as a low level.&lt;br /&gt;
&lt;br /&gt;
Yes, we're agile. However, we cannot drop the high level design up front. We need to have a (not very clear) vision of what we are going to need. And agile copes with that. I found out, when moving to OutSystems, that you are provided with the most relevant patterns from scratch. The very nature of the platform extension mechanisms won't let you easily fail. It also provides you a kind of Domain Specific Language approach from the beggining, that will force you to create (and all developers to follow) well defined guidelines. All the assynchronous design patterns are also easily mapped to the patform potentials in timers. When coping with external systems or a corporate company architecture definition there's not much to trouble us as well. We're either at SOA (which OutSystems fits like a ring) or some other kind of integration pattern, for which you know you'll have an integration layer only for transforming/transporting/auditing/etc., that will be either implemented out of the box, or via a simple extension. All this facilities reduces the effort in defining the high level architecture, assuming you're confortable with the usual design patterns. This way you don't have to go very deep on the initial architecture definition. Just focus on business components/modules decoupling.&lt;br /&gt;
&lt;br /&gt;
I am now in a software factory with a very large architecture basis. The only thing required is that, whenever a new requirement appears, you do an overall architecture impact analysis. If you have the above topics considered, you end up in having a new component. If the business requirement changes (and you'll adopt it "immediately" because you are an agilist), it will probably fit in its own business component, or have relatively low impact on the surroundings.&lt;br /&gt;
&lt;br /&gt;
What about when there's a requirement that reaches all levels? If you've decoupling from the start the Core entities (business domain core - the ones you usually specify the DSL for) from the business components/processes on top of them and also from the integration layers, there's no big issue. You'll probably end up in refactoring some core processes to decouple even more, so that the new requirement fits in an isolated way.&lt;br /&gt;
&lt;br /&gt;
This proved me that agile will make you good architectural choices. And if you know from the start you're going agile, the architecture will come out much stronger and maintainable, just because of the fact that you're thinking, from the beggining of ages it will be ment to change.&lt;br /&gt;
&lt;br /&gt;
Track this at: &lt;a href="http://tinyurl.com/AgilvsArch"&gt;http://tinyurl.com/AgilvsArch&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34019470-8375342998168546547?l=goncaloborrega.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://goncaloborrega.blogspot.com/feeds/8375342998168546547/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=34019470&amp;postID=8375342998168546547&amp;isPopup=true" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/34019470/posts/default/8375342998168546547?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/34019470/posts/default/8375342998168546547?v=2" /><link rel="alternate" type="text/html" href="http://goncaloborrega.blogspot.com/2009/07/on-agilists-vs-architects.html" title="On Agilists vs Architects" /><author><name>Gonçalo Borrêga</name><uri>http://www.blogger.com/profile/11461790122718455706</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="24" height="32" src="http://1.bp.blogspot.com/_JzG1s6rUZ5I/TQVr6ODtPtI/AAAAAAAAAYA/jnc4NYlPaeU/S220/WhiteBgBW.jpg" /></author><thr:total>0</thr:total></entry><entry gd:etag="W/&quot;DU8ERXo9fSp7ImA9WxJUGUg.&quot;"><id>tag:blogger.com,1999:blog-34019470.post-3540352926963716657</id><published>2006-09-10T10:06:00.001+01:00</published><updated>2009-07-18T23:56:44.465+01:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-07-18T23:56:44.465+01:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Software Architecture" /><title>Some Microsoft's O/R links</title><content type="html">Just dropping some links on what's to come from Microsoft in the Object/Relational theme...&lt;br /&gt;&lt;br /&gt;&lt;a href="http://msdn.microsoft.com/vstudio/default.aspx?pull=/library/en-us/dnvs05/html/nxtgenda.asp"&gt;Next-Generation Data Access: Making the Conceptual Level Real&lt;/a&gt;&lt;br /&gt;&lt;a href="http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnvs05/html/ADONETEnFrmOvw.asp"&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnvs05/html/ADONETEnFrmOvw.asp"&gt;The ADO.NET Entity Framework Overview&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnvs05/html/ADONET_EDM.asp"&gt;ADO.NET Tech Preview: Entity Data Model&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Some comments on a later post...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34019470-3540352926963716657?l=goncaloborrega.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://goncaloborrega.blogspot.com/feeds/3540352926963716657/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=34019470&amp;postID=3540352926963716657&amp;isPopup=true" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/34019470/posts/default/3540352926963716657?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/34019470/posts/default/3540352926963716657?v=2" /><link rel="alternate" type="text/html" href="http://goncaloborrega.blogspot.com/2006/09/some-microsofts-or-links.html" title="Some Microsoft's O/R links" /><author><name>Gonçalo Borrêga</name><uri>http://www.blogger.com/profile/11461790122718455706</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="24" height="32" src="http://1.bp.blogspot.com/_JzG1s6rUZ5I/TQVr6ODtPtI/AAAAAAAAAYA/jnc4NYlPaeU/S220/WhiteBgBW.jpg" /></author><thr:total>0</thr:total></entry><entry gd:etag="W/&quot;DU8GRn49eSp7ImA9WxJUGUg.&quot;"><id>tag:blogger.com,1999:blog-34019470.post-8045770737818280577</id><published>2006-09-10T09:16:00.001+01:00</published><updated>2009-07-18T23:57:07.061+01:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-07-18T23:57:07.061+01:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Books" /><category scheme="http://www.blogger.com/atom/ns#" term="Software Architecture" /><title>Vacation book</title><content type="html">&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.amazon.com/gp/product/0321268202"&gt;&lt;img style="MARGIN: 0pt 10px 10px 0pt; WIDTH: 240px; FLOAT: right; HEIGHT: 240px; CURSOR: pointer" border="0" alt="" src="http://images.amazon.com/images/P/0321268202.01._AA240_SCLZZZZZZZ_V61417595_.jpg" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Hi,&lt;br /&gt;I have now started reading "Applying Domain-Driven Design and Patterns: Using .Net" by Jimmy Nilsson. It looks like a very "easy to read" book, with light examples and language. It will be my vacation companion.&lt;br /&gt;&lt;br /&gt;I also listened to Jimmy's interview on .NET rocks las week. I felt quite disappointed as his hands-on knowledge on not so emerging technologies were not Top Class. Altough the book is based on some very real world experiences, I thinck everyone, especially someone who writes a book about object/relational mapping in Microsoft technologies, should be on top of the matter when it comes to SQL Server 2005 or LINK. Other way, what I will be reading will probably be somewhat delayed to the solutions that already are or will soon be available. Ok forget it... just let me read to the end of the book!&lt;br /&gt;&lt;br /&gt;Light off... Algarve here I go!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34019470-8045770737818280577?l=goncaloborrega.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://goncaloborrega.blogspot.com/feeds/8045770737818280577/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=34019470&amp;postID=8045770737818280577&amp;isPopup=true" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/34019470/posts/default/8045770737818280577?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/34019470/posts/default/8045770737818280577?v=2" /><link rel="alternate" type="text/html" href="http://goncaloborrega.blogspot.com/2006/09/vacation-books.html" title="Vacation book" /><author><name>Gonçalo Borrêga</name><uri>http://www.blogger.com/profile/11461790122718455706</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="24" height="32" src="http://1.bp.blogspot.com/_JzG1s6rUZ5I/TQVr6ODtPtI/AAAAAAAAAYA/jnc4NYlPaeU/S220/WhiteBgBW.jpg" /></author><thr:total>0</thr:total></entry><entry gd:etag="W/&quot;DU8CRXkyfCp7ImA9WxJUGUg.&quot;"><id>tag:blogger.com,1999:blog-34019470.post-115764600255395607</id><published>2006-09-07T19:12:00.002+01:00</published><updated>2009-07-18T23:57:44.794+01:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-07-18T23:57:44.794+01:00</app:edited><title>Hello World</title><content type="html">&lt;pre&gt;using System;&lt;br /&gt;&lt;br /&gt;namespace Borreguices {&lt;br /&gt;  public class HelloWorld {&lt;br /&gt;    public static void Main() {&lt;br /&gt;      Console.WriteLine("&lt;span style="COLOR: rgb(51,153,153)"&gt;&lt;b&gt;Hello world...&lt;/b&gt;&lt;/span&gt;");&lt;br /&gt;    }&lt;br /&gt;  }&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34019470-115764600255395607?l=goncaloborrega.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://goncaloborrega.blogspot.com/feeds/115764600255395607/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=34019470&amp;postID=115764600255395607&amp;isPopup=true" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/34019470/posts/default/115764600255395607?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/34019470/posts/default/115764600255395607?v=2" /><link rel="alternate" type="text/html" href="http://goncaloborrega.blogspot.com/2006/09/hello-world.html" title="Hello World" /><author><name>Gonçalo Borrêga</name><uri>http://www.blogger.com/profile/11461790122718455706</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="24" height="32" src="http://1.bp.blogspot.com/_JzG1s6rUZ5I/TQVr6ODtPtI/AAAAAAAAAYA/jnc4NYlPaeU/S220/WhiteBgBW.jpg" /></author><thr:total>0</thr:total></entry></feed>

