<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-2774610638833512746</id><updated>2012-02-16T20:02:11.689-08:00</updated><category term='TFS Road map'/><category term='Language Agnostic'/><category term='sticky ideas'/><category term='Team Foundation Server'/><category term='Visual Studio Team System.'/><category term='bugs'/><category term='TFS'/><category term='development'/><category term='Sybase'/><category term='TFS Foundation Collaboration'/><category term='Powerdesigner'/><category term='physical data model'/><category term='Foundation Server Collaboration'/><category term='logical data model'/><category term='procedural'/><category term='presenting'/><category term='Conceptual data model'/><category term='coding'/><category term='structure'/><category term='standards'/><category term='architecture'/><category term='TFS Implementation Strategy'/><category term='selling technology'/><category term='database'/><category term='Object Oriented'/><title type='text'>Why IT isn't "it" anymore....</title><subtitle type='html'>Developers are always adjusting their game due to deadlines.  Typically the adjustment leads to a movement from OO development to procedural development.  I talk about why that's bad and give options to avoid.</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://ooworks.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2774610638833512746/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://ooworks.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Joe Logan</name><uri>http://www.blogger.com/profile/02689499651390949698</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>8</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-2774610638833512746.post-4005284225074532158</id><published>2011-09-04T11:28:00.000-07:00</published><updated>2011-09-04T11:28:38.379-07:00</updated><title type='text'>Global? Schmobal!</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;I was working in Buffalo New York in a company back when IT teams were more or less silo'd and custom development was king. &amp;nbsp;Now we are in a world were those decentralized teams have become historic artifacts of a once fun and exciting part of our job. &lt;br /&gt;&lt;br /&gt;When the realization hit that IT was no longer going to be the business trusting IT to build things on their own in a time capsule I started to adopt the notion that we would become centralized, &amp;nbsp;On the bright side, I thought, we would be able to work more closely with our colleagues in other countries which is something that always interested me.&lt;br /&gt;&lt;br /&gt;Along came the ground breaking book &lt;a href="http://www.amazon.com/gp/product/0374292795/ref=as_li_tf_tl?ie=UTF8&amp;amp;tag=theamerican01-20&amp;amp;linkCode=as2&amp;amp;camp=217145&amp;amp;creative=399369&amp;amp;creativeASIN=0374292795"&gt;The World Is Flat [Updated and Expanded]: A Brief History of the Twenty-first Century&lt;/a&gt;&lt;img alt="" border="0" height="1" src="http://www.assoc-amazon.com/e/ir?t=theamerican01-20&amp;amp;l=as2&amp;amp;o=1&amp;amp;a=0374292795&amp;amp;camp=217145&amp;amp;creative=399369" style="border: none !important; margin: 0px !important;" width="1" /&gt;&amp;nbsp;which made it seem that we were well on our way to being able to work from anywhere, at any time, with any one. &amp;nbsp;His revelations of reporters being alone without a cameraman and only a mobile device doing video interviews. &amp;nbsp;He talks about the advanced fiber optics that have effectively bridged any and all communication gaps between countries and cultures. &amp;nbsp;It was really shocking to leaders in Western companies who wondered why they were no longer able to compete with the same advantages that they once had.&lt;br /&gt;&lt;br /&gt;That book was written in 2005 so with the speed in which technology advances one would thing that on the brink of 2012 we would certainly be well on our way to a true flattening of the earth. &amp;nbsp;Seemingly we are stuck in a black hole in the area of true globalization. &amp;nbsp;While the technology is in place, the business and social communication framework is still sucking at the knee-caps of Bill Gates and Steve Jobs.&lt;br /&gt;My current role requires frequent travel within Europe, US and Asia. &amp;nbsp;Here are some personal real life examples of how far we have to go until we are truly a global world.&lt;br /&gt;&lt;br /&gt;My phone bills over the first two months averaged in the area of €1.500 per month. &amp;nbsp;Oh, I need to mention that the thousand&amp;nbsp;separator&amp;nbsp;is different depending on where you are. If the decimal mark is a point, the digit group separator is often a comma or a space. If the decimal mark is a comma, the digit group separator is often a point or a space. The problem with the point and the comma as either decimal mark or digit group separator is that, internationally, they have both often been used for both meanings, and their meaning is context-dependent (one must know which notational system is being used in order to interpret them) &amp;nbsp;I digress. &amp;nbsp;My phone bill is one and one half thousand dollars per month.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;&lt;u&gt;Global Schmobal Issue #1 - Shelling out the dough for mobility:&lt;/u&gt;&lt;/b&gt;&lt;br /&gt;I use my mobile phone as my communication device when I am in airports, in hotels, in restaurants, or anywhere away from home. &amp;nbsp;I also use it to check for email and to hook into our IM system within our company. &amp;nbsp;I also use it as a tethering device to my laptop if I am at a location that does not have free wireless. &amp;nbsp;Everything works wonderfully. &amp;nbsp;Performance is good, minimal latency, and very few drop-outs. &amp;nbsp;Tell me though how many sales managers will be willing to shell out&amp;nbsp;€1.500 euro (around $2,000 dollars, or around £1300 British Pounds) per month for their global sales teams. &amp;nbsp;I would say that number is around zero. &amp;nbsp;So now I am left with only a few options. &amp;nbsp;Scale back travel, be disconnected for the most part while I am travelling, or try to persuade networking companies to start to think globally when it comes to constructing their billing models.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;&lt;u&gt;Global Schmobal Issue #2 - Payment Option Madness:&lt;/u&gt;&lt;/b&gt;&lt;br /&gt;Whenever you travel I'm sure that you use credit cards for most of your purchases. &amp;nbsp;Some who are still old-fashioned carry cash. &amp;nbsp;If your really old-fashioned you use&amp;nbsp;traveler&amp;nbsp;checks. &amp;nbsp;If your more hip you may be using your ATM card for most purchases. &amp;nbsp;(I am tempted to escalate this to using personal checks but I don't want the 60 somethings yelling at me when I go to the bingo parlor next week in Amsterdam).&lt;br /&gt;&lt;br /&gt;So you think you can just waltz into any diner in Berlin and show your shiny new Master Card after having a delicious schnitzel with your family. &amp;nbsp;Think again. &amp;nbsp;You probably will need a new card that has a chip in it that guarantees that the card is yours and has not been stolen. &amp;nbsp;Heck, with that they wouldn't even ask you to sign it. &amp;nbsp;Don't bother taking out your ATM card as that wouldn't help you much unless it was from a European Union bank.&lt;br /&gt;&lt;br /&gt;If you go to a cash machine you will be lucky to find one that give you the option of presenting the options in English. &amp;nbsp;I would say you have a 30% chance of English being an option. &amp;nbsp;(I have still yet to be able to change the password on my dutch credit card because I can't figure out how to do it.&lt;br /&gt;&lt;br /&gt;On a side note, try waiting for the waiter to give you the check. &amp;nbsp;It won't happen. &amp;nbsp;In the US you get a check as soon as you say no to dessert. &amp;nbsp;In Europe and Asia they will not give you the check until you ask for it or at least an hour has passed.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;&lt;u&gt;Global Schmobal Issue #3 - Driving:&lt;/u&gt;&lt;/b&gt;&lt;br /&gt;Obviously everyone is familiar with the differences between countries in regard to which side you drive on when you are in different countries. &amp;nbsp;The greater UK community drives on the left with the steering wheel being on the right. &amp;nbsp;India also drives on the left. &amp;nbsp;Most other countries drive on the right. &lt;br /&gt;&lt;br /&gt;The difficulties here go deep.&lt;br /&gt;&lt;br /&gt;Research in 1969 by J. J. Leeming showed countries driving on the left have a lower collision rate than countries driving on the right, although he acknowledged that the sample of left-hand rule countries he had to work with was small, and he was very careful not to claim that his results proved that the differences were due to the rule of the road. It has been suggested this is partly because humans are more commonly right-eye dominant than left-eye dominant.&lt;br /&gt;&lt;br /&gt;In left-hand traffic, the predominantly better-performing right eye is used to monitor oncoming traffic and the driver's wing mirror. In right-hand traffic, oncoming traffic and the driver's wing mirror are handled by the predominantly weaker left eye. In addition, it has been argued that left sided driving is safer for elderly people given the likelihood of their having visual attention deficits on the left side and the need at intersections to watch out for vehicles approaching on the near-side lane. Furthermore, in an RHD car with manual transmission, the driver maintains his or her right (i.e. in the majority of people, dominant) hand on the steering wheel at all times and uses their left hand to change gear.&lt;br /&gt;&lt;br /&gt;Cyclists and horse riders typically mount from the left hand side. This places them on the kerb when driving on the left.&lt;br /&gt;&lt;br /&gt;The largest safety issue is the existence of two systems, right- and left-hand traffic. Visitors used to one system might forget that the other system is used where they are, for example, pedestrians looking the wrong way before crossing a street.&lt;br /&gt;&lt;br /&gt;For me the worry in getting into an accident hurt my ability to focus on work. &amp;nbsp;I would believe there are others out there like me who feel the same way.&lt;br /&gt;&lt;br /&gt;In the end working from&amp;nbsp;wherever, with whoever, and&amp;nbsp;whenever&amp;nbsp;is far from becoming a reality. &amp;nbsp;We have a ways to go but it is not from a lack of technology, it is from the people who chose when and how to make that technology available.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2774610638833512746-4005284225074532158?l=ooworks.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ooworks.blogspot.com/feeds/4005284225074532158/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2774610638833512746&amp;postID=4005284225074532158' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2774610638833512746/posts/default/4005284225074532158'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2774610638833512746/posts/default/4005284225074532158'/><link rel='alternate' type='text/html' href='http://ooworks.blogspot.com/2011/09/global-schmobal.html' title='Global? Schmobal!'/><author><name>Joe Logan</name><uri>http://www.blogger.com/profile/02689499651390949698</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2774610638833512746.post-1384952356801169837</id><published>2010-08-16T07:19:00.000-07:00</published><updated>2010-08-23T22:12:50.969-07:00</updated><title type='text'>CEO Poll &gt; 68% feel IT is an inhibitor to business growth</title><content type='html'>A&amp;nbsp;recent &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_0"&gt;CIO&lt;/span&gt; Insight article a survey of over 150 &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_1"&gt;CEOs&lt;/span&gt; showed that most of them believe that IT is an inhibitor to the overall growth of the company. Maybe not surprising to those in the Senior management positions within a company, but it should be a wake up call to those who believe that sooner or later their business partners will recognize the inherent business value that technology can bring to the table.&lt;br /&gt;&lt;br /&gt;The problem that all IT leaders face right now is the cynicism and basic mistrust of any initiatives that IT proposes that does not show (in a traditional business sense) how it can cut the overall IT budget. &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_2"&gt;CEOs&lt;/span&gt; and their teams are looking for IT leaders to cut costs. They fully believe and expect that their business towers can supply the resources and assets to utilize commercial off the shelf (COTS) products to sufficiently tap into the technology to help grow the business.&lt;br /&gt;&lt;br /&gt;It's easy for someone in IT to look at that strategy as foolishness at the highest level since they have worked with those business folks expected to utilize the technology and know first hand that they have neither the background nor the understanding to leverage the proper tools in the vast COTS world. What's more is that they can only do what any other company can do with those tools. Without allowing an IT strategist to become involved and customize the solution by using not only his or her technological savvy but also their business acumen they are basically throwing in the proverbial IT white flag and considering that side of the business nothing more than overhead.&lt;br /&gt;&lt;br /&gt;There are signs all over the the industry that this is exactly what is happening. IT is more often than not placed under the CFO. All initiatives go through the CFO and not the CEO. The &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_3"&gt;CIO&lt;/span&gt; makes makes his or her case to the person responsible for the bottom line, usually someone with little IT background, except for perhaps the experience of how much it cost them to fix that ugly Y2K bug. Yes, they have been let down before and we in IT are all paying a heavy price for it.&lt;br /&gt;&lt;br /&gt;Our &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_4"&gt;CIOs&lt;/span&gt; have not been doing a good job of promoting the innate value of using technology as a strategic tool to give your company a competitive advantage. Any company or competitor can purchase COTS and by making this the core tooling strategy to improve efficiency throughout the company you are basically saying that your IT division is nothing more than an expense to the organization. If the &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_5"&gt;CIO&lt;/span&gt; is going along for the ride and simply implementing COTS and cutting the overall budget then they are nothing more than an assistant CFO with some technology background.&lt;br /&gt;&lt;br /&gt;While Wall Street is probably happy (cost cutting is the best way to get short term stock increases) but those who are truly concerned about the long tern viability of a company will not be able to compete with companies are are looking for IT departments not only to cut costs and to be efficient, but to also provide true value by suggesting and implementing technology that can give them a competitive advantage.&lt;br /&gt;&lt;br /&gt;The above may sound like we are putting the blame and &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_6"&gt;burden&lt;/span&gt; on the CFO and &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_7"&gt;CIO&lt;/span&gt;. However it goes much deeper than that.&lt;br /&gt;&lt;br /&gt;The initial proverbial bubble of trust between the business and IT from the business perspective popped at the turn of the century. Business leaders are still skeptical of EVERY new technological buzz word. Don't believe me? Try walking into your CFO or CEO office with the suggestion of Cloud Computing or Social Media. How about Service Oriented Architecture or Web 2.0. Now if you really want to see fire in their eyes, try walking in and talking about Oracle upgrade to 11g. How about upgrading to .NET 2.0 framework or using &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_8"&gt;WPF&lt;/span&gt; for our presentation layer. For my final example, if you really want to get your pink slip, offer up Team Foundation Server or an upgrade to &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_9"&gt;SQL&lt;/span&gt; Server 2008.&lt;br /&gt;&lt;br /&gt;Shame on us for not being able to rebuild that trust over the past decade. Instead of learning from our mistakes of the past, we continue to try and force feed new technology down the throats of the business we MUST learn to think like a business partner and not like a technician. In fact we should try and immerse ourselves in the business culture and be business people with hyper technology knowledge. &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_10"&gt;Further&lt;/span&gt; we need to be able to pragmatically propose technology solutions as business people and not as technologists. Finally we need to deliver on what we say without wasting money and later saying that "you have to expect some cost overruns in IT because there are so many unknowns". That's not going to fly in the decade ahead. Say what we are going to deliver and deliver what we say. &lt;br /&gt;&lt;br /&gt;If we fail, we will &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_11"&gt;continue&lt;/span&gt; to lose trust. This not only hurts IT, it hurts the company.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2774610638833512746-1384952356801169837?l=ooworks.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ooworks.blogspot.com/feeds/1384952356801169837/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2774610638833512746&amp;postID=1384952356801169837' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2774610638833512746/posts/default/1384952356801169837'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2774610638833512746/posts/default/1384952356801169837'/><link rel='alternate' type='text/html' href='http://ooworks.blogspot.com/2010/08/ceo-poll-68-feel-it-is-inhibitor-to.html' title='CEO Poll &gt; 68% feel IT is an inhibitor to business growth'/><author><name>Joe Logan</name><uri>http://www.blogger.com/profile/02689499651390949698</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2774610638833512746.post-5978955836321609025</id><published>2010-07-08T01:15:00.000-07:00</published><updated>2010-07-08T01:51:53.765-07:00</updated><title type='text'>Microsoft MVC and flow control</title><content type='html'>I have been involved in several projects that utilized the Model View Controller design pattern. Typically these were custom J2&lt;span id="SPELLING_ERROR_0" class="blsp-spelling-error"&gt;EE&lt;/span&gt; or .NET applications that were modelled after the &lt;a href="http://java.sun.com/blueprints/corej2eepatterns/Patterns/"&gt;J2&lt;span id="SPELLING_ERROR_1" class="blsp-spelling-error"&gt;EE&lt;/span&gt; &lt;span id="SPELLING_ERROR_2" class="blsp-spelling-corrected"&gt;blueprint&lt;/span&gt; DP library&lt;/a&gt;. More often than not we used a package that was built internally that could plug and play with any new implementation. It worked well, the system was very stable with few to no bugs and could be used by any level of developer.&lt;br /&gt;&lt;br /&gt;However for each unique environment or company you will need to build your own generic &lt;span id="SPELLING_ERROR_3" class="blsp-spelling-error"&gt;MVC&lt;/span&gt; package and that takes time and more importantly it takes buy-in from a business &lt;span id="SPELLING_ERROR_4" class="blsp-spelling-corrected"&gt;sponsor&lt;/span&gt; who could care less if you utilize &lt;span id="SPELLING_ERROR_5" class="blsp-spelling-error"&gt;MVC&lt;/span&gt;, &lt;span id="SPELLING_ERROR_6" class="blsp-spelling-error"&gt;XYZ&lt;/span&gt; or any other &lt;span id="SPELLING_ERROR_7" class="blsp-spelling-error"&gt;acronym'd&lt;/span&gt; flavor of the month. Even if you do get buy in, you need a commitment from internal IT leadership to ensure that all developers are in tune with the mindset required to work in a model first environment.&lt;br /&gt;&lt;br /&gt;When Microsoft first came out with their own flavor of &lt;span id="SPELLING_ERROR_8" class="blsp-spelling-error"&gt;MVC&lt;/span&gt; in late 2007 I was hopeful that it would provide the standard plumbing that could reduce the overhead required for a new environment. For the most part, it did that. Yes, it was very &lt;span id="SPELLING_ERROR_9" class="blsp-spelling-corrected"&gt;rudimentary&lt;/span&gt; and was limited the amount of control you had in the &lt;span id="SPELLING_ERROR_10" class="blsp-spelling-corrected"&gt;separation&lt;/span&gt; of concerns, but it gave Microsoft Developers a good entry into the &lt;span id="SPELLING_ERROR_11" class="blsp-spelling-error"&gt;MVC&lt;/span&gt; world. In the past true &lt;span id="SPELLING_ERROR_12" class="blsp-spelling-error"&gt;MVC&lt;/span&gt; frameworks were mostly in the J2&lt;span id="SPELLING_ERROR_13" class="blsp-spelling-error"&gt;EE&lt;/span&gt; domain. I also came to respect the simplicity of the MS version since that should be what we strive for as developers.&lt;br /&gt;&lt;br /&gt;The one thing that the MS &lt;span id="SPELLING_ERROR_14" class="blsp-spelling-error"&gt;MVC&lt;/span&gt; package is missing is proper flow control. Really the only thing within the MS model for flow control is URL mapping. I was able to speak with Scott Guthrie a few years back at a VS Live event and we spoke in great detail about this missing piece of the puzzle. He did say that it was a point of contention/discussion within the MS development team but that they ultimately chose the URL mapping model to KISS, which is again not always a bad thing. About a year after that discussion and after trying to integrate MS &lt;span id="SPELLING_ERROR_15" class="blsp-spelling-error"&gt;MVC&lt;/span&gt; maps into a service environment you quickly find that it is difficult if not impossible to easily take that step. The missing &lt;span id="SPELLING_ERROR_16" class="blsp-spelling-corrected"&gt;component&lt;/span&gt; is flow control.&lt;br /&gt;&lt;br /&gt;Most &lt;span id="SPELLING_ERROR_17" class="blsp-spelling-error"&gt;SOA&lt;/span&gt; implementations involve heavy use of &lt;span id="SPELLING_ERROR_18" class="blsp-spelling-error"&gt;workflow&lt;/span&gt; and URL mapping does not integrate easily with this model. I recently gave a &lt;span id="SPELLING_ERROR_19" class="blsp-spelling-error"&gt;webinar&lt;/span&gt; on how to implement flow control within your MS &lt;span id="SPELLING_ERROR_20" class="blsp-spelling-error"&gt;MVC&lt;/span&gt; applications. I &lt;span id="SPELLING_ERROR_21" class="blsp-spelling-corrected"&gt;patterned&lt;/span&gt; my discussion (note the pun) after the &lt;a href="http://en.wikipedia.org/wiki/Finite-state_machine"&gt;Finite State Machine&lt;/a&gt; design pattern which basically gives every data movement a required start sate, possibly a bunch of processes against that data, and a &lt;span id="SPELLING_ERROR_22" class="blsp-spelling-corrected"&gt;definite&lt;/span&gt; end state. This meshes perfectly with the process flows that are so integral to your &lt;span id="SPELLING_ERROR_23" class="blsp-spelling-error"&gt;SOA&lt;/span&gt; implementation.&lt;br /&gt;&lt;br /&gt;Adding better flow control to your MS &lt;span id="SPELLING_ERROR_24" class="blsp-spelling-error"&gt;MVC&lt;/span&gt; application also is crucial in allowing you to bring the business into your design discussions since the core of your state machine is based on &lt;span id="SPELLING_ERROR_25" class="blsp-spelling-error"&gt;workflow&lt;/span&gt; models, something business owners understand well.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2774610638833512746-5978955836321609025?l=ooworks.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ooworks.blogspot.com/feeds/5978955836321609025/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2774610638833512746&amp;postID=5978955836321609025' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2774610638833512746/posts/default/5978955836321609025'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2774610638833512746/posts/default/5978955836321609025'/><link rel='alternate' type='text/html' href='http://ooworks.blogspot.com/2010/07/mvc-and-flow-control.html' title='Microsoft MVC and flow control'/><author><name>Joe Logan</name><uri>http://www.blogger.com/profile/02689499651390949698</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2774610638833512746.post-3000994217883573566</id><published>2008-05-30T06:33:00.001-07:00</published><updated>2008-05-30T10:32:12.958-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='bugs'/><category scheme='http://www.blogger.com/atom/ns#' term='sticky ideas'/><category scheme='http://www.blogger.com/atom/ns#' term='structure'/><category scheme='http://www.blogger.com/atom/ns#' term='procedural'/><category scheme='http://www.blogger.com/atom/ns#' term='development'/><category scheme='http://www.blogger.com/atom/ns#' term='standards'/><category scheme='http://www.blogger.com/atom/ns#' term='TFS'/><category scheme='http://www.blogger.com/atom/ns#' term='selling technology'/><category scheme='http://www.blogger.com/atom/ns#' term='presenting'/><category scheme='http://www.blogger.com/atom/ns#' term='Object Oriented'/><category scheme='http://www.blogger.com/atom/ns#' term='coding'/><title type='text'>Got an Idea?  Put on your salesman hat!</title><content type='html'>&lt;p&gt;As you know, here I try and promote the concept that building a foundation within your IT department that will allow you to setup standards, enforce them, and to ultimately give your development team the structure they need to succeed and to respond quickly to the business needs without sacrificing Object Oriented principles. Whether your IT staff is offshore, on site, or some combination of the two, there are common principles that apply that will ultimately help the entity you support save money by lower development costs, and ultimately better business tools.&lt;/p&gt;&lt;p&gt;From the feedback I &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_0"&gt;receive&lt;/span&gt;, there is one common thing that is almost always overlooked. Selling these principles to the business sponsors.&lt;/p&gt;&lt;p&gt;I use the term selling loosely in that it can mean selling the idea of purchasing a software utility that can help you become more efficient (i.e. &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_1"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_0"&gt;TFS&lt;/span&gt;&lt;/span&gt;, MOSS, Wiki) or selling a change in a process. I used Wiki as an example because sometimes selling new software is more about implementation planning and time as it is the actual cost.&lt;/p&gt;&lt;p&gt;Let's consider this &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_2"&gt;fictitious&lt;/span&gt; scenario:&lt;/p&gt;&lt;p&gt;A company's IT department has some good architects and designers in various parts of the world, each with their own set of skills and own set of ideas. Every small to medium size company always has at least a few on their team that are well schooled in &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_1"&gt;OO&lt;/span&gt; principles whether it deals with .NET development, Java development, &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_2"&gt;SQL&lt;/span&gt; development, Oracle development, etc. &lt;em&gt;Typically these developers are used more to keep the wheels on instead of leveraging their skills to help the IT department as a whole become more efficient and structured&lt;/em&gt;.&lt;/p&gt;&lt;p&gt;Let's say the &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_3"&gt;SQL&lt;/span&gt; developer (we'll call him &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_4"&gt;Corky&lt;/span&gt;) has an idea to create code blocks for common routines that are called from various applications but in different ways. He figures it would take him about two days to develop and test the code blocks in his scope and maybe another day to draft a technical document describing its usage. Being that he wants to follow the process of running ideas through the proper channels, he proposed the idea to his manager (Kim). Kim said it sounded good, but she wanted him to present the idea governance board for approval with her. &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_5"&gt;Corky&lt;/span&gt; did the presentation and after being unable to answer questions regarding possible issues with certain environments and the implementation cost to each application that utilizes his new code blocks he got a big fat NO.&lt;/p&gt;&lt;p&gt;I think this has probably happened to all of us. You have a great idea that seems like a no &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_6"&gt;brainer&lt;/span&gt;, taking to the approving body, and they turn it down.&lt;/p&gt;&lt;p&gt;The problem is that most of us in IT are poor salespeople. We fail to look at things from the business point of view. We know that our idea will help them in the long run, but we need to understand that they are thinking about what can help them today. If they know you are spending three days working on code blocks, and that other developers will be tied up implementing your idea, they see this as taking away from their current ongoing projects that are more closely tied to business solutions.&lt;/p&gt;&lt;p&gt;I am certainly not qualified to give you definitive advice on how to make your ideas "stick", but here are some suggestions.&lt;/p&gt;&lt;ol&gt;&lt;li&gt;&lt;strong&gt;Be good to your end users&lt;br /&gt;&lt;/strong&gt;If you need approval for an idea, it isn't a good idea to make those you are presenting your idea to feel stupid. Typically the decision makers have less low level technical &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_7"&gt;acumen&lt;/span&gt; than yourself. Present your ideas in a way that makes business sense. For example &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_8"&gt;Corky&lt;/span&gt; could have started his presentation by saying that he can "&lt;em&gt;recover 200 man hours each year which will give us time to setup that email notification system that you wanted and that we quoted 180 hours for&lt;/em&gt;" by implementing his code block idea, instead of saying, "&lt;em&gt;this will standardize our &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_9"&gt;SQL&lt;/span&gt; process".&lt;/em&gt; See the difference?&lt;br /&gt;&lt;br /&gt;In addition, always treat your end users and business sponsors like a customer who gets the full service treatment. Respond quickly to their requests whether or not you can help them right away. Try not to pass the buck. Take &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_10"&gt;responsibility&lt;/span&gt; even if the problem is not in your area or focus. It will payoff in the long run.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;strong&gt;Go beyond the walls of IT and learn the business&lt;br /&gt;&lt;/strong&gt;I probably should have put this in front of number one, for in order to present things in a business sense, you have to understand the business. This is a good idea and goes beyond the scope of making your ideas stick. If you don't understand the business, you can't deliver optimum technology solutions.&lt;br /&gt;&lt;br /&gt;To understand the business, try to inject yourself into as many meetings and projects that require heavy interaction with the business. You can also use problem/resolution moments to get to know the business users. If you have been involved in delivering a business solution, make sure to check with the end users periodically to see how things are going. In fact you should probably setup periodic meetings. Ask them how everything else is going. Maybe you can learn things that you don't know. Finally, you should always read everything you can about your company. Whether it is their quarterly financial report or their newsletter. All of things can help you learn the business.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;strong&gt;Understand the organization's structure and goals&lt;/strong&gt;&lt;br /&gt;In addition to understanding your organization works and operates, you need to have a good understanding of their goals. This involves becoming intimately aware of the culture of the company. What does it stand for? What is their vision? Do they want to go global? Are their immediate concerns financial in nature, for example cutting costs? Be careful here. You cannot base all of your ideas on what will save money. One of the functions of any successful IT company is to create value that helps differentiate the business.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;strong&gt;Build trust with your boss&lt;br /&gt;&lt;/strong&gt;For fear of &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_11"&gt;impugning&lt;/span&gt; the above three points, I will not say that this is the most important thing you can do to help to make your ideas stick. Oh what the heck, I will say that.&lt;br /&gt;&lt;br /&gt;If you have a good idea that you want to implement &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_12"&gt;across&lt;/span&gt; the IT organization, sooner or later someone will ask your boss about the plan privately. If he doesn't trust you, you can forget about getting anything to stick. It is critical to always be honest with your boss. Never try and BS him or her with technical jargon that really doesn't make sense. Surprisingly I have found many who simply dismiss anyone who doesn't write code 9 hours a day as someone who doesn't understand technology. Don't fall into that trap. It is likely that your boss understands very well the technology. Just because he or she isn't familiar with the latest way to use delegates doesn't mean they don't understand how that concept can help the software.&lt;br /&gt;&lt;br /&gt;Also, avoid the temptation to sweep bad news about a project or assignment under the rug. It's better to &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_13"&gt;over share&lt;/span&gt; than to &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_14"&gt;under share&lt;/span&gt;. Management doesn't like it when information feels filtered, like something is being hidden. In that vein, it is almost never a good idea to try and go around your boss. Sometimes ambitious IT folks think they can get ahead by going around. Again, if you want to build trust you need to follow the chain of command. It will help you in more ways than just building trust.&lt;br /&gt;&lt;br /&gt;It must be said that in the end, you have to produce. You have to have some successes in the bank that your boss knows about and this takes time. NEVER walk into a new job and start pushing for changes, no matter how obvious they seem.&lt;br /&gt;&lt;/li&gt;&lt;/ol&gt;&lt;p&gt;The idea (pun intended) here is that putting a new process, idea, software or game plan in place needs buy in. You can't simply think something is a good idea and expect it to get adopted. That only gets you half way to first base. You really have to get outside of your comfort area and press other buttons then your used to press if you really are trying to help the company with your plans.&lt;/p&gt;&lt;p&gt;Here are some references&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://www.cio.com/article/print/341213"&gt;Four Secrets to Becoming a Rising IT Star&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;em&gt;&lt;a href="http://www.madetostick.com/"&gt;Made to Stick: Why Some Ideas Survive and others Die&lt;/a&gt;&lt;/em&gt; by Chip Heath&lt;/li&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2774610638833512746-3000994217883573566?l=ooworks.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ooworks.blogspot.com/feeds/3000994217883573566/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2774610638833512746&amp;postID=3000994217883573566' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2774610638833512746/posts/default/3000994217883573566'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2774610638833512746/posts/default/3000994217883573566'/><link rel='alternate' type='text/html' href='http://ooworks.blogspot.com/2008/05/got-idea-put-on-your-salesman-hat.html' title='Got an Idea?  Put on your salesman hat!'/><author><name>Joe Logan</name><uri>http://www.blogger.com/profile/02689499651390949698</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2774610638833512746.post-3026646603645887249</id><published>2008-04-23T13:18:00.000-07:00</published><updated>2008-04-29T14:23:19.829-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Team Foundation Server'/><category scheme='http://www.blogger.com/atom/ns#' term='TFS'/><category scheme='http://www.blogger.com/atom/ns#' term='TFS Implementation Strategy'/><category scheme='http://www.blogger.com/atom/ns#' term='TFS Road map'/><title type='text'>Team Foundation Server Initial Implementation Strategy - Overcoming Inherit Obstacles</title><content type='html'>Although our company is currently going through the approval process for purchasing and deploying Team Foundation Server (TFS), we have already gone through an Application Life cycle Management review and have begun the process of conceptually applying some TFS features against some of our challenges.&lt;br /&gt;&lt;br /&gt;One thing is for sure. TFS is a tool that can help just about any company that has an IT component become more efficient. However if you are thinking about venturing into these murky waters you have several obstacles to overcome.&lt;br /&gt;&lt;br /&gt;Certainly you will have to deal with those individuals who are averse to change. Everyone knows people in their organization who are comfortable in their current process domain and are afraid that a change may introduce some discomfort, or worse are limited in their skill set and are afraid that a new process may expose some of those limitations.&lt;br /&gt;&lt;br /&gt;I think it is critical that before you introduce TFS or any major change that requires adaptation and adoption you should ensure to those individuals effected that you EXPECT there to be some training and that they should not be afraid of venturing into uncharted territory. In fact the only way to learn new things is to get out of that comfort zone.&lt;br /&gt;&lt;br /&gt;&lt;hr /&gt;&lt;br /&gt;"&lt;em&gt;By nature man hates change. Seldom will he quit his old home till it has actually fallen around his ears.... ...Thomas Carlyle (1795 - 1881) British historian and essayist&lt;/em&gt;&lt;br /&gt;&lt;hr /&gt;&lt;br /&gt;&lt;br /&gt;If you are able to get beyond the change adaption/adoption hurdles, you still have a long way to realizing your goal of implementing TFS, but I can't overstate the importance of these first hurdles.&lt;br /&gt;&lt;br /&gt;Once you get everyone on board and excited about the prospect of finally having a single place to store your code and work through your development tasks, (well, maybe not everyone) you need to analyze and evaluate your current state in the area of source code management and application life cycle management. The first thing to do is inventory all of your digital assets and determine which ones are candidates for improved management. The obvious candidates are your source code libraries, however some may want to consider the prospect of storing associated documentation for your projects including UML docs, requirement docs, and perhaps even legacy project plan and sprint documents if you are in the agile world.&lt;br /&gt;&lt;br /&gt;Once you have determined what you would like to see migrated over to TFS, you should prioritize the individual artifacts and move things in an organized and phased approach. I do not recommend moving everything at once. This would probably not be worth the effort since I am sure there is code out there that you will never need nor want to see again. It would also delay the actual prize of TFS which is using it in your current projects. Finally there is something to be said about starting with a fresh slate.&lt;br /&gt;&lt;br /&gt;In our situation we had dozens of source code repositories located all over the globe, including on users desktops so we did feel that it was a good idea to bring everything into TFS. Note that there is a limit to how many projects you can setup in TFS so I recommend placing all migrated source outside of any project. Also because of this constraint you should be careful about trying to divide large project into too many smaller projects.&lt;br /&gt;&lt;br /&gt;From Microsoft TFS site --- [&lt;em&gt;Team Foundation Server can support a maximum of five hundred (500) team projects if you use the MSF for Agile Software Development process template for project creation. Team Foundation Server can support a maximum of two hundred and fifty (250) team projects if you use the MSF for CMMI Process Improvement process template for project creation. If you have more than five hundred MSF for Agile team projects, or more than two hundred and fifty MSF for CMMI team projects, you must deploy more than one Team Foundation Server]&lt;/em&gt;&lt;br /&gt;&lt;em&gt;&lt;/em&gt;&lt;br /&gt;In addition to your source migration, it is a very good idea to use a single prototype project as your first foray into TFS. You can use this as an opportunity to find out which features you will want your organization to use and which ones to avoid. In addition you can act as the guinea pig and document where you mess up. This will help others avoid your pitfalls.&lt;br /&gt;&lt;br /&gt;Before you start your prototype, you should also go through the two process templates that are included with TFS. These are CMMI and agile. You will likely find that there are missing pieces in these templates and you can and should modify them via their XML definitions. Specifically, you should make sure that your measures align with the PM's measures. If not, you may get some complaints that the tool is not very helpful for the PM's and BA's. It is critical to consistently demonstrate value on that side of your IT organization or you will have trouble establishing a business case for future technology.&lt;br /&gt;&lt;br /&gt;All of these recommendations are meant to help you avoid the common problems in all new IT initiatives. There is no question that TFS can provide significant value to your organization. These include efficiencies which should bubble up to the overall bottom line. But you need to remember that sometimes you need to help prove out the value because the perceived value is sometimes what matters in these early stages.&lt;br /&gt;&lt;br /&gt;ref: &lt;a href="http://msdn2.microsoft.com/en-us/library/ms400709.aspx"&gt;Team Foundation Server Planning Roadmap&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2774610638833512746-3026646603645887249?l=ooworks.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ooworks.blogspot.com/feeds/3026646603645887249/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2774610638833512746&amp;postID=3026646603645887249' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2774610638833512746/posts/default/3026646603645887249'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2774610638833512746/posts/default/3026646603645887249'/><link rel='alternate' type='text/html' href='http://ooworks.blogspot.com/2008/04/team-foundation-server-initial.html' title='Team Foundation Server Initial Implementation Strategy - Overcoming Inherit Obstacles'/><author><name>Joe Logan</name><uri>http://www.blogger.com/profile/02689499651390949698</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2774610638833512746.post-1721919946898916201</id><published>2008-03-11T05:13:00.000-07:00</published><updated>2008-03-11T10:26:50.452-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Conceptual data model'/><category scheme='http://www.blogger.com/atom/ns#' term='logical data model'/><category scheme='http://www.blogger.com/atom/ns#' term='Language Agnostic'/><category scheme='http://www.blogger.com/atom/ns#' term='architecture'/><category scheme='http://www.blogger.com/atom/ns#' term='physical data model'/><category scheme='http://www.blogger.com/atom/ns#' term='database'/><category scheme='http://www.blogger.com/atom/ns#' term='Sybase'/><category scheme='http://www.blogger.com/atom/ns#' term='Powerdesigner'/><title type='text'>Language Agnostics</title><content type='html'>Wouldn't it be terrific if there was some lowest common denominator in speech language? Wouldn't you love to be able to go to Italy, France and Russia and be able to communicate without relying on &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_0"&gt;embarrassing&lt;/span&gt; hand singles to find the nearest bathroom, or ever magnified head affirmations when you get a response that you don't understand?&lt;br /&gt;&lt;br /&gt;Well, that probably is not possible in today's world and may never be. If you want to go to Italy and communicate, learn the language.&lt;br /&gt;&lt;br /&gt;Fortunately in the programming domain, we do have that lowest common denominator in several areas of information technology.&lt;br /&gt;&lt;br /&gt;I have been preparing a demo of &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_1"&gt;Sybase&lt;/span&gt; &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_2"&gt;Powerdesigner&lt;/span&gt; for the folks here and in addition to &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_3"&gt;modeling&lt;/span&gt; tools that allow IT to communicate with the business in a meaningful way, it also allows us to write the bulk of our applications without specifying what language it is in.&lt;br /&gt;&lt;br /&gt;As an example, for this demo I am going to show how to build a Conceptual Data Model. This is sort of the first step in the modeling process and can be created from Business Requirements and conversations directly with the business.&lt;br /&gt;&lt;em&gt;(&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_4"&gt;Powerdesigner&lt;/span&gt; allows you to create Business Process Models (&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_5"&gt;BPM's&lt;/span&gt;) that can generate your conceptual model. However for the scope of this conversation we are assuming that our interaction with &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_6"&gt;Powerdesigner&lt;/span&gt; starts with the &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_7"&gt;CDM&lt;/span&gt;.)&lt;/em&gt;&lt;br /&gt;The &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_8"&gt;CDM&lt;/span&gt; is where we build our entities and define the relationships (foreign keys) and some of the attributes of the entities.&lt;br /&gt;&lt;br /&gt;From there &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_9"&gt;Powerdesigner&lt;/span&gt; generates my Logical Data Model.  You do this by selecting the option to generate a Physical Model, however instead of choosing a DBMS, you chose Logical Data model.  From here we can define our indexes and our primary keys.&lt;br /&gt;&lt;br /&gt;This is where we can stop, take a bow, and thank the modeling gods for allowing such a spectacular idea to surface in all of its glory.  We have just created a language agnostic database.  Or more specifically we have generated a DBMS agnostic model. &lt;br /&gt;&lt;br /&gt;What &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_10"&gt;Powerdesigner&lt;/span&gt; has done for me is collected the common concepts and features behind a databases &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_11"&gt;meta data&lt;/span&gt; and made them available to me in the Logical Data Model.  I am now King Kong.  I can simply push a button and generate the code for a &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_12"&gt;SQL&lt;/span&gt; 2005 database, &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_13"&gt;SQL&lt;/span&gt; 2000, IBM DB2, Oracle 7,8,9 or 10, My &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_14"&gt;SQL&lt;/span&gt; in 5 different flavors, Redbrick Warehouse, and a just about any other DBMS you can think of.  How cool is that?  Very cool.&lt;br /&gt;&lt;br /&gt;Now the task is to get the rest of the IT team to embrace the concept and the value of bringing the abstract concepts discussed here and Language Agnostic modeling to generate code.  Although I have only discussed database here, &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_15"&gt;Sybase&lt;/span&gt; has the same ability to generate Language Agnostic classes which can create my code in any language I want.&lt;br /&gt;&lt;br /&gt;I would be interested in others who have had to sell this concept and those who have been disinterested in embracing this type of &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_16"&gt;culture&lt;/span&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2774610638833512746-1721919946898916201?l=ooworks.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ooworks.blogspot.com/feeds/1721919946898916201/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2774610638833512746&amp;postID=1721919946898916201' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2774610638833512746/posts/default/1721919946898916201'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2774610638833512746/posts/default/1721919946898916201'/><link rel='alternate' type='text/html' href='http://ooworks.blogspot.com/2008/03/language-agnostics.html' title='Language Agnostics'/><author><name>Joe Logan</name><uri>http://www.blogger.com/profile/02689499651390949698</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2774610638833512746.post-8889962205347578717</id><published>2008-02-25T09:16:00.000-08:00</published><updated>2008-03-05T06:52:19.260-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Foundation Server Collaboration'/><category scheme='http://www.blogger.com/atom/ns#' term='Visual Studio Team System.'/><category scheme='http://www.blogger.com/atom/ns#' term='TFS'/><category scheme='http://www.blogger.com/atom/ns#' term='TFS Foundation Collaboration'/><title type='text'>More Team Foundation Server Business Case Talk</title><content type='html'>Here is a piece of advice for those of you who are trying to build a business case for TFS and are currently using VSS for source code control.  Don't use as your sole business case the fact that getting licenses for TFS is cheaper than continuing with the licensing for VSS.&lt;br /&gt;&lt;br /&gt;I know this is not true for all as Microsoft has a floating cost structure and different companies pay for different things.  However in our case there was a significant cost savings by switching over.&lt;br /&gt;&lt;br /&gt;I spoke with Microsoft reps and MVP's for TFS and most say that their customers are switching mainly for the more robust and reliable of the transactional approach to version control that TFS has.  Further the ability to decommission VSS is the most compelling reason they have heard.&lt;br /&gt;&lt;br /&gt;While all this is good and well, many companies have the problem in that the business has to approve work that IT does.  It is hard to convince someone who is getting pressure to build the next great system for managing their sales force that they should instead spend on a product where the immediate benefits are not directed to the business in a way that is easy to communicate.  I know, because we tried that approach and although it hasn't failed yet, it certainly didn't blow their skirt up.&lt;br /&gt;&lt;br /&gt;If I had the ability to start over, I would not focus on version control at all.  I would focus on the features that provide the most direct benefits to the business.  For example I know that TFS allows for the development process to be more transparent.  To me this is a huge benefit to the business.  Instead of spending countless time with the business facing side of IT trying to determine percent complete on the different deliverables in a project, they can get those reports through SharePoint in a second.  Further they can see quickly if projects are going out of scope, find out if they can reign things back in or if the scope creep was necessary.  If so they can communicate this to the users requesting the new system and have documentation ready that explains the added cost.&lt;br /&gt;&lt;br /&gt;Cost savings is another things that I would try and drive home better.   I would not focus on the licensing cost savings at all.  Instead I would try and champion the need for tighter code management, code reuse, and code consolidation.  Instead of trying to manage dozens of different code repositories, we would only need one.  If a developer is looking for some help in some area of functionality they can search for other code that may help them because now it is all in one place.  And if I want to establish a culture of Object Oriented development techniques and have put in some standards, I have a much better chance of monitoring adherence if I can see all checkin's that are going on.&lt;br /&gt;&lt;br /&gt;Hopefully someone will chime in on their war stories of trying to get TFS approved.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2774610638833512746-8889962205347578717?l=ooworks.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ooworks.blogspot.com/feeds/8889962205347578717/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2774610638833512746&amp;postID=8889962205347578717' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2774610638833512746/posts/default/8889962205347578717'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2774610638833512746/posts/default/8889962205347578717'/><link rel='alternate' type='text/html' href='http://ooworks.blogspot.com/2008/02/more-team-foundation-server-business.html' title='More Team Foundation Server Business Case Talk'/><author><name>Joe Logan</name><uri>http://www.blogger.com/profile/02689499651390949698</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2774610638833512746.post-5032778052699885626</id><published>2008-02-20T06:50:00.000-08:00</published><updated>2008-02-20T06:52:47.458-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='TFS Foundation Collaboration'/><title type='text'>Creating a Business Case for TFS</title><content type='html'>Our company is struggling with our suggestion that we adopt TFS as our developer collaboration and repository tool.  They are struggling becauase we are not 100% Microsoft shop.  We use Java, ISeries and Oracle.  Let's discuss some good business case points that we and others could use to help roll this out.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2774610638833512746-5032778052699885626?l=ooworks.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ooworks.blogspot.com/feeds/5032778052699885626/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2774610638833512746&amp;postID=5032778052699885626' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2774610638833512746/posts/default/5032778052699885626'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2774610638833512746/posts/default/5032778052699885626'/><link rel='alternate' type='text/html' href='http://ooworks.blogspot.com/2008/02/creating-business-case-for-tfs.html' title='Creating a Business Case for TFS'/><author><name>Joe Logan</name><uri>http://www.blogger.com/profile/02689499651390949698</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry></feed>
