<?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-7517480</id><updated>2011-10-11T01:51:24.263-07:00</updated><category term='cognitive therapy'/><category term='management consulting'/><category term='mental health'/><category term='agile'/><category term='organizational transformation'/><category term='leadership'/><title type='text'>Carl's Consulting Adventures</title><subtitle type='html'>An account of Carl's experiences as he ventures out into the world of management consulting.</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://carlaugustsimon.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7517480/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://carlaugustsimon.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Carl August Simon</name><uri>http://www.blogger.com/profile/02402312641087070394</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://photos1.blogger.com/blogger/213/467/320/SOAExecForum.jpg'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>35</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-7517480.post-2653815027053987856</id><published>2011-09-11T09:25:00.000-07:00</published><updated>2011-09-11T09:26:58.248-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='mental health'/><category scheme='http://www.blogger.com/atom/ns#' term='leadership'/><title type='text'>Insane or Enlightened Leader?</title><content type='html'>A friend of mine alerted me of this book, &lt;a href="http://www.amazon.com/First-Rate-Madness-Uncovering-Between-Leadership/dp/1594202958/ref=sr_1_1?s=books&amp;amp;ie=UTF8&amp;amp;qid=1315751775&amp;amp;sr=1-1"&gt;A First-Rate Madness&lt;/a&gt; by Nassir Ghaemi.&lt;br /&gt;&lt;br /&gt;In it, the author makes a case for insanity as a positive indicator for effective leadership and sound mental health as an indicator for effective status-quo management.&lt;br /&gt;&lt;br /&gt;I take this to mean that in order to keep things running, we need the sane to keep the lights on and the insane to make things better.&lt;br /&gt;&lt;br /&gt;Loosely translated, the Managers who see as their mission to keep things the same are best suited for a status quo situation. They tend to resist change and see it as a direct attack on their whole being. They experience deviations from protocol and procedure as failure. These types are the most prevalent in top management today because they gives us comfort that they can be controlled, or at least won't do something unexpected. As such they are the main impediment to progress. &lt;br /&gt;&lt;br /&gt;The Leaders who see as their mission to change things are best suited for an undesirable situation (like several around us now). Their appetite for risk is much greater than the ordinary person. Rather, they experience a low-risk situation as uncomfortable and even frightening. These people are often attributed with mental illnesses ranging from ADHD to paranoid schizophrenia. These individuals scare common folk with their outlandish ideas and frighten managers with their roguish behavior. What makes things worse is that these kinds of characters have a tendency to achieve actual results, which creates a power struggle between the Managers and the Leaders.&lt;br /&gt;&lt;br /&gt;In order to achieve true results, Managers and Leaders must collaborate and learn to appreciate each other's points of view, giving each other the space to apply their talents while managing each other's perceived neuroses.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7517480-2653815027053987856?l=carlaugustsimon.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://carlaugustsimon.blogspot.com/feeds/2653815027053987856/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7517480&amp;postID=2653815027053987856' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7517480/posts/default/2653815027053987856'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7517480/posts/default/2653815027053987856'/><link rel='alternate' type='text/html' href='http://carlaugustsimon.blogspot.com/2011/09/insane-or-enlightened-leader.html' title='Insane or Enlightened Leader?'/><author><name>Carl August Simon</name><uri>http://www.blogger.com/profile/02402312641087070394</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://photos1.blogger.com/blogger/213/467/320/SOAExecForum.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7517480.post-5515930528391948369</id><published>2011-04-10T15:04:00.000-07:00</published><updated>2011-04-10T15:04:25.726-07:00</updated><title type='text'>Introduction to Patterns of Corporate Behavior</title><content type='html'>After observing people and organizations at all levels for a long time, a set of standard behavior patterns emerge. Some are helpful, but a surprising number are quite harmful. In this series, I’ll discuss the harmful ones, how to spot them and how to replace them with helpful patterns.&lt;br /&gt;&lt;br /&gt;Mind you, this is no corporate self-help series. Just like behavior therapy, there is no substitute for someone coaching an individual through improvement. But it will allow the reader to start to identify whether something’s wrong and realize that there’s something that can be done about it.&lt;br /&gt;&lt;br /&gt;For example, imagine a person with so-called &lt;a href="http://en.wikipedia.org/wiki/Borderline_personality_disorder"&gt;Borderline Personality Disorder&lt;/a&gt;. These individuals come across as perfectly normal, if slightly quirky. But when interacting with them for a while, you’ll find that their reactions to ordinary events are somewhat exaggerated. When they turn their fury on you, for no apparent reason, you’re left to wonder what it is that you did that was so heinous. If you don’t know the pattern, you’ll be challenged to see the symptoms, let alone the underlying issues. What’s worse, you will react in a counter-productive way, exacerbating the problem.&lt;br /&gt;&lt;br /&gt;Recognizing patterns is only the beginning. A critical aspect of improving behavior is the driving motivation. Incentives often are long-term: if you stop smoking NOW, you’ll live longer. If you start exercising NOW, you’ll be healthier at advanced age. If you try Agile NOW, you’ll have a better grasp on your project portfolio a year from now.&lt;br /&gt;&lt;br /&gt;The motivators that keep people locked in their behavior patterns are immediate. If those are not diminished or neutralized, there is nary a chance for any improvement. And without changed behavior, any Program Of Change is bound to fail.&lt;br /&gt;&lt;br /&gt;Notwithstanding the pathological aspects of addiction, if a smoker were to get nauseous soon after taking her first drag, if an alcoholic were to get a splitting headache soon after one drink, it would be hard for them to keep up the habit. So if bad behavior were to have immediate negative repercussions, whereas good behavior would have immediate positive effects, the person in question would be more bound to stick with the good behavior.&lt;br /&gt;&lt;br /&gt;As with &lt;a href="http://en.wikipedia.org/wiki/Cognitive_behavioral_therapy"&gt;Cognitive Behavioral Therapy&lt;/a&gt;, one cannot be expected to figure this out on their own. You have to be coached through it. Instead of taking a pill to numb the symptoms (e.g. push your teams to be more Agile), you change the behavior that creates the symptoms in the first place. Therefore, there has to be an incentive to change that is almost as immediate as medication.&lt;br /&gt;&lt;br /&gt;Let’s look at a few textbook examples of seemingly laudable, but ultimately destructive behavior. The Over-promising Sales Guy, the Blame-Storming Executive and the Bleeding-Edge technologist&lt;br /&gt;&lt;br /&gt;The sales guy is afraid to disappoint the customer, yet by over-promising beyond his company’s capacity, he’s doing just that. But he doesn’t know, he thinks he’s being aggressive and pushy. If every time he over-promises, he is confronted with this early on and has to go talk to the customer and apologize, he will experience exactly what he’s trying to avoid, immediately.&lt;br /&gt;&lt;br /&gt;The newly minted executive has learned that holding your staff accountable is the way to stature and promotion. After all, as project manager she got her projects delivered come hell or high water. And now that she manages other project managers, getting them to get things done should work the same. Especially if she publicly berates under-performers her staff will get to know her as someone to be reckoned with. When there’s trouble, she holds lengthy blame-storming sessions, not so much to figure out what collectively went wrong but on who to pin the blame. Her expectation is that her staff will fall in line and execute her assignments to the best of their ability if she holds them personally accountable.&lt;br /&gt;&lt;br /&gt;But instead, her project managers and other staff spend more time covering their backs than getting actual work done. Now the whole project portfolio is making hardly any progress. Unfortunately for our newly promoted program manager, her PMs are Agile and the waste from cumbersome process becomes apparent within a few iterations, indicating her as the main impediment.&lt;br /&gt;&lt;br /&gt;For the chief architect, playing with the latest gadgets and tools has become a way of life. He became chief because he helped his firm enter a new age of computing by introducing SOA. He continues to introduce new technologies, well beyond the needs of the firm and the capacity for adoption of the IT staff. Implementations are not thought through and as such, the support burden for developers continues to grow. At some point, the company is hamstrung by the very technology that was supposed to give them a competitive advantage. The recent close collaboration between Operations and Development make it abundantly clear what behavior has gotten them in this bind.&lt;br /&gt;&lt;br /&gt;Patterns persist because people have seen their superiors be successful with them. It’s learned behavior. Conversely, people promote others who are like them, for better or for worse. So people are filtered based on their behavior, not so much on their results, ensuring the perpetuation of these patterns.&lt;br /&gt;&lt;br /&gt;Much like certain forms of abuse, these destructive corporate behavior patterns are hard to break and are passed on from senior to junior workers. it is imperative that they are recognized and treated with short-term incentive programs in a low-risk setting.&lt;br /&gt;&lt;br /&gt;We will discuss each pattern and outline possible approaches to disrupt them or at least diminish their impact.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7517480-5515930528391948369?l=carlaugustsimon.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://carlaugustsimon.blogspot.com/feeds/5515930528391948369/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7517480&amp;postID=5515930528391948369' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7517480/posts/default/5515930528391948369'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7517480/posts/default/5515930528391948369'/><link rel='alternate' type='text/html' href='http://carlaugustsimon.blogspot.com/2011/04/introduction-to-patterns-of-corporate.html' title='Introduction to Patterns of Corporate Behavior'/><author><name>Carl August Simon</name><uri>http://www.blogger.com/profile/02402312641087070394</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://photos1.blogger.com/blogger/213/467/320/SOAExecForum.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7517480.post-4840387324913518241</id><published>2011-01-10T18:09:00.000-08:00</published><updated>2011-01-10T18:09:04.802-08:00</updated><title type='text'>Agile and the Trough of Disillusionment</title><content type='html'>Everywhere you look, companies are turning to Agile. Even my sister, who works for a huge European city’s government, said that she’s introducing Agile practices. Professional Services organizations say they need to “go Agile” because their clients demand it.&lt;br /&gt;&lt;br /&gt;Yet, when examining what that means in practice, not much is really changing. People are still starting multi-year projects, with massive scope, budgets and resources. They still fail to establish proper project context within which costs and risks can be contained. And they still plan the execution in excruciating detail, to then execute the plan to the letter. Wavering from this plan equals failure. And as such, people expecting Agile to finally solve their organizational challenges are very disappointed: Agile seems like a lot of smoke, mirrors and snake oil.&lt;br /&gt;&lt;br /&gt;The rub lies in how organizations measure success.&lt;br /&gt;&lt;br /&gt;The only reliable measure of success is the value of capitalizable assets. It doesn’t matter how well you executed the project to plan, if whatever your team delivered does not generate revenue, make you more competitive or reduce costs, it was wasted effort.&lt;br /&gt;&lt;br /&gt;The concept of putting a clear business value on each project already sets them up for success. Success as measured in low-risk, high-value execution. Stopping a project because it has become too risky or net negative value is only sound business. Better to use the resources on a different initiative that remains viable rather than have them go to waste on a deathmarch project.&lt;br /&gt;&lt;br /&gt;Agile, unlike Scrum and XP, is not a set of activities and processes: it’s a risk-mitigation philosophy. The activities employed to implement this philosophy tend to be industry-specific. Furthermore, the way these activities are executed differs for each organization. If the results are supporting the philosophy, there is no wrong way to do Agile. If an organization continuously evaluates its effectiveness and output, and seeks to diminish any factors that negatively impact it, it could be called Agile.&lt;br /&gt;&lt;br /&gt;From this follows that ‘going Agile” is not something that can be relegated to the troops while the generals continue business as usual. On the contrary: there has to be very strong leadership, by example and by changed behavior, to support an organization’s move to Agile.&lt;br /&gt;&lt;br /&gt;So in conclusion, the disillusionment with Agile is understandable. Now that practitioners are waking up to the root causes, we’re entering a new, more mature stage of Agile-ness and move into the era of Executive Agile Transformation.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7517480-4840387324913518241?l=carlaugustsimon.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://carlaugustsimon.blogspot.com/feeds/4840387324913518241/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7517480&amp;postID=4840387324913518241' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7517480/posts/default/4840387324913518241'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7517480/posts/default/4840387324913518241'/><link rel='alternate' type='text/html' href='http://carlaugustsimon.blogspot.com/2011/01/agile-and-trough-of-disillusionment.html' title='Agile and the Trough of Disillusionment'/><author><name>Carl August Simon</name><uri>http://www.blogger.com/profile/02402312641087070394</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://photos1.blogger.com/blogger/213/467/320/SOAExecForum.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7517480.post-7173746154319196588</id><published>2010-12-16T19:02:00.000-08:00</published><updated>2011-01-21T08:27:51.715-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='agile'/><category scheme='http://www.blogger.com/atom/ns#' term='organizational transformation'/><category scheme='http://www.blogger.com/atom/ns#' term='management consulting'/><category scheme='http://www.blogger.com/atom/ns#' term='cognitive therapy'/><title type='text'>Corporate Behavior Therapy</title><content type='html'>A while back I started to write about how organizational transformation is not rooted in activities and tools, but in people’s behaviors.&lt;br /&gt;&lt;br /&gt;After several more years in the field, I have noticed that the most effective approach to OT is akin to &lt;a href="http://en.wikipedia.org/wiki/Cognitive_therapy"&gt;Cognitive Therapy&lt;/a&gt;. In a nutshell, CT aims to change how people think about and react to inputs and as such change how they view themselves and the world around them. &lt;br /&gt;&lt;br /&gt;OT has a very similar goal. You aim to change the way a company or division views themselves and their ecosystem. And that is done most effectively by changing people’s behaviors. &lt;br /&gt;&lt;br /&gt;The most critical part of that behavior is how people measure &lt;b&gt;each others&lt;/b&gt; performance. Do political apparatchiks make it to the top, despite their lack of business contribution or are people measured on their impact on the firm’s revenues, reputation and talent retention? From a simple survival perspective, people will behave according to how they can be judged most successful. &lt;br /&gt;&lt;br /&gt;On a more tactical level, how project portfolios are handled and how the projects therein are valued is another critical component of how a company executes. Is the concept of a project portfolio a list of projects with people’s allocations? Or is it an asset portfolio, with constantly changing valuations and real-time feedback of the overall health? Are projects judged by how well they follow some process or by how rapidly and accurately business needs are met? &lt;br /&gt;&lt;br /&gt;Then finally, how are innovators treated? Does every new idea need to be vetted with one person or a committee or are people given a forum where they can display their ideas and stir enthusiasm? Do a few people have the power to squash new initiatives unchecked or are these evaluated on their objective merits? &lt;br /&gt;&lt;br /&gt;Most corporate behaviors are rooted in its culture. So to change those if needed, a culture shift will be necessary. That is a huge challenge, often avoided by OT practitioners. It’s a lot easier to talk about specific activities and tools than about people themselves. However, this topic cannot be avoided if OT is to have a chance to stick.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7517480-7173746154319196588?l=carlaugustsimon.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://carlaugustsimon.blogspot.com/feeds/7173746154319196588/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7517480&amp;postID=7173746154319196588' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7517480/posts/default/7173746154319196588'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7517480/posts/default/7173746154319196588'/><link rel='alternate' type='text/html' href='http://carlaugustsimon.blogspot.com/2010/12/corporate-behavior-therapy.html' title='Corporate Behavior Therapy'/><author><name>Carl August Simon</name><uri>http://www.blogger.com/profile/02402312641087070394</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://photos1.blogger.com/blogger/213/467/320/SOAExecForum.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7517480.post-3449363278167639277</id><published>2010-12-10T19:10:00.000-08:00</published><updated>2010-12-10T19:40:40.428-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='agile'/><category scheme='http://www.blogger.com/atom/ns#' term='management consulting'/><category scheme='http://www.blogger.com/atom/ns#' term='cognitive therapy'/><title type='text'>The Real Adventure Begins</title><content type='html'>&lt;!--[if gte mso 9]&gt;&lt;xml&gt;  &lt;w:worddocument&gt;   &lt;w:view&gt;Normal&lt;/w:View&gt;   &lt;w:zoom&gt;0&lt;/w:Zoom&gt;   &lt;w:trackmoves/&gt;   &lt;w:trackformatting/&gt;   &lt;w:punctuationkerning/&gt;   &lt;w:validateagainstschemas/&gt;   &lt;w:saveifxmlinvalid&gt;false&lt;/w:SaveIfXMLInvalid&gt;   &lt;w:ignoremixedcontent&gt;false&lt;/w:IgnoreMixedContent&gt;   &lt;w:alwaysshowplaceholdertext&gt;false&lt;/w:AlwaysShowPlaceholderText&gt;   &lt;w:donotpromoteqf/&gt;   &lt;w:lidthemeother&gt;EN-US&lt;/w:LidThemeOther&gt;   &lt;w:lidthemeasian&gt;X-NONE&lt;/w:LidThemeAsian&gt;   &lt;w:lidthemecomplexscript&gt;X-NONE&lt;/w:LidThemeComplexScript&gt;   &lt;w:compatibility&gt;    &lt;w:breakwrappedtables/&gt;    &lt;w:snaptogridincell/&gt;    &lt;w:wraptextwithpunct/&gt;    &lt;w:useasianbreakrules/&gt;    &lt;w:dontgrowautofit/&gt;    &lt;w:splitpgbreakandparamark/&gt;    &lt;w:dontvertaligncellwithsp/&gt;    &lt;w:dontbreakconstrainedforcedtables/&gt;    &lt;w:dontvertalignintxbx/&gt;    &lt;w:word11kerningpairs/&gt;    &lt;w:cachedcolbalance/&gt;   &lt;/w:Compatibility&gt;   &lt;m:mathpr&gt;    &lt;m:mathfont val="Cambria Math"&gt;    &lt;m:brkbin val="before"&gt;    &lt;m:brkbinsub val="&amp;#45;-"&gt;    &lt;m:smallfrac val="off"&gt;    &lt;m:dispdef/&gt;    &lt;m:lmargin val="0"&gt;    &lt;m:rmargin val="0"&gt;    &lt;m:defjc val="centerGroup"&gt;    &lt;m:wrapindent val="1440"&gt;    &lt;m:intlim val="subSup"&gt;    &lt;m:narylim val="undOvr"&gt;   &lt;/m:mathPr&gt;&lt;/w:WordDocument&gt; &lt;/xml&gt;&lt;![endif]--&gt;&lt;!--[if gte mso 9]&gt;&lt;xml&gt;  &lt;w:latentstyles deflockedstate="false" defunhidewhenused="true" defsemihidden="true" defqformat="false" defpriority="99" latentstylecount="267"&gt;   &lt;w:lsdexception locked="false" priority="0" semihidden="false" unhidewhenused="false" qformat="true" name="Normal"&gt;   &lt;w:lsdexception locked="false" priority="9" semihidden="false" unhidewhenused="false" qformat="true" name="heading 1"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 2"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 3"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 4"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 5"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 6"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 7"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 8"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 9"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 1"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 2"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 3"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 4"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 5"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 6"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 7"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 8"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 9"&gt;   &lt;w:lsdexception locked="false" priority="35" qformat="true" name="caption"&gt;   &lt;w:lsdexception locked="false" priority="10" semihidden="false" unhidewhenused="false" qformat="true" name="Title"&gt;   &lt;w:lsdexception locked="false" priority="1" name="Default Paragraph Font"&gt;   &lt;w:lsdexception locked="false" priority="11" semihidden="false" unhidewhenused="false" qformat="true" name="Subtitle"&gt;   &lt;w:lsdexception locked="false" priority="22" semihidden="false" unhidewhenused="false" qformat="true" name="Strong"&gt;   &lt;w:lsdexception locked="false" priority="20" semihidden="false" unhidewhenused="false" qformat="true" name="Emphasis"&gt;   &lt;w:lsdexception locked="false" priority="59" semihidden="false" unhidewhenused="false" name="Table Grid"&gt;   &lt;w:lsdexception locked="false" unhidewhenused="false" name="Placeholder Text"&gt;   &lt;w:lsdexception locked="false" priority="1" semihidden="false" unhidewhenused="false" qformat="true" name="No Spacing"&gt;   &lt;w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading"&gt;   &lt;w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List"&gt;   &lt;w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid"&gt;   &lt;w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1"&gt;   &lt;w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2"&gt;   &lt;w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1"&gt;   &lt;w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2"&gt;   &lt;w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1"&gt;   &lt;w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2"&gt;   &lt;w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3"&gt;   &lt;w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List"&gt;   &lt;w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading"&gt;   &lt;w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List"&gt;   &lt;w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid"&gt;   &lt;w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1 Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2 Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1 Accent 1"&gt;   &lt;w:lsdexception locked="false" unhidewhenused="false" name="Revision"&gt;   &lt;w:lsdexception locked="false" priority="34" semihidden="false" unhidewhenused="false" qformat="true" name="List Paragraph"&gt;   &lt;w:lsdexception locked="false" priority="29" semihidden="false" unhidewhenused="false" qformat="true" name="Quote"&gt;   &lt;w:lsdexception locked="false" priority="30" semihidden="false" unhidewhenused="false" qformat="true" name="Intense Quote"&gt;   &lt;w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2 Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1 Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2 Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3 Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1 Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2 Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1 Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2 Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1 Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2 Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3 Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1 Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2 Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1 Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2 Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1 Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2 Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3 Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1 Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2 Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1 Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2 Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1 Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2 Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3 Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1 Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2 Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1 Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2 Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1 Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2 Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3 Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1 Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2 Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1 Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2 Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1 Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2 Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3 Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="19" semihidden="false" unhidewhenused="false" qformat="true" name="Subtle Emphasis"&gt;   &lt;w:lsdexception locked="false" priority="21" semihidden="false" unhidewhenused="false" qformat="true" name="Intense Emphasis"&gt;   &lt;w:lsdexception locked="false" priority="31" semihidden="false" unhidewhenused="false" qformat="true" name="Subtle Reference"&gt;   &lt;w:lsdexception locked="false" priority="32" semihidden="false" unhidewhenused="false" qformat="true" name="Intense Reference"&gt;   &lt;w:lsdexception locked="false" priority="33" semihidden="false" unhidewhenused="false" qformat="true" name="Book Title"&gt;   &lt;w:lsdexception locked="false" priority="37" name="Bibliography"&gt;   &lt;w:lsdexception locked="false" priority="39" qformat="true" name="TOC Heading"&gt;  &lt;/w:LatentStyles&gt; &lt;/xml&gt;&lt;![endif]--&gt;&lt;!--[if gte mso 10]&gt; &lt;style&gt;  /* Style Definitions */  table.MsoNormalTable  {mso-style-name:"Table Normal";  mso-tstyle-rowband-size:0;  mso-tstyle-colband-size:0;  mso-style-noshow:yes;  mso-style-priority:99;  mso-style-qformat:yes;  mso-style-parent:"";  mso-padding-alt:0in 5.4pt 0in 5.4pt;  mso-para-margin-top:0in;  mso-para-margin-right:0in;  mso-para-margin-bottom:10.0pt;  mso-para-margin-left:0in;  line-height:115%;  mso-pagination:widow-orphan;  font-size:11.0pt;  font-family:"Calibri","sans-serif";  mso-ascii-font-family:Calibri;  mso-ascii-theme-font:minor-latin;  mso-fareast-font-family:"Times New Roman";  mso-fareast-theme-font:minor-fareast;  mso-hansi-font-family:Calibri;  mso-hansi-theme-font:minor-latin;  mso-bidi-font-family:"Times New Roman";  mso-bidi-theme-font:minor-bidi;} &lt;/style&gt; &lt;![endif]--&gt;Well, I finally did it!&lt;br /&gt;&lt;br /&gt;I started my own &lt;a href="http://www.lucamackenzie.com/"&gt;management consulting practice&lt;/a&gt;. It sounds like a bigger deal than it is, really. But being a free agent surely has its advantages. And I just LOVE that title, president…  &lt;p class="MsoNormal"&gt;Starting an S-corp is not the hassle it used to be. You can &lt;a href="http://www.legalzoom.com/legal-incorporation/incorporation-overview.html"&gt;incorporate&lt;/a&gt;, get a &lt;a href="http://www.godaddy.com/default.aspx?ci=17035"&gt;domain &lt;/a&gt;with a website, get your &lt;a href="http://www.irs.gov/businesses/small/article/0,,id=102767,00.html"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_0"&gt;EIN&lt;/span&gt;&lt;/a&gt;, open a corporate account, and pay your taxes, all without getting dressed. You still have to mail in your articles of incorporation and fax in your form 2553, though. Poo…&lt;/p&gt;  &lt;p class="MsoNormal"&gt;So the next challenge is creating a pipeline of work. As I have written before, The Network Is Your Career, and no more so than when you are your own product.&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;/p&gt;Here is where your reputation and the connections you have nurtured over the years make all the difference. In keeping with the season, if you have been naughty and driven a hard bargain, you may end up with lumps of coal for projects. If you have been nice however, and played fair, were reliable and kept your clients’ interest at heart, you are welcomed back wherever you go. In today’s hyper-connected world, it’s easy to spread the word. But there still is great value in contacting old friends and colleagues and explaining to them what your focus is. They may not be prospects, now or ever. But they talk to people that may need your help. And the better your network knows what value you can bring, the more leads you get.  &lt;p class="MsoNormal"&gt;&lt;/p&gt;Coming out of a nasty recession, it appears many companies are realizing that business as usual no longer cuts it. But they are grappling with formulating a vision of what “better” would look like. What makes improving even harder is that executives and directors have not woken up to the notion that nothing will change unless they start measuring their reports differently. A Program of Change is for staff, not the corner office.  &lt;p class="MsoNormal"&gt;Per the&lt;a href="http://www.gartner.com/technology/research/hype-cycles/index.jsp"&gt; Gartner Group Hype Cycle&lt;/a&gt;, Agile is stuck in the Trough Of Disillusionment, and rightfully so. Agile was hijacked by faddists and me-too companies, just like SOA was, and subverted into another prescriptive, waste-prone process. Many people have not had a chance to witness the power of simplicity and transparency agile approaches bring. Pilot projects were started, agile and scrum coaches were brought in and things started feeling differently. But when the coaches left and the pilot projects were delivered, somehow everything went back to the way it was. The root cause is that people went through the motions of agile practices, but did not internalize its philosophy nor change their behavior. They can’t because the way their performance is measured hasn’t changed.&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;/p&gt;That’s why I decided to focus on Executive Agile Transformation, or EAT. EAT your own dog-food. You are what you EAT. Whoa, I better go trademark that…&lt;br /&gt;&lt;br /&gt;All kidding aside, programs of change do not stand a chance unless a company changes the way it measures business contribution, from the top down. Yes, executives are a tough bunch to change. But they can do it and when they do, miracles happen. And not only at Christmas.  &lt;p class="MsoNormal"&gt;My biggest challenge will be to get executives to admit they have a problem. Here is where we will take guidance from psychology and apply practices from &lt;a href="http://en.wikipedia.org/wiki/Cognitive_therapy"&gt;Cognitive Therapy&lt;/a&gt;.&lt;/p&gt;  &lt;p class="MsoNormal"&gt;And so the adventure begins…&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7517480-3449363278167639277?l=carlaugustsimon.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://carlaugustsimon.blogspot.com/feeds/3449363278167639277/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7517480&amp;postID=3449363278167639277' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7517480/posts/default/3449363278167639277'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7517480/posts/default/3449363278167639277'/><link rel='alternate' type='text/html' href='http://carlaugustsimon.blogspot.com/2010/12/real-adventure-begins.html' title='The Real Adventure Begins'/><author><name>Carl August Simon</name><uri>http://www.blogger.com/profile/02402312641087070394</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://photos1.blogger.com/blogger/213/467/320/SOAExecForum.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7517480.post-7568427138623828361</id><published>2010-03-02T07:47:00.000-08:00</published><updated>2010-03-02T08:13:33.650-08:00</updated><title type='text'>Gradual versus sudden shift from waterfall to agile</title><content type='html'>&lt;span style="font-size:85%;"&gt;Hello readers!&lt;br /&gt;&lt;br /&gt;Well, it's time to pick up the thread on my consulting adventures. Too many thoughts to share.&lt;br /&gt;&lt;br /&gt;A former client of mine asked me:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;"Do you have a quick summary of the &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_0"&gt;plusses&lt;/span&gt; and minuses of a gradual versus sudden shift from waterfall to agile for an org?  In other words what are the implications of transitioning over 2 months versus 2 years?&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;&lt;br /&gt;And if you have a portfolio of programs, with a common pool of resources, do you let the majority of programs stay on waterfall and move one or two projects to agile, or is it better to move everything to agile?&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-style: italic;"&gt;Do you have any papers, books, case studies to shed light on this topic?"&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;My experience is this.&lt;br /&gt;&lt;br /&gt;Gradual change has the following advantages:&lt;br /&gt;&lt;/span&gt;&lt;ul&gt;&lt;li&gt;&lt;span style="font-size:85%;"&gt; People have more time to adjust if changes are introduced piece-meal&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size:85%;"&gt;People will be less likely to resist change if it's something they can get their heads around &lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size:85%;"&gt;Each incremental change can be evaluated on its impact and rolled back if it's net negative Incremental changes will have the time to &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_1"&gt;engrain&lt;/span&gt; themselves in the daily routine, creating a ratchet effect: once the change is part of daily life, it will be hard to roll back.&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;The drawbacks are:&lt;br /&gt;&lt;/span&gt;&lt;ul&gt;&lt;li&gt;&lt;span style="font-size:85%;"&gt; It takes a long time to see a payout from the changes &lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size:85%;"&gt;When changes are split up too much, they may fail to have a positive effect, causing the organization to falsely reject the change &lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size:85%;"&gt;The longer the &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_2"&gt;rollout&lt;/span&gt; of changes, the more chance detractors have to discredit the change program &lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size:85%;"&gt;A long-running program of change is at risk of falling victim to business cycle volatility. An economic downturn will surely kill such a program&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;At a former employer, I introduced changes in packets. When I slowed the rate of change down too much,giving people a chance to catch up, the program stalled under constant criticism of detractors. When the firm had to struggle for its survival, (which it lost), they all but killed the program.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;You move one project, or a cluster of dependent projects at a time.&lt;br /&gt;&lt;br /&gt;The client responded with:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-style: italic;"&gt;"&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_3"&gt;Hmmm&lt;/span&gt;, hard to imagine an independent project in a portfolio.  Shared resources, shared outcomes, shared technology infrastructures, shared release dates.  If my assertion is true (there's no such thing as an independent project), would this not say you should go all-or-nothing with agile?&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt; Assume you go "all-in" with agile, then it becomes a question of adoption speed, no?"&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;Ah, when I say independent, I mean independent delivery assets.&lt;br /&gt;&lt;br /&gt;Another way to divide it is to decide a point in time after which new&lt;br /&gt;projects are run in an Agile fashion. From that point on new projects&lt;br /&gt;are properly &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_4"&gt;incepted&lt;/span&gt;, storied and tracked.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;Going all-in with Agile, or any program of change, is a recipe for disaster. You should approach the introduction of Agile as an Agile project in and of its own.&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7517480-7568427138623828361?l=carlaugustsimon.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://carlaugustsimon.blogspot.com/feeds/7568427138623828361/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7517480&amp;postID=7568427138623828361' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7517480/posts/default/7568427138623828361'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7517480/posts/default/7568427138623828361'/><link rel='alternate' type='text/html' href='http://carlaugustsimon.blogspot.com/2010/03/gradual-versus-sudden-shift-from.html' title='Gradual versus sudden shift from waterfall to agile'/><author><name>Carl August Simon</name><uri>http://www.blogger.com/profile/02402312641087070394</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://photos1.blogger.com/blogger/213/467/320/SOAExecForum.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7517480.post-115561232262087375</id><published>2006-08-01T20:15:00.000-07:00</published><updated>2006-08-14T20:25:22.633-07:00</updated><title type='text'>Agile, the SOA hangover cure on InfoQ</title><content type='html'>Here's a fun little &lt;a href="http://www.infoq.com/articles/Agile--The-SOA-Hangover-Cure;jsessionid=EFD8B5DED840DF9502597D7A080B1B8B"&gt;story&lt;/a&gt; about making SOA happen by taking simple yet strategic steps, using Agile practices.&lt;br /&gt;&lt;br /&gt;http://www.infoq.com/articles/Agile--The-SOA-Hangover-Cure;jsessionid=EFD8B5DED840DF9502597D7A080B1B8B&lt;br /&gt;&lt;br /&gt;BTW, this will be my last Agile/SOA/Consulting Adventure post, since I have given up being a consultant for a more earth-bound existence as a Head of Project Management.&lt;br /&gt;&lt;br /&gt;The adventure continues however with a sassy &lt;a href="http://corpsextherapy.blogspot.com/"&gt;blog&lt;/a&gt; about Agile Organizational Transformation.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7517480-115561232262087375?l=carlaugustsimon.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://carlaugustsimon.blogspot.com/feeds/115561232262087375/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7517480&amp;postID=115561232262087375' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7517480/posts/default/115561232262087375'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7517480/posts/default/115561232262087375'/><link rel='alternate' type='text/html' href='http://carlaugustsimon.blogspot.com/2006/08/agile-soa-hangover-cure-on-infoq.html' title='Agile, the SOA hangover cure on InfoQ'/><author><name>Carl August Simon</name><uri>http://www.blogger.com/profile/02402312641087070394</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://photos1.blogger.com/blogger/213/467/320/SOAExecForum.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7517480.post-115281057457791384</id><published>2006-07-21T10:03:00.000-07:00</published><updated>2006-07-25T09:15:11.066-07:00</updated><title type='text'>Practical AgileSOA - Making the transformation stick</title><content type='html'>Of course it would be great if the small victories were permanent ones. However, unless there is an obvious benefit to changed behavior, people tend to revert to their old ways.&lt;br /&gt;&lt;br /&gt;The business needs to understand how SOA is going to move some of their Key Performance Indicators. That progress needs to be baselined and tracked vigorously. This of course does not mean reams of BS data. On the contrary, a few metrics are selected based on their true meaning to the business. It is pointless to measure throughput rates and latency if those numbers cannot be translated into business value.&lt;br /&gt;&lt;br /&gt;The change SOA brings about needs to be made very visible, even if that change is incremental and under the covers. When business and IT alike learn that they can be more efficient, more flexible, less expensive and more aligned by embracing the mindset of Agile and SOA, it is more likely that the changes brought about by these philosophies become permanent.&lt;br /&gt;&lt;br /&gt;So, after all this, it is time for you to get started with AgileSOA.&lt;br /&gt;Or if you have already been trying to get it off the ground, revise your current SOA approach and take it more one step at a time.&lt;br /&gt;&lt;br /&gt;Next steps for the reader:&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Find your candidate services&lt;/li&gt;&lt;li&gt;Go make them, simple, clean and quickly.&lt;/li&gt;&lt;li&gt;Chronicle what you learn&lt;/li&gt;&lt;li&gt;Share your experiences&lt;/li&gt;&lt;li&gt;Repeat&lt;/li&gt;&lt;/ol&gt; Good night, good luck and good learning!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7517480-115281057457791384?l=carlaugustsimon.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://carlaugustsimon.blogspot.com/feeds/115281057457791384/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7517480&amp;postID=115281057457791384' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7517480/posts/default/115281057457791384'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7517480/posts/default/115281057457791384'/><link rel='alternate' type='text/html' href='http://carlaugustsimon.blogspot.com/2006/07/practical-agilesoa-making.html' title='Practical AgileSOA - Making the transformation stick'/><author><name>Carl August Simon</name><uri>http://www.blogger.com/profile/02402312641087070394</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://photos1.blogger.com/blogger/213/467/320/SOAExecForum.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7517480.post-115281010233560491</id><published>2006-07-20T09:59:00.000-07:00</published><updated>2006-07-25T09:08:41.656-07:00</updated><title type='text'>Practical AgileSOA - Getting some governance started</title><content type='html'>As developers get started with building services, they will gather invaluable experience on how to develop SO applications within the context of their organization. This experience, plus best practices and emerging standards, need o be captured and chronicled. An internal group, overtly supported by executive management, needs to be created to become the Service Competency Center (SCC).&lt;br /&gt;&lt;br /&gt;The mission of this group is not to dictate, but to facilitate. They are the SOA body of knowledge (the SOA-BOK, if you will) and they are responsible for getting the early trappings of an SOA infrastructure started. They are also responsible for informing development teams about the virtues and drawbacks of SO AD, via workshops, internal seminars and intranet forums.&lt;br /&gt;&lt;br /&gt;The SCC must position itself to detect, analyze and propose to resolve organizational constraints for a true, firm wide SOA to flourish. One of these constraints is inter-departmental priority conflict. Others are incorrect technological assumptions and general resistance to change.&lt;br /&gt;&lt;br /&gt;The SCC must emit an atmosphere of enablement, of inclusion. To that effect, an SOA "social worker" may be very useful. Such an individual would visit with groups attempting to embrace SOA and work with them to overcome any obstacles, technical or organizational.&lt;br /&gt;&lt;br /&gt;This is a departure from the traditional Technology evangelist concept, which has historically been met with skepticism and suspicion.&lt;br /&gt;&lt;br /&gt;The SCC needs to minimally advocate an incremental approach to SOA, and optimally promote Agile practices to the full extent possible. Individuals and teams are generally overwhelmed by large enterprise IT projects and feel lost, out of touch or simply left in the dark. The continuous feedback channels promoted by Agile, plus the transparency of progress and resource use will greatly improve developers' sense of accomplishment.&lt;br /&gt;This in turn will create buy-in and eventually commitment.&lt;br /&gt;&lt;br /&gt;Finally, the SCC must keep executive management with their eye on the prize. There must be unwavering executive support for the SOA endeavor. The SCC can accomplish this similarly by setting small, short-term goals, providing transparency, measure visible progress and hitting these goals consistently.&lt;br /&gt;&lt;br /&gt;That will instill the trust of the execs and keep their attention.&lt;br /&gt;&lt;br /&gt;Next post: Making the transformation stick&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7517480-115281010233560491?l=carlaugustsimon.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://carlaugustsimon.blogspot.com/feeds/115281010233560491/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7517480&amp;postID=115281010233560491' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7517480/posts/default/115281010233560491'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7517480/posts/default/115281010233560491'/><link rel='alternate' type='text/html' href='http://carlaugustsimon.blogspot.com/2006/07/practical-agilesoa-getting-some.html' title='Practical AgileSOA - Getting some governance started'/><author><name>Carl August Simon</name><uri>http://www.blogger.com/profile/02402312641087070394</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://photos1.blogger.com/blogger/213/467/320/SOAExecForum.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7517480.post-115280995672464359</id><published>2006-07-19T16:57:00.000-07:00</published><updated>2006-07-25T09:08:02.190-07:00</updated><title type='text'>Practical AgileSOA - How to promote and incentivise reuse</title><content type='html'>&lt;span style="font-weight: bold;"&gt;Question:&lt;/span&gt; why would anyone use other people's products?&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Answer:&lt;/span&gt; when they are better than they can make themselves.&lt;br /&gt;&lt;br /&gt;Traditionally, software development was not considered proper unless an application was built from scratch. Over the years, more and more components have become available and these products have become better. Today many of these products are so good that it doesn't pay to rebuild them. So software development is now done using a multitude of other people's products&lt;br /&gt;&lt;br /&gt;So it must be with services.&lt;br /&gt;&lt;br /&gt;Services must be so solid and reliable that it doesn't pay for others to re-implement their functionality. But how do you know when a service is solid and reliable enough?&lt;br /&gt;While there is no absolute formula or metric that makes a service pass a standardized quality test, it serves to understand what the critical aspects are of designing and building services that people will want to use.&lt;br /&gt;&lt;br /&gt;First and foremost, the service functionality needs to be designed so that it actually does something useful. While that is different from business to business, the concept should be obvious. A service that just serves up database records provides no value. A service that locates the correct database records, processes them and serves them up as a useable bundle provides something useful. A service that simply collects performance data may be a good building block, but it truly comes to life when it starts to interpret that data to provide intelligent monitoring.&lt;br /&gt;&lt;br /&gt;Secondly, a service needs to be built using TDD. All functionality needs to be unambiguously testable. These tests need to be run every time a change is made, preferably using continuous integration tools. A service without bugs trumps just about any application. In this case, statistics are your friend.&lt;br /&gt;&lt;br /&gt;Thirdly, a service should behave like a good building block. That means that a client has to have just knowledge of how to invoke it or subscribe to it, and what to expect back.&lt;br /&gt;It should not have to be aware of the state of a service, unless that state is what the service provides.&lt;br /&gt;&lt;br /&gt;Next post: Getting some governance started&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7517480-115280995672464359?l=carlaugustsimon.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://carlaugustsimon.blogspot.com/feeds/115280995672464359/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7517480&amp;postID=115280995672464359' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7517480/posts/default/115280995672464359'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7517480/posts/default/115280995672464359'/><link rel='alternate' type='text/html' href='http://carlaugustsimon.blogspot.com/2006/07/practical-agilesoa-how-to-promote-and.html' title='Practical AgileSOA - How to promote and incentivise reuse'/><author><name>Carl August Simon</name><uri>http://www.blogger.com/profile/02402312641087070394</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://photos1.blogger.com/blogger/213/467/320/SOAExecForum.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7517480.post-115280985897961491</id><published>2006-07-19T09:14:00.000-07:00</published><updated>2006-07-19T07:18:04.263-07:00</updated><title type='text'>Practical AgileSOA - The emerging infrastructure</title><content type='html'>Vendors would like us to believe that there will be no SOA without their products.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Nothing is further from the truth.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;However, an emerging SOA is supported by an emerging SO infrastructure.&lt;br /&gt;&lt;br /&gt;Here we talk about which pieces may be needed at which level of SOA maturity.&lt;br /&gt;&lt;br /&gt;If you are starting with synchronous request-reply services using XML to exchange data, you do not need anything but standard development environments. Java and .Net come packed with parts to create and parse XML documents and send and respond to requests.&lt;br /&gt;&lt;br /&gt;If you want to start with Web services (SOAP over HTTP) then you can decide to use the basic parts of your development platform or use what's called a SOAP stack. This is a collection of libraries and code generators that take care of the transformation of your objects to SOAP XML and back, and take care of the request and reply formatting.&lt;br /&gt;&lt;br /&gt;The beauty of these SOAP stacks is that they make building Web Services a snap. The main drawback is that they rely on generated code, which is notorious for quality and performance problems. (A friend of mine was even working around a bug in his code generator without blinking)&lt;br /&gt;&lt;br /&gt;Using SOAP has many advantages. For one, there are some great products out there that support the testing, running and management of SOAP-based Web services.&lt;br /&gt;The disadvantage of SOAP is that it has an unwieldy XML format, which makes its application limited to situations that do not have sub-second response time requirements.&lt;br /&gt;&lt;br /&gt;The next step in your SOA infrastructure must be monitoring. After all, with measuring request volume, response times and latencies, you can prove that:&lt;br /&gt;&lt;ol&gt;&lt;li&gt;your services are used&lt;/li&gt;&lt;li&gt;who uses them&lt;/li&gt;&lt;li&gt;what your average performance is&lt;/li&gt;&lt;/ol&gt;&lt;br /&gt;This is a critical step in your emerging SOA, since at this point you can demonstrate that your existing services are indeed being used and to what extent.&lt;br /&gt;&lt;br /&gt;Depending on the level and type of security required by your organization, you may have to think about that from the get-go. But this is not the case in every organization. Make sure that you define the authentication and authorization requirements for each service that is being launched. Sometimes, an access control list will do. In other cases, you will want to have full authorization, authentication and audit trail.&lt;br /&gt;&lt;br /&gt;Whatever the detailed security requirements are, you will want to have a central security management facility, such as a federated identity management service that hands out certificates upon successful authentication. That way, new services can simply reuse (there's that word again) what has already been fleshed out and capitalize on security improvements as they become available. Making services use certificates to request from or subscribe to services works like a daypass to an amusement park: whatever type of pass you bought determines to which rides you can get in.&lt;br /&gt;&lt;br /&gt;A whole string of posts could be dedicated to BPM, BPEL, orchestration and choreography. Let me just note that &lt;span style="font-weight: bold;"&gt;some &lt;/span&gt;type of business process monitoring should be baked in to your services from the start. How you use that will become apparent as your SOA matures. Hold off on buying even more SOA products, now those that purport to do modeling and monitoring out of the box for you. Yes, they may have great demos and user interfaces. But think about what you are trying to &lt;span style="font-weight: bold;"&gt;accomplish&lt;/span&gt;. Evaluate later on whether the number of BPM-enabled services are becoming hard to manage and if a commercial product will help you grow.&lt;br /&gt;&lt;br /&gt;Next post: How to promote and incentivise reuse&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7517480-115280985897961491?l=carlaugustsimon.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://carlaugustsimon.blogspot.com/feeds/115280985897961491/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7517480&amp;postID=115280985897961491' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7517480/posts/default/115280985897961491'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7517480/posts/default/115280985897961491'/><link rel='alternate' type='text/html' href='http://carlaugustsimon.blogspot.com/2006/07/practical-agilesoa-emerging.html' title='Practical AgileSOA - The emerging infrastructure'/><author><name>Carl August Simon</name><uri>http://www.blogger.com/profile/02402312641087070394</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://photos1.blogger.com/blogger/213/467/320/SOAExecForum.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7517480.post-115323787413310885</id><published>2006-07-18T08:31:00.000-07:00</published><updated>2006-07-18T08:51:14.216-07:00</updated><title type='text'>Corollary comment on the comment</title><content type='html'>AND ANOTHER THING!!!&lt;br /&gt;&lt;br /&gt;Seriously, the most important thing to realize when learning to apply service-oriented techniques is that, as a provider of a service, you are owning a product.&lt;br /&gt;&lt;br /&gt;The moment you bring your service in the open and people not under your control (like colleagues) start using it, you are operating a mini-software company, like it or not.&lt;br /&gt;&lt;br /&gt;Once you have embraced this notion, you need to look at how successful software companies interact with their customers. You will then realize SOA is not such a bad model after all, and the patterns for how to resolve the new and unfamiliar issues are already out there.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7517480-115323787413310885?l=carlaugustsimon.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://carlaugustsimon.blogspot.com/feeds/115323787413310885/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7517480&amp;postID=115323787413310885' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7517480/posts/default/115323787413310885'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7517480/posts/default/115323787413310885'/><link rel='alternate' type='text/html' href='http://carlaugustsimon.blogspot.com/2006/07/corollary-comment-on-comment.html' title='Corollary comment on the comment'/><author><name>Carl August Simon</name><uri>http://www.blogger.com/profile/02402312641087070394</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://photos1.blogger.com/blogger/213/467/320/SOAExecForum.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7517480.post-115323516098623285</id><published>2006-07-18T07:10:00.000-07:00</published><updated>2006-07-18T08:06:01.050-07:00</updated><title type='text'>Comment to "Versioning Services"</title><content type='html'>Since spammers have discovered blog comments as a way to get to you, I disabled them.&lt;br /&gt;&lt;br /&gt;Honestly, spammers should be summarily and ceremoniously executed.&lt;br /&gt;&lt;br /&gt;Anyway, my colleague Ade Oshineye sent me this comment:&lt;br /&gt;&lt;blockquote&gt;Have you seen this article: &lt;a href="http://martinfowler.com/articles/consumerDrivenContracts.html"&gt;http://martinfowler.com/articles/consumerDrivenContracts.html&lt;/a&gt; where Ian Robinson talks about the gritty issues involved in versioning services?&lt;br /&gt;&lt;/blockquote&gt;Sure. I am not dismissing the complexities of versioning mature services. The point of this series of posts is to get people to stop worrying about details like these until they have obtained a firm grasp of what it is like (and what it means) to build applications with services.&lt;br /&gt;&lt;br /&gt;In true Agile sense, plan and build what you understand. Analyze and design what you can't get your head around yet later.&lt;br /&gt;&lt;br /&gt;&lt;rant&gt;&lt;br /&gt;It is this engineering habit of wanting to have ALL the answers to ALL the questions that is killing efforts to change the way we do things in software development.&lt;br /&gt;That's why Agile/XP is such a beautiful thing, because it does away with that notion and accepts that you CAN'T know all the questions up front, let alone have all the answers.&lt;br /&gt;&lt;br /&gt;Many times have I come across budding SOA efforts that were mired in pointless analysis and design. "But we have to have our message headers defined!".&lt;br /&gt;&lt;br /&gt;NO, NO, NO! What does a full definition of message headers teach you about making SO applications? Nothing! Where's the learning? Where's the difference? Where's the business value?&lt;br /&gt;&lt;br /&gt;The point is to learn how to do things differently and discover how you and your team can benefit from it. The many issues that undoubtedly will arise are there to be SOLVED, not avoided. If early man had this attitude of wanting to have all the problems solved before embarking on something new, we'd still be living in caves, without fire, mind you.&lt;br /&gt;&lt;/rant&gt;&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;What does the sentence: "With Web services, commercial registries can handle much of the versioning" actually mean? Are you suggesting that using a commercial registry to locate business-critical services is a viable approach? Even though the first I'll know about a (possibly incompatible) service upgrade is when the registry notifies me? At this point the upgrade has already happened which is far too late to do anything about it.&lt;br /&gt;&lt;/blockquote&gt;Commercial registries like Systinet have the concept of service release stages. For this you need to install more than one registry and add the newly versioned service to the non-production registry first. This very action will notify interested parties that a new version of a service is pending, so they can take action if required.&lt;br /&gt;&lt;br /&gt;There are several sound strategies for introducing a new version of a service. One is to leave the previous version intact while the new one comes on-line and set a phase-out schedule.&lt;br /&gt;&lt;br /&gt;Of course, this sort of approach requires that all parties have a means of communicating. And here now is the crux of a successful SOA implementation: it's the PEOPLE:&lt;br /&gt;&lt;br /&gt;As per the Agile Alliance: (&lt;a href="http://www.agilealliance.org/intro"&gt;http://www.agilealliance.org/intro&lt;/a&gt;)&lt;br /&gt;&lt;br /&gt;&lt;center&gt; &lt;span style="font-size:78%;"&gt;Individuals and interactions &lt;/span&gt;over processes and tools&lt;br /&gt;&lt;span style="font-size:78%;"&gt;Working software &lt;/span&gt;over comprehensive documentation&lt;br /&gt;&lt;span style="font-size:78%;"&gt;Customer collaboration &lt;/span&gt;over contract negotiation&lt;br /&gt;&lt;span style="font-size:78%;"&gt;Responding to change &lt;/span&gt;over following a plan&lt;br /&gt;&lt;/center&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;As you can see from Ian's article it's not enough to just append extra content on the end given that most of the tools people use to interact with web services insist on validating against the entire schema.&lt;/blockquote&gt;Sure, if you validate against an entire schema, you are shackling your consumer to a service, i.e. coupling it tightly. While schema validation has its place, if you are in an environment where message formats change frequently (e.g. in options trading) then that coupling is undesirable.&lt;br /&gt;&lt;br /&gt;I'm not pro or con validation, I'm just suggesting to use common sense.&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;Moreover putting version numbers on each message sent is not in itself an acceptable versioning strategy unless we know that our consumers can actually handle the new version. For instance in an investment banking context if there were a service that published newly booked trades it would be unacceptable to silently upgrade that service. If business critical applications suddenly stopped working because of a silent upgrade it would not be enough for the service provider to point to the error queues full of messages in the new format. Each upgrade has to be verified against each consumer in some way because in practice the levels of coupling of between service provider and consumer are still just as high in an SOA. The difference is that the coupling is often implicit and only exists at runtime. This creates situations where there appears to be low-coupling at the architectural level but support staff have to manually resolve the high levels of coupling that exist at runtime in the production environment. This usually ends up taking the form of increased communication between the humans who support the service providers and consumers e.g. co-ordinated releases, staging areas, sandboxes for integration testing by replaying messages from the live system.&lt;/blockquote&gt;Again, use common sense.&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Introduce a new version of a service in a staging environment&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Release it to production on a different URL or topic, if you can&lt;br /&gt;&lt;/li&gt;&lt;li&gt;If new data is added to a message, put it somewhere so that it doesn't interfere with existing consumers&lt;/li&gt;&lt;li&gt;...and version numbers in messages DO work. As a consumer of somebody else's service, I know that I'm beholden to the format it sends its data. So if version numbers are available, it would behoove me to build my consumer to check for that and do something useful with it&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;Indeed, until we can write software that can figure out what to do with new data all by itself, we have to have proper human communication. This need not be heavy-weight and procedure-laden. But every time one human provides something to another human, the provider has to choose between either improving it and coordinating with the consumer, or leave it stagnant and risk the consumer walking away.&lt;br /&gt;&lt;br /&gt;If you feel I'm being too light-hearted and cavalier about this, maybe you oughtta try that yourself. It's quite liberating, and very effective.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7517480-115323516098623285?l=carlaugustsimon.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://carlaugustsimon.blogspot.com/feeds/115323516098623285/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7517480&amp;postID=115323516098623285' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7517480/posts/default/115323516098623285'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7517480/posts/default/115323516098623285'/><link rel='alternate' type='text/html' href='http://carlaugustsimon.blogspot.com/2006/07/comment-to-versioning-services.html' title='Comment to &quot;Versioning Services&quot;'/><author><name>Carl August Simon</name><uri>http://www.blogger.com/profile/02402312641087070394</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://photos1.blogger.com/blogger/213/467/320/SOAExecForum.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7517480.post-115280876172488489</id><published>2006-07-13T09:37:00.000-07:00</published><updated>2006-07-17T11:08:17.186-07:00</updated><title type='text'>Practical AgileSOA - Versioning services</title><content type='html'>In the previous post, we saw how by simply doing, we can get those first services built. This activity will answer a lot of questions, but also will show us which questions to ask next.&lt;br /&gt;&lt;br /&gt;One of these is how to deal with service versions.&lt;br /&gt;&lt;br /&gt;Undoubtedly, your services will undergo revisions and change.&lt;br /&gt;That in and of its own is not a problem. The trouble happens when you change the interface definition and the functionality.&lt;br /&gt;If the service starts behaving differently because&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;With push services (asynchronous) it is a good idea to include a version number in the messages it sends.&lt;br /&gt;That way, a subscriber can be made aware that things have changed.&lt;br /&gt;One can think of a subscriber routing incoming messages through a validation component if the expected message version does not match the incoming message version.&lt;br /&gt;&lt;br /&gt;With Web services, commercial registries can handle much of the versioning.&lt;br /&gt;Consumers can subscribe to registry updates and be rigged to take action when a service changes.&lt;br /&gt;&lt;br /&gt;As a rule, you should be wary of deleting information from service outputs.&lt;br /&gt;Not that you should keep everything around forever; just be aware that consumers are notified in some form.&lt;br /&gt;&lt;br /&gt;In general, new content should be added in such a way that a consumer can continue to use the incoming data without knowing how to handle the new stuff. For instance, if you use a byte-encoded message, add new content at the end.&lt;br /&gt;&lt;br /&gt;With self-describing message and XML messages, this restriction does not really apply, since you can just pull out what you're looking for, regardless of the extra content.&lt;br /&gt;&lt;br /&gt;(See, even with standardized services, you are still not entirely decoupled, just loosely coupled.)&lt;br /&gt;&lt;br /&gt;Next post: The emerging infrastructure&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7517480-115280876172488489?l=carlaugustsimon.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://carlaugustsimon.blogspot.com/feeds/115280876172488489/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7517480&amp;postID=115280876172488489' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7517480/posts/default/115280876172488489'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7517480/posts/default/115280876172488489'/><link rel='alternate' type='text/html' href='http://carlaugustsimon.blogspot.com/2006/07/practical-agilesoa-versioning-services.html' title='Practical AgileSOA - Versioning services'/><author><name>Carl August Simon</name><uri>http://www.blogger.com/profile/02402312641087070394</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://photos1.blogger.com/blogger/213/467/320/SOAExecForum.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7517480.post-115280865604479188</id><published>2006-07-13T09:35:00.000-07:00</published><updated>2006-07-14T08:13:36.840-07:00</updated><title type='text'>Practical AgileSOA - Making the first services</title><content type='html'>The question that always comes up is:&lt;br /&gt;"How do I know where to draw a service boundary?"&lt;br /&gt;&lt;br /&gt;Answering that question requires some more investigation.&lt;br /&gt;&lt;br /&gt;Begin by looking at the piece of functionality that the client wants to cast into a service.&lt;br /&gt;Let's take a universal example: getCustomer. All companies have customers, and many companies have a multitude of customer data sources, be it through isolated IT projects or through Mergers and acquisitions.&lt;br /&gt;&lt;br /&gt;Some questions that come up at this point are:&lt;br /&gt;&lt;br /&gt;"What do I use as inputs?"&lt;br /&gt;"Do I return the intersection or the union of all the data from the various customer systems?"&lt;br /&gt;"What if some data exists in system A and not in B?"&lt;br /&gt;&lt;br /&gt;We need to step back here and ask ourselves:" What is it that you want this service to DO?"&lt;br /&gt;Well, I want it to return customer information.&lt;br /&gt;OK, and what do you want to use as search criteria on our first attempt to make this service?&lt;br /&gt;I want to use, uh, first, last and company name.&lt;br /&gt;Very well. We now have something to start with.&lt;br /&gt;&lt;br /&gt;"...but what about returning duplicate records, and mismatches, and... and ... and..."&lt;br /&gt;&lt;br /&gt;Relax, it's Agile! We'll fold exception scenarios in later.&lt;br /&gt;&lt;br /&gt;Let's now make this service.&lt;br /&gt;&lt;br /&gt;First, we make a client that invokes the projected service. Do we want to use a SOAP stack? If you must, sure. If not, that's fine too. Suffice to say that this client will act as our service "test".&lt;br /&gt;&lt;br /&gt;Now we make a simple service that just returns data from a preloaded file.&lt;br /&gt;Then we expand it to invoke one of the legacy customer data sources.&lt;br /&gt;We continue to expand this service by adding another legacy data source and work out how to consolidate duplicate information.&lt;br /&gt;&lt;br /&gt;At this point we may find that submitting first, last and company name is not detailed enough, so we need to add a parameter to the request. In essence, our service has now changed its interface and therefore is a new version.&lt;br /&gt;&lt;br /&gt;Next post: Versioning services&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7517480-115280865604479188?l=carlaugustsimon.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://carlaugustsimon.blogspot.com/feeds/115280865604479188/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7517480&amp;postID=115280865604479188' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7517480/posts/default/115280865604479188'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7517480/posts/default/115280865604479188'/><link rel='alternate' type='text/html' href='http://carlaugustsimon.blogspot.com/2006/07/practical-agilesoa-making-first.html' title='Practical AgileSOA - Making the first services'/><author><name>Carl August Simon</name><uri>http://www.blogger.com/profile/02402312641087070394</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://photos1.blogger.com/blogger/213/467/320/SOAExecForum.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7517480.post-115280853597906714</id><published>2006-07-13T09:30:00.000-07:00</published><updated>2006-07-13T09:35:36.003-07:00</updated><title type='text'>Practical AgileSOA - Intro</title><content type='html'>Clients invariably ask me;&lt;br /&gt;&lt;br /&gt;"How do I actually DO this SOA stuff?  Concretely? What is my Step 2?"&lt;br /&gt;&lt;br /&gt;In this series of posts I will detail how we at ThoughtWorks typically execute the various aspects of Agile SOA.&lt;br /&gt;Let me start by saying that we are Agilists, which means that we do just about anything in continuous cycles of Design-Make-Test-Reflect.&lt;br /&gt;&lt;br /&gt;Similarly, we get SOA efforts off the ground by simply doing, not by talking and designing ad infinitum (or ad nauseam, rather)&lt;br /&gt;&lt;br /&gt;These are the efforts we want to cover:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Making those first services&lt;/li&gt;&lt;li&gt;Versioning services&lt;/li&gt;&lt;li&gt;How an infrastructure emerges&lt;/li&gt;&lt;li&gt;How to motivate reuse&lt;/li&gt;&lt;li&gt;Getting some governance started&lt;/li&gt;&lt;li&gt;Making it all stick&lt;/li&gt;&lt;/ul&gt;After you have read this series, you will be able to get off the mark and get some traction on SOA. Incidentally, you also may pick up some Agile Best Practices. After all, we think Agile and SOA are closely related.&lt;br /&gt;&lt;br /&gt;Next post: Making the first services&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7517480-115280853597906714?l=carlaugustsimon.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://carlaugustsimon.blogspot.com/feeds/115280853597906714/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7517480&amp;postID=115280853597906714' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7517480/posts/default/115280853597906714'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7517480/posts/default/115280853597906714'/><link rel='alternate' type='text/html' href='http://carlaugustsimon.blogspot.com/2006/07/practical-agilesoa-intro.html' title='Practical AgileSOA - Intro'/><author><name>Carl August Simon</name><uri>http://www.blogger.com/profile/02402312641087070394</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://photos1.blogger.com/blogger/213/467/320/SOAExecForum.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7517480.post-114425605650701089</id><published>2006-04-05T09:46:00.000-07:00</published><updated>2006-04-12T05:29:32.923-07:00</updated><title type='text'>Some Q&amp;A on SOA</title><content type='html'>&lt;span style="font-weight: bold;"&gt;Q:&lt;/span&gt; What are the differences in managing SOA applications compared to traditional applications?&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;A:&lt;/span&gt; SOA applications are comprised of component services that do not reside in one area of responsibility. So there have to be clear Service Level Agreements in place to make such an application manageable. Also, clear and unambiguous monitoring and error detection needs to be in place, lest service support groups pass the buck on where problems truly reside.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Q: &lt;/span&gt;What new technical challenges do these applications bring?&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;A: &lt;/span&gt;Many developers are not familiar with asychnronicity. Even though multithreading has been around for decades, not many truly have a multithreaded mind. Such asynchronous thinking is fundamental in understanding and managing SOA applications.&lt;br /&gt;&lt;br /&gt;Also, the design of, and designing with services is quite different from building a traditional, monolithic application. In the latter, events happen in a predefined order: the program flow. With SOA applications, this order is not fixed. Therefore, a service must not rely on events to happen in a certain order for it to function properly, it must be idempotent.&lt;br /&gt;&lt;br /&gt;Another challenge is the concept of marshalling and unmarshalling. Too easily is precious processing time wasted on inefficient serialization and deserialization schemes. Developers must now learn to think about how services can communicate most efficiently. And, unlike using APIs, that may not be by making frequent, granular calls, lugging large objects around.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Q: &lt;/span&gt;What are the challenges in troubleshooting performance problems with these applications?&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;A: &lt;/span&gt;Actually, diagnosing and remediating performance problems is much easier with SOA applications. Let’s assume that such an application is entirely made up of Web services (SOAP over HTTP). Each of these services can be invoked independently, in their deployment environment. Using simple test clients, performance problems can rapidly be narrowed down to specific services. The underperforming services can then be improved either through coding, faster hardware or load-balancing.&lt;br /&gt;&lt;br /&gt;The real challenge with SOA apps is solving timing problems. This is especially true in asynchronous high-speed environments (thousands of messages per second). If services are not written to cope with differing sequences of events, they will yield different results with different sequences.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Q: &lt;/span&gt;How much work is involved in integrating management of these applications with traditional applications?&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;A: &lt;/span&gt;Technically, the amount of work depends on how application-management-savvy an organization is. If they already have outfitted their current applications with management agents, then doing so with services will feel quite natural. If not, then managing services will be a learning curve.&lt;br /&gt;&lt;br /&gt;Organizationally, however, a transformation will be needed to build, support and use business-oriented services. The traditional silos of responsibility and accountability will no longer suffice and a much more collaborative environment will have to emerge. This requires unwavering attention and support for SOA from IT management and a modified&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Q: &lt;/span&gt;What are some of the areas that companies tend to overlook?&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;A: &lt;/span&gt;Popular misconceptions about SOA are:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;SOA means installing some web services&lt;/li&gt;&lt;li&gt;SOA is synchronous, request-reply&lt;/li&gt;&lt;li&gt;SOA is expensive to undertake&lt;/li&gt;&lt;li&gt;It takes a long time to see any ROI from an SOA effort&lt;/li&gt;&lt;li&gt;It’s a or a suite of products&lt;/li&gt;&lt;li&gt;It’s a turnkey solution&lt;/li&gt;&lt;li&gt;It’s just EAI&lt;/li&gt;&lt;li&gt;It’s a technology solution to a technology problem&lt;/li&gt;&lt;li&gt;Our organization doesn’t have to change to embrace SOA&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/7517480-114425605650701089?l=carlaugustsimon.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://carlaugustsimon.blogspot.com/feeds/114425605650701089/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7517480&amp;postID=114425605650701089' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7517480/posts/default/114425605650701089'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7517480/posts/default/114425605650701089'/><link rel='alternate' type='text/html' href='http://carlaugustsimon.blogspot.com/2006/04/some-qa-on-soa.html' title='Some Q&amp;A on SOA'/><author><name>Carl August Simon</name><uri>http://www.blogger.com/profile/02402312641087070394</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://photos1.blogger.com/blogger/213/467/320/SOAExecForum.jpg'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7517480.post-114063757594937465</id><published>2006-02-22T11:30:00.000-08:00</published><updated>2006-02-22T11:46:15.986-08:00</updated><title type='text'>From blob to services</title><content type='html'>Many clients ask us what to do about their legacy applications.&lt;br /&gt;Should  they be converted to servicees ?&lt;br /&gt;Where do you draw the boundaries ?&lt;br /&gt;Do we need to rewrite our whole application?&lt;br /&gt;&lt;br /&gt;In a nutshell, the boundary of a service lies where external knowledge of the inner workings ceases.&lt;br /&gt;This means that a piece of functionality can become a service if a consumer can just ask it to do something or can simply consume its messages, without having to tell it &lt;span style="font-style: italic;"&gt;how&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;The best way to transform an application into services is to start teasing sections of it apart. The right boundaries will become apparent as you do this.&lt;br /&gt;Take one section at a time, learn and apply that knowledge to the next section.&lt;br /&gt;&lt;br /&gt;In the category " a picture speaks a thousand words"...&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://photos1.blogger.com/blogger/213/467/1600/Blob2Svcs.1.jpg"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer;" src="http://photos1.blogger.com/blogger/213/467/400/Blob2Svcs.0.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7517480-114063757594937465?l=carlaugustsimon.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://carlaugustsimon.blogspot.com/feeds/114063757594937465/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7517480&amp;postID=114063757594937465' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7517480/posts/default/114063757594937465'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7517480/posts/default/114063757594937465'/><link rel='alternate' type='text/html' href='http://carlaugustsimon.blogspot.com/2006/02/from-blob-to-services.html' title='From blob to services'/><author><name>Carl August Simon</name><uri>http://www.blogger.com/profile/02402312641087070394</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://photos1.blogger.com/blogger/213/467/320/SOAExecForum.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7517480.post-113959460971426487</id><published>2006-02-10T09:23:00.000-08:00</published><updated>2006-02-10T10:03:29.766-08:00</updated><title type='text'>The Interplay of Agile and SOA</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://photos1.blogger.com/blogger/213/467/1600/AgileSOA%20Interplay.0.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://photos1.blogger.com/blogger/213/467/400/AgileSOA%20Interplay.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Here you can see more concretely how Agile and SOA enable one another.&lt;br /&gt;&lt;br /&gt;Start with a bit of Agile to get the first services out there.&lt;br /&gt;Your first services will make you more Agile, which will enable you to take services to the next level, et cetera, et cetera.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7517480-113959460971426487?l=carlaugustsimon.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://carlaugustsimon.blogspot.com/feeds/113959460971426487/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7517480&amp;postID=113959460971426487' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7517480/posts/default/113959460971426487'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7517480/posts/default/113959460971426487'/><link rel='alternate' type='text/html' href='http://carlaugustsimon.blogspot.com/2006/02/interplay-of-agile-and-soa.html' title='The Interplay of Agile and SOA'/><author><name>Carl August Simon</name><uri>http://www.blogger.com/profile/02402312641087070394</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://photos1.blogger.com/blogger/213/467/320/SOAExecForum.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7517480.post-113950903012836042</id><published>2006-02-09T10:12:00.000-08:00</published><updated>2006-02-09T10:17:10.146-08:00</updated><title type='text'>Even the Army is getting it</title><content type='html'>So you thought that the government uniformly was an old ddog that couldn't learn new tricks.&lt;br /&gt;&lt;br /&gt;They seem to be getting ready to become more Agile.&lt;br /&gt;&lt;br /&gt;Read this :&lt;br /&gt;&lt;br /&gt;http://www.defensesystems.com/issues/1_1/beyond_the_dog_tag/25-1.html&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7517480-113950903012836042?l=carlaugustsimon.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://carlaugustsimon.blogspot.com/feeds/113950903012836042/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7517480&amp;postID=113950903012836042' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7517480/posts/default/113950903012836042'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7517480/posts/default/113950903012836042'/><link rel='alternate' type='text/html' href='http://carlaugustsimon.blogspot.com/2006/02/even-army-is-getting-it.html' title='Even the Army is getting it'/><author><name>Carl August Simon</name><uri>http://www.blogger.com/profile/02402312641087070394</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://photos1.blogger.com/blogger/213/467/320/SOAExecForum.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7517480.post-113950169946824645</id><published>2006-02-09T08:12:00.000-08:00</published><updated>2006-02-22T11:27:42.526-08:00</updated><title type='text'>The Symbiosis of Agile and SOA</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://photos1.blogger.com/blogger/213/467/1600/AgileSOA.1.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://photos1.blogger.com/blogger/213/467/320/AgileSOA.0.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;This is the symbiosis of Agile and SOA.&lt;br /&gt;&lt;br /&gt;Start small.&lt;br /&gt;Get solid, test-driven functionality out there and prove the skeptics wrong.&lt;br /&gt;This way your will get your first services deployed at very low risk.&lt;br /&gt;&lt;br /&gt;It's hard to argue with success.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7517480-113950169946824645?l=carlaugustsimon.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://carlaugustsimon.blogspot.com/feeds/113950169946824645/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7517480&amp;postID=113950169946824645' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7517480/posts/default/113950169946824645'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7517480/posts/default/113950169946824645'/><link rel='alternate' type='text/html' href='http://carlaugustsimon.blogspot.com/2006/02/symbiosis-of-agile-and-soa.html' title='The Symbiosis of Agile and SOA'/><author><name>Carl August Simon</name><uri>http://www.blogger.com/profile/02402312641087070394</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://photos1.blogger.com/blogger/213/467/320/SOAExecForum.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7517480.post-113950131689156159</id><published>2006-02-09T08:03:00.000-08:00</published><updated>2006-02-20T15:09:31.330-08:00</updated><title type='text'>A spark of Agile can bring an SOA to life</title><content type='html'>&lt;p class="MsoNormal"&gt;Some parts of Agile practices are needed to get the first bits of an SOA (a service) off the ground. This manifestation will prove to skeptics that deploying a small piece of business functionality that actually delivers business value (Agile) is possible in the most adverse of circumstances. It proves that the oft-heard cop-out “that will never work here” is bunk.&lt;/p&gt;     &lt;p class="MsoNormal"&gt;That first service can then motivate others to make their own services. Providing a registry where the uninitiated can find existing services will then spark a trend where people not on the bleeding edge can adopt services. Note that such a registry initialy can be just web pages.&lt;br /&gt;&lt;/p&gt;   &lt;p class="MsoNormal"&gt;At this time, introducing a little bit of governance, i.e. some approval process as to which services are listed in the registry, will provide some level of standards.&lt;/p&gt;     &lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;Adding a services monitoring tool to the infrastructure will validate the use of certain services. If these metrics are available in the registry, then prospective users can see whether a service is actually used and is actually performing within desired specs. This will then spur reuse, which will allow for iterative improvements and additions.&lt;/p&gt;     &lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;SOA and Agile are locked in a virtuous circle that creates a helix of progress. each stage of SOA maturity will allow for a new phase of Agile maturity.&lt;br /&gt;&lt;/p&gt; &lt;p class="MsoNormal"&gt;&lt;br /&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7517480-113950131689156159?l=carlaugustsimon.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://carlaugustsimon.blogspot.com/feeds/113950131689156159/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7517480&amp;postID=113950131689156159' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7517480/posts/default/113950131689156159'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7517480/posts/default/113950131689156159'/><link rel='alternate' type='text/html' href='http://carlaugustsimon.blogspot.com/2006/02/spark-of-agile-can-bring-soa-to-life.html' title='A spark of Agile can bring an SOA to life'/><author><name>Carl August Simon</name><uri>http://www.blogger.com/profile/02402312641087070394</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://photos1.blogger.com/blogger/213/467/320/SOAExecForum.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7517480.post-113235081735152583</id><published>2005-11-05T19:46:00.000-08:00</published><updated>2005-11-18T13:53:37.353-08:00</updated><title type='text'>SOA public sightings</title><content type='html'>It pays to be an SOA Practice Leader at ThoughtWorks.&lt;br /&gt;We're getting around these days !&lt;br /&gt;&lt;br /&gt;Presenting at SOA Leaders in New York October 27th.&lt;br /&gt;http://events.soaleaders.org/events/register.cfm?location=4&lt;br /&gt;&lt;br /&gt;And as a panelist at InfoWorld's SOA Executive Forum.&lt;br /&gt;http://www.infoworld.com/event/soa/schedule.html&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7517480-113235081735152583?l=carlaugustsimon.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://carlaugustsimon.blogspot.com/feeds/113235081735152583/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7517480&amp;postID=113235081735152583' title='6 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7517480/posts/default/113235081735152583'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7517480/posts/default/113235081735152583'/><link rel='alternate' type='text/html' href='http://carlaugustsimon.blogspot.com/2005/11/soa-public-sightings.html' title='SOA public sightings'/><author><name>Carl August Simon</name><uri>http://www.blogger.com/profile/02402312641087070394</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://photos1.blogger.com/blogger/213/467/320/SOAExecForum.jpg'/></author><thr:total>6</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7517480.post-113235024746854336</id><published>2005-09-03T13:37:00.000-07:00</published><updated>2005-11-18T13:44:07.480-08:00</updated><title type='text'>Killer SOA definition</title><content type='html'>By popular request, here is my killer SOA definition.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;"A service-oriented architecture (SOA) is the organizational and technical framework that enables an enterprise to deliver self-describing, platform-independent business functionality and make it available as building blocks of current and future applications."&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;Put this in front of your execs and they will drool. (Guaranteed)&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7517480-113235024746854336?l=carlaugustsimon.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://carlaugustsimon.blogspot.com/feeds/113235024746854336/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7517480&amp;postID=113235024746854336' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7517480/posts/default/113235024746854336'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7517480/posts/default/113235024746854336'/><link rel='alternate' type='text/html' href='http://carlaugustsimon.blogspot.com/2005/09/killer-soa-definition.html' title='Killer SOA definition'/><author><name>Carl August Simon</name><uri>http://www.blogger.com/profile/02402312641087070394</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://photos1.blogger.com/blogger/213/467/320/SOAExecForum.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7517480.post-109692486857083727</id><published>2004-10-04T14:18:00.000-07:00</published><updated>2004-10-04T14:21:08.570-07:00</updated><title type='text'>In the New York Times !</title><content type='html'>Was interviewed for the New York Times about blogs. Is this one of those self-references, like rock songs about rock music ?&lt;br /&gt;&lt;br /&gt;See here:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.nytimes.com/2004/10/03/jobs/03BLOG.html?oref=login"&gt;http://www.nytimes.com/2004/10/03/jobs/03BLOG.html?oref=login&lt;/a&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7517480-109692486857083727?l=carlaugustsimon.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://carlaugustsimon.blogspot.com/feeds/109692486857083727/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7517480&amp;postID=109692486857083727' title='5 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7517480/posts/default/109692486857083727'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7517480/posts/default/109692486857083727'/><link rel='alternate' type='text/html' href='http://carlaugustsimon.blogspot.com/2004/10/in-new-york-times.html' title='In the New York Times !'/><author><name>Carl August Simon</name><uri>http://www.blogger.com/profile/02402312641087070394</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://photos1.blogger.com/blogger/213/467/320/SOAExecForum.jpg'/></author><thr:total>5</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7517480.post-109581852992224647</id><published>2004-09-21T18:51:00.000-07:00</published><updated>2004-09-21T19:02:09.923-07:00</updated><title type='text'>Week 13 - After the refocus</title><content type='html'>This is a bit out of sync, but Iwill fill in the blanks later.&lt;br /&gt;&lt;br /&gt;Basically, we have refocused ou refforts to rebuild the core of the customer's code.&lt;br /&gt;&lt;br /&gt;So now we get to do real Agile:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Write stories&lt;/li&gt;&lt;li&gt;Spec them out&lt;/li&gt;&lt;li&gt;Write tests&lt;/li&gt;&lt;li&gt;Write code&lt;/li&gt;&lt;li&gt;Next&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;It's beautiful !&lt;/p&gt;&lt;p&gt;We developed some nitfy Excel sheets to do the story tracking. It recalibrates itself and predicts how long related stories take as actual durations are being entered.&lt;/p&gt;&lt;p&gt; &lt;/p&gt;&lt;p&gt;Haven't forgotten about EAI, tho.&lt;/p&gt;&lt;p&gt;Seems like there are some open source projects going on that may be useful:&lt;/p&gt;&lt;p&gt;How about OpenAdapter ? Dresdner Bank spun this off from their in-house EAI platform.&lt;br /&gt;&lt;a href="http://www.openadaptor.org/adopters.html"&gt;http://www.openadaptor.org/adopters.html&lt;/a&gt;&lt;/p&gt;&lt;p&gt;And then there's MuleUmo. It adopted the pattern language in Gregor Hohpe's book &lt;a href="http://www.eaipatterns.com/)to"&gt;(http://www.eaipatterns.com/)to&lt;/a&gt; describe their solution.&lt;br /&gt;&lt;a href="http://wiki.muleumo.org/display/MULE/Architecture+Guide"&gt;http://wiki.muleumo.org/display/MULE/Architecture+Guide&lt;/a&gt;&lt;/p&gt;&lt;p&gt; &lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7517480-109581852992224647?l=carlaugustsimon.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://carlaugustsimon.blogspot.com/feeds/109581852992224647/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7517480&amp;postID=109581852992224647' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7517480/posts/default/109581852992224647'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7517480/posts/default/109581852992224647'/><link rel='alternate' type='text/html' href='http://carlaugustsimon.blogspot.com/2004/09/week-13-after-refocus.html' title='Week 13 - After the refocus'/><author><name>Carl August Simon</name><uri>http://www.blogger.com/profile/02402312641087070394</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://photos1.blogger.com/blogger/213/467/320/SOAExecForum.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7517480.post-109276390468017398</id><published>2004-08-20T15:02:00.000-07:00</published><updated>2004-08-20T13:04:19.600-07:00</updated><title type='text'>Week 8 - Back at the ranch</title><content type='html'>This week, we're slummin' at the home office.&lt;br /&gt;Doing more code investigation and prepping for the project kick-off.&lt;br /&gt;&lt;br /&gt;Looks like we have to dramatically cut scope, since what looked like a 3 month project likely will take more than a year. Incidentally, the client seemed not at all surprised !&lt;br /&gt;&lt;br /&gt;We can automate a lot of the gruntwork, but that sort of defies the secondary aim of the project, which is teaching the client how to start developing "agily".&lt;br /&gt;&lt;br /&gt;Reading Jim Highsmith's book Agile "Project Management"&lt;br /&gt;(see &lt;a href="http://www.jimhighsmith.com/pubs.html"&gt;http://www.jimhighsmith.com/pubs.html&lt;/a&gt;)&lt;br /&gt;Salient detail #1: my colleague Robin Gibson collaborated on that, you know.&lt;br /&gt;Salient detail #2: our CEO, Roy Singham, wrote a comment that's printed in and don the book.&lt;br /&gt;&lt;br /&gt;And who joins us for lunch at the office ?&lt;br /&gt;By Toutatis, it's mr Highsmith himself !&lt;br /&gt;&lt;br /&gt;I better get to finishing the book before Monday...&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7517480-109276390468017398?l=carlaugustsimon.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://carlaugustsimon.blogspot.com/feeds/109276390468017398/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7517480&amp;postID=109276390468017398' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7517480/posts/default/109276390468017398'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7517480/posts/default/109276390468017398'/><link rel='alternate' type='text/html' href='http://carlaugustsimon.blogspot.com/2004/08/week-8-back-at-ranch.html' title='Week 8 - Back at the ranch'/><author><name>Carl August Simon</name><uri>http://www.blogger.com/profile/02402312641087070394</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://photos1.blogger.com/blogger/213/467/320/SOAExecForum.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7517480.post-109276372794365718</id><published>2004-08-09T10:14:00.000-07:00</published><updated>2004-08-17T10:28:47.943-07:00</updated><title type='text'>Week 7 - Finishing the preparations</title><content type='html'>&lt;p&gt;The client has a  varied codebase, with servlets and JSPs.&lt;/p&gt;&lt;p&gt;Some of these are using struts.&lt;/p&gt;&lt;p&gt;What are struts ?&lt;/p&gt;&lt;p&gt;&lt;a href="http://struts.apache.org/"&gt;http://struts.apache.org/&lt;/a&gt;&lt;/p&gt;&lt;p&gt;Apparently, this is a way to abstract model from view better than ordinary JSPs do.&lt;/p&gt;&lt;p&gt; &lt;/p&gt;&lt;p&gt;A note about a cool MS Excel trick:&lt;/p&gt;&lt;p&gt;If you want to chart a bunch of data points that do not form a smooth line, don't knock yourself out trying to deduce the 3rd order polynomial !&lt;/p&gt;&lt;p&gt;Select the data range and make an XY scatter chart, maybe even select the subtype with smoothed lines. Now select one of the datapoints in the chart and right-click.&lt;/p&gt;&lt;p&gt;Choose "Add Trendline..." and select one of the types that looks closest to your data.&lt;/p&gt;&lt;p&gt;Select the Options tab and switch on "Display equation on chart".&lt;/p&gt;&lt;p&gt;Now you have your polynomial and can eat it too. Select the text of the equation and paste it into the cells where you want to get missing data. Modify it to include your source cells and there you go.&lt;/p&gt;&lt;br /&gt;&lt;p&gt; &lt;/p&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7517480-109276372794365718?l=carlaugustsimon.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://carlaugustsimon.blogspot.com/feeds/109276372794365718/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7517480&amp;postID=109276372794365718' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7517480/posts/default/109276372794365718'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7517480/posts/default/109276372794365718'/><link rel='alternate' type='text/html' href='http://carlaugustsimon.blogspot.com/2004/08/week-7-finishing-preparations.html' title='Week 7 - Finishing the preparations'/><author><name>Carl August Simon</name><uri>http://www.blogger.com/profile/02402312641087070394</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://photos1.blogger.com/blogger/213/467/320/SOAExecForum.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7517480.post-109276281019098927</id><published>2004-08-02T22:07:00.000-07:00</published><updated>2004-08-17T10:13:30.190-07:00</updated><title type='text'>Week 6 - The knowledge grows</title><content type='html'>My colleagues are launching new stuff at me at such velocity, I can hardly keep up.&lt;br /&gt;Wow, I though I knew a thing or two about software, but I guess I've been asleep for the last two years.&lt;br /&gt;&lt;br /&gt;A few notes on some very useful tools to better estimate project duration.&lt;br /&gt;&lt;br /&gt;Learn about Wideband Delphi&lt;br /&gt;&lt;a href="http://www.processimpact.com/articles/delphi.html"&gt;http://www.processimpact.com/articles/delphi.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Tom DeMarco and Timothy Lister wrote a book about project management from a&lt;br /&gt;risk management perspective, "Waltzing with bears".&lt;br /&gt;&lt;a href="http://www.dorsethouse.com/books/waltz.html"&gt;http://www.dorsethouse.com/books/waltz.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;If you want to jump into the math, look here:&lt;br /&gt;&lt;a href="http://mathworld.wolfram.com/RayleighDistribution.html"&gt;http://mathworld.wolfram.com/RayleighDistribution.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Test code coverage can be done using &lt;a href="http://www.thecortex.net/clover/index.html"&gt;Clover&lt;/a&gt; or &lt;a href="http://www.jcoverage.com/"&gt;JCoverage&lt;/a&gt; or &lt;a href="http://emma.sourceforge.net/"&gt;EMMA&lt;/a&gt;.&lt;br /&gt;Here's a &lt;a href="http://www.wrytradesman.com/blog/archives/000023.html"&gt;user's testimonial&lt;/a&gt; on all three.&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7517480-109276281019098927?l=carlaugustsimon.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://carlaugustsimon.blogspot.com/feeds/109276281019098927/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7517480&amp;postID=109276281019098927' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7517480/posts/default/109276281019098927'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7517480/posts/default/109276281019098927'/><link rel='alternate' type='text/html' href='http://carlaugustsimon.blogspot.com/2004/08/week-6-knowledge-grows.html' title='Week 6 - The knowledge grows'/><author><name>Carl August Simon</name><uri>http://www.blogger.com/profile/02402312641087070394</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://photos1.blogger.com/blogger/213/467/320/SOAExecForum.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7517480.post-109276237026326696</id><published>2004-07-26T22:01:00.000-07:00</published><updated>2004-08-17T10:06:10.263-07:00</updated><title type='text'>Week 5 - Goin' Deep</title><content type='html'>&lt;p&gt;I'm learning all about Agile Projeect Management.&lt;/p&gt;There is a good body of work out there on agile PM.&lt;br /&gt;&lt;p&gt;"Crossing the Chasm” by Geoffrey Moore&lt;/p&gt;&lt;p&gt;Kepner &amp;amp; Tregoe’s analysis methodology - see&lt;br /&gt;&lt;a href="http://www.kepner-tregoe.com"&gt;http://www.kepner-tregoe.com&lt;/a&gt;&lt;/p&gt;&lt;p&gt;“Radical Project Management” by Rob Thomsett&lt;/p&gt;&lt;p&gt;Jim Highsmith is one of the authorities on the topic.&lt;/p&gt;&lt;p&gt;Also learning about test-driven development.&lt;/p&gt;&lt;p&gt;When writing a JUnit test, sometimes you have eto stub out objects. This can be done using the Mock object found in jmock:&lt;/p&gt;&lt;p&gt;See &lt;a href="http://www.jmock.org"&gt;www.jmock.org&lt;/a&gt;&lt;/p&gt;&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/7517480-109276237026326696?l=carlaugustsimon.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://carlaugustsimon.blogspot.com/feeds/109276237026326696/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7517480&amp;postID=109276237026326696' title='8 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7517480/posts/default/109276237026326696'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7517480/posts/default/109276237026326696'/><link rel='alternate' type='text/html' href='http://carlaugustsimon.blogspot.com/2004/07/week-5-goin-deep.html' title='Week 5 - Goin&apos; Deep'/><author><name>Carl August Simon</name><uri>http://www.blogger.com/profile/02402312641087070394</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://photos1.blogger.com/blogger/213/467/320/SOAExecForum.jpg'/></author><thr:total>8</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7517480.post-109276201852289959</id><published>2004-07-25T21:54:00.000-07:00</published><updated>2004-08-17T10:00:59.913-07:00</updated><title type='text'>Interlude</title><content type='html'>&lt;p&gt;Interlude&lt;/p&gt;&lt;br /&gt;&lt;p&gt;Enjoying the weekend in northern California with a visit to Santa Cruz and Bonny Doon&lt;br /&gt;Vineyards.&lt;/p&gt;&lt;br /&gt;&lt;p&gt;Just the drive is worth it, through beautiful redwood forests, over hills and&lt;br /&gt;through valleys.&lt;/p&gt;&lt;p&gt;If you get on Highway 17 to Santa Cruz, you get off at Mt Hermon Road. Turn&lt;br /&gt;on Graham Hill, which becomes Felton Empire, which becomes, believe it or not,&lt;br /&gt;Ice Cream Grade. Turn left in Pine and keep going for a while.&lt;/p&gt;&lt;p&gt;The Bonny Doon Tasting house is an number 2.&lt;/p&gt;&lt;p&gt;When you're nicely liquored up, you turn left out of the BD parking and&lt;br /&gt;continue on to Highway 1.&lt;/p&gt;&lt;p&gt;Right there is a small parking lot. Stop and cross the traintracks along the&lt;br /&gt;highway and look down on a fantastic vista.&lt;/p&gt;&lt;p&gt;Continue down Highway 1 into Santa Cruz.&lt;/p&gt;&lt;p&gt;Follow the signs for Beach and Wharf.&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.santacruz.com/"&gt;http://www.santacruz.com/&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.bonnydoonvineyard.com/"&gt;http://www.bonnydoonvineyard.com/&lt;/a&gt;&lt;/p&gt;&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/7517480-109276201852289959?l=carlaugustsimon.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://carlaugustsimon.blogspot.com/feeds/109276201852289959/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7517480&amp;postID=109276201852289959' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7517480/posts/default/109276201852289959'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7517480/posts/default/109276201852289959'/><link rel='alternate' type='text/html' href='http://carlaugustsimon.blogspot.com/2004/07/interlude.html' title='Interlude'/><author><name>Carl August Simon</name><uri>http://www.blogger.com/profile/02402312641087070394</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://photos1.blogger.com/blogger/213/467/320/SOAExecForum.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7517480.post-109063922393810902</id><published>2004-07-23T20:09:00.000-07:00</published><updated>2004-07-23T20:20:23.936-07:00</updated><title type='text'>Week 4 - First real gig</title><content type='html'>This is the first real gig at a client site. &lt;br /&gt;We're flying to California on an early evening flight. &lt;br /&gt;It turns into a late-evening flight as the plane arrives late and the crew even later. &lt;br /&gt;&lt;br /&gt;The&amp;nbsp;cute girl sitting next to me asks me what I'm going to do in California. &lt;br /&gt;I say: "Agile enablement". &lt;br /&gt;She: "Oh, like ThoughtWorks ?" &lt;br /&gt;Me: "No, FOR ThoughtWorks." &lt;br /&gt;&lt;br /&gt;And now I'm a hero. She's wearing a shirt that says: "I &lt;heart&gt;Nerds"/ &lt;br /&gt;&lt;br /&gt;By the time I pick my car up, drive to the hotel (miss the @$#@%! exit to the highway) and check in, it's 3:00 AM. &lt;br /&gt;Needless to say, I'm completely fried and hit the hay. &lt;br /&gt;&lt;br /&gt;The next morning, I'm having breakfast with my two team mates, one of which turns out to be major ace in the Agile PM field.See here: &lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.softed.com/sdc2004/robin.html"&gt;http://www.softed.com/sdc2004/robin.html&lt;/a&gt; &lt;br /&gt;&lt;br /&gt;The client has an organically grown people tracking system that is so complex that nobody dares to make any changes to it. &lt;br /&gt;&lt;br /&gt;Enter the knights of Agile. (Pa-Pada-Paaa !)&lt;br /&gt;&lt;br /&gt;We're teaching the client that you can indeed bite off little bits at a time, focus on just that delivery and acctually complete something. &lt;br /&gt;So here we're introducing things like test driven development and continuous integration. &lt;br /&gt;&lt;br /&gt;Look for books by Jim Highsmith and Alistair Cockburn on Agile Project management.There is a whole series of them by various authors. &lt;br /&gt;&lt;br /&gt;Beware of the hucksters and carpet-baggers out there that picked up on the Agile craze, but failed to do their homework.&lt;br /&gt;&lt;br /&gt;For most people that have been around for a while, Agile is realy hard to grasp: they have to learn how to talk about projects in a whole new fashion.&lt;br /&gt;What's insane about this, is that an Agile approach to projects comes naturally to people, but because of it's simplicity and "easy fit', people think that it's too "organic".&lt;br /&gt;Many an IT person feels uncconfortable dealing with projects is such an ordinary fashion: there need to be big words, thick documents and much ado about nothing. &lt;br /&gt;&lt;br /&gt;Some fun little nuggets that came my way as I'm analyzing the client's codebase.&lt;br /&gt;&lt;br /&gt;The obvious Unix tools find/sed/awk/grep can give you a very quick insight into the complexity and organization of a codebase, but these tools up the ante quite a bit by doing a lot more in-depth analysis on class and pacckage interrelationships. &lt;br /&gt;&lt;br /&gt;One of these tools even detects whether code was copied and pasted...&amp;nbsp;&lt;br /&gt;&lt;tool&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Simian (&lt;a href="http://www.redhillconsulting.com.au/products/simian"&gt;http://www.redhillconsulting.com.au/products/simian&lt;/a&gt;) &amp;nbsp; Code duplication detector that finds copy-and-paste reuse in code.&lt;/li&gt;&lt;li&gt;Checkstyle (&lt;a href="http://www.sf.net/checkstyle"&gt;http://www.sf.net/checkstyle&lt;/a&gt;). &amp;nbsp; Does a lot more than simple tab-and-braces checking&lt;/li&gt;&lt;li&gt;Pasta - the Package Structure Analysis Tool (&lt;a href="http://javacentral.compuware.com/pasta/"&gt;http://javacentral.compuware.com/pasta/&lt;/a&gt;)&amp;nbsp; Finds cyclinc dependencies and much more nasty stuff. Not free :,v(&lt;/li&gt;&lt;li&gt;yDoc (&lt;a href="http://www.yworks.com/"&gt;http://www.yworks.com/&lt;/a&gt;)&amp;nbsp; javadoc plugin that generates UML into your javadoc files. Not free, but cheap. &lt;/li&gt;&lt;/ul&gt;&lt;p&gt;Oh yeah, we also coined a new term: the Onion diagram.&lt;/p&gt;&lt;p&gt;This thing shows how phases of a project build on each other. E.g. the core is the very first thing you need to do.This sets the stage for the next layer to be started and completed. Each layer needs to have a significant part of the previous layer completed in order to start. &lt;/p&gt;&lt;p&gt;We did a presentation on Agile for the client department today.&lt;/p&gt;&lt;p&gt;Much scepticism. How can something so simple solve our orgganizational problems ?&lt;/p&gt;&lt;p&gt;It's called Agile project management and proper governance, baby...&lt;br /&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7517480-109063922393810902?l=carlaugustsimon.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://carlaugustsimon.blogspot.com/feeds/109063922393810902/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7517480&amp;postID=109063922393810902' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7517480/posts/default/109063922393810902'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7517480/posts/default/109063922393810902'/><link rel='alternate' type='text/html' href='http://carlaugustsimon.blogspot.com/2004/07/week-4-first-real-gig.html' title='Week 4 - First real gig'/><author><name>Carl August Simon</name><uri>http://www.blogger.com/profile/02402312641087070394</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://photos1.blogger.com/blogger/213/467/320/SOAExecForum.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7517480.post-109063783152442586</id><published>2004-07-16T19:36:00.000-07:00</published><updated>2004-07-23T20:09:04.480-07:00</updated><title type='text'>Week 3 - It's getting interesting</title><content type='html'>We're working on a very interesting proposal. &lt;br /&gt;A client is concerned that the corporate IT approach to EAI is flawed and wants us, as an independent, objective, expert party, to prove him right. &lt;br /&gt;So we have to prove a negative. &lt;br /&gt;After several iterations we finally have a presentation ready for him that's just rife with a salesman's version of Agile. &lt;br /&gt;&lt;br /&gt;What I take away from it though is the following: &lt;br /&gt;&lt;br /&gt;There are three different Integration Models: &lt;br /&gt;&lt;ul&gt;&lt;li&gt;Multi-step processWorkflow - Transactions or activities need to be orchestrated between various applications&lt;/li&gt;&lt;li&gt;Composite applicationPortal - Provide single application into a range of back-end systems&lt;/li&gt;&lt;li&gt;Data integrationCommon Data Layer – Data from incompatible systems are transformed into a common format &lt;/li&gt;&lt;br /&gt;&lt;/ul&gt;&lt;p&gt;And there are four Integration Styles&lt;/p&gt;&lt;ul&gt;&lt;li&gt;Batch Data ExchangeExport/import data via flat files, aka ETL&lt;/li&gt;&lt;li&gt;Central DatabaseMake all applications access a common database&lt;/li&gt;&lt;li&gt;Remote Procedure CallsApplications call another directly or indirectly&lt;/li&gt;&lt;li&gt;MessagingPropagate documents and events via a common bus &lt;br /&gt;&lt;/li&gt;&lt;br /&gt;&lt;/ul&gt;&lt;p&gt;Styles and models can be mixed to suit specific requirements. &lt;br /&gt;Just to give you another push for Agile development (as if you needed it...) &lt;br /&gt;&lt;/p&gt;&lt;p&gt;Agile practices and benefits&amp;nbsp;&amp;nbsp;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;Manageability of project investment &lt;/li&gt;&lt;ul&gt;&lt;li&gt;Visibility of project progress&lt;/li&gt;&lt;li&gt;Adaptive planning&lt;/li&gt;&lt;li&gt;Incremental delivery&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;li&gt;Test-driven development&lt;/li&gt;&lt;ul&gt;&lt;li&gt;Regression basis&lt;/li&gt;&lt;li&gt;Design evolution&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;li&gt;Close Customer Collaboration&lt;/li&gt;&lt;ul&gt;&lt;li&gt;Create what customer really needs&lt;/li&gt;&lt;li&gt;Be able to respond to shifting priorities&lt;/li&gt;&lt;br /&gt;&lt;/ul&gt;&lt;/ul&gt;&lt;p&gt;This wealth of knowledge is gleaned from presentations that our main man Gregor Hohpe and others have given at the various conferences. &lt;p&gt;At another client, there is an issue with the use of MS BizTalk.&lt;/p&gt;&lt;p&gt;A lot of manual work is going into mapping data from legacy systems to a generic API. Strangely enough, they do this ad-hoc and have a cluster of people field data mapping calls from users. &lt;br /&gt;Sounds like they need themselves some SOA... &lt;/p&gt;&lt;p&gt;Remember the client with the TIBCO InConcert/Integration Manager throughput problems ?We were right in our assumptions that the root cause of their workflow pileups lies in SQLServer locking problems.&lt;/p&gt;&lt;p&gt;But it is more pervasive and conniving than we expected. Get this:&lt;/p&gt;&lt;p&gt;The TIBCO tools create global temporary tables in SQL Server to store workflow data.These tables are not session-related or carry some kind of session ID. So when there are a lot of workflows being created and managed, they deadlock on the temp tables ! &lt;br /&gt;Using DBCC TRACE, you can quickly determine who deadlocks what.You can also use the Enterprise Manager tool to configure tracing options for rthe entire server instance.&lt;/p&gt;&lt;p&gt;Guess TIBCO has some "esplainin" to do... &lt;/p&gt;&lt;p&gt;See here for some info on MS SQL Server trace flags:&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.databasejournal.com/features/mssql/article.php/1459091"&gt;http://www.databasejournal.com/features/mssql/article.php/1459091&lt;/a&gt; &lt;br /&gt;&lt;a href="http://msdn.microsoft.com/library/default.asp?url=/library/en-us/tsqlref/ts_ta-tz_646r.asp"&gt;http://msdn.microsoft.com/library/default.asp?url=/library/en-us/tsqlref/ts_ta-tz_646r.asp&lt;/a&gt;&lt;/p&gt;&lt;p&gt;Rumour has it that I need to go and do some Agile enablement in California...&lt;/p&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7517480-109063783152442586?l=carlaugustsimon.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://carlaugustsimon.blogspot.com/feeds/109063783152442586/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7517480&amp;postID=109063783152442586' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7517480/posts/default/109063783152442586'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7517480/posts/default/109063783152442586'/><link rel='alternate' type='text/html' href='http://carlaugustsimon.blogspot.com/2004/07/week-3-its-getting-interesting.html' title='Week 3 - It&apos;s getting interesting'/><author><name>Carl August Simon</name><uri>http://www.blogger.com/profile/02402312641087070394</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://photos1.blogger.com/blogger/213/467/320/SOAExecForum.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7517480.post-108940441068675012</id><published>2004-07-09T12:51:00.000-07:00</published><updated>2004-07-09T13:20:10.686-07:00</updated><title type='text'>Week 2</title><content type='html'>Ah, we survived week 1 and 2.&lt;br /&gt;Already been talking to several prospects and catching up on current technology.&lt;br /&gt;&lt;br /&gt;I have learned more new stuff in the last week than in the two years preceding. NASTY !&lt;br /&gt;&lt;br /&gt;Already poaching ex-colleagues to come and work here.&lt;br /&gt;&lt;br /&gt;I mean, what's more beautiful than consulting, right ?&lt;br /&gt;(voice-over mutters: "...that's what I thought then...")&lt;br /&gt;&lt;br /&gt;It appears that I have entered a very buzzword-heavy part of fthe industry. Not since the advent of GUIs has any IT branch been more rife with TLA's than EAI.&lt;br /&gt;&lt;br /&gt;Found a possibly useful EAI forum site:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://groups.ittoolbox.com/"&gt;http://groups.ittoolbox.com/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;They have newsletters with news categorized for talkers or doers.&lt;br /&gt;Are they trying to imply that architects are just EAI bullshitters ???&lt;br /&gt;&lt;br /&gt;Anyway, learned that IBM's fantastic WebSphere Business Integrator bundle is going to be replaced with something more integrated.&lt;br /&gt;&lt;br /&gt;In the mean time, seems that there is a lot more TIBCO stuff to go around than just financial services. Pretty neat...&lt;br /&gt;&lt;br /&gt;A final note: there is a rumbling in the Agile community about using XP for GUI design. Is there any other way ?&lt;br /&gt;A new book on the topic is due out soon, so more on that later.&lt;br /&gt;&lt;br /&gt;Learning all about AppServers, servlets, EARs, WARs and SOAPing it up in general.&lt;br /&gt;&lt;br /&gt;For good measure, some more links:&lt;br /&gt;&lt;a href="http://www.testdriven.com/modules/news/"&gt;http://www.testdriven.com&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.xprogramming.com/"&gt;http://www.xprogramming.com/&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7517480-108940441068675012?l=carlaugustsimon.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://carlaugustsimon.blogspot.com/feeds/108940441068675012/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7517480&amp;postID=108940441068675012' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7517480/posts/default/108940441068675012'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7517480/posts/default/108940441068675012'/><link rel='alternate' type='text/html' href='http://carlaugustsimon.blogspot.com/2004/07/week-2.html' title='Week 2'/><author><name>Carl August Simon</name><uri>http://www.blogger.com/profile/02402312641087070394</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://photos1.blogger.com/blogger/213/467/320/SOAExecForum.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7517480.post-108880164189094016</id><published>2004-07-02T13:42:00.000-07:00</published><updated>2004-07-02T13:55:16.440-07:00</updated><title type='text'>The Beginning - week 1</title><content type='html'>Well, we're off here at ThoughtWorks and they're throwing me in at the deep end.&lt;br /&gt;&lt;br /&gt;After a week of orientation ("dude, you're, like, SO overdressed, dude !") we're starting on our first project.&lt;br /&gt;&lt;br /&gt;Quite a change from my previous engagement, where learning external products was highly frowned upon.&lt;br /&gt;&lt;br /&gt;The first project involves me learning about WebSphere Business Integrator.&lt;br /&gt;Maybe I should first learn WebSphere...&lt;br /&gt;&lt;br /&gt;I'm in the Enterprise Application Integration business, so it would behoove me to post a couple of useful links.&lt;br /&gt;&lt;br /&gt;Our main man Gregor Hohpe's site:&lt;br /&gt;&lt;a href="http://eaipatterns.com/"&gt;http://eaipatterns.com/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Greg Wdowiak's collections and observations:&lt;br /&gt;&lt;a href="http://eaiblueprint.com"&gt;http://eaiblueprint.com&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;A PDF on IBM's WebSphere Business Integrator&lt;br /&gt;&lt;a href="http://www-306.ibm.com/software/solutions/webservices/pdf/WSBI.pdf"&gt;PDF&lt;/a&gt;&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/7517480-108880164189094016?l=carlaugustsimon.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://carlaugustsimon.blogspot.com/feeds/108880164189094016/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7517480&amp;postID=108880164189094016' title='72 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7517480/posts/default/108880164189094016'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7517480/posts/default/108880164189094016'/><link rel='alternate' type='text/html' href='http://carlaugustsimon.blogspot.com/2004/07/beginning-week-1.html' title='The Beginning - week 1'/><author><name>Carl August Simon</name><uri>http://www.blogger.com/profile/02402312641087070394</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://photos1.blogger.com/blogger/213/467/320/SOAExecForum.jpg'/></author><thr:total>72</thr:total></entry></feed>
