<?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:blogger='http://schemas.google.com/blogger/2008' 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-33213225</id><updated>2024-09-08T15:52:45.343+02:00</updated><category term="Design Thinking"/><category term="General"/><category term="Movies"/><category term="Seminars"/><category term="books"/><title type='text'>TDDB84 Design Patterns - Course Blog</title><subtitle type='html'></subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://tddb84.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/33213225/posts/default?redirect=false'/><link rel='alternate' type='text/html' href='http://tddb84.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>peterb</name><uri>http://www.blogger.com/profile/08287895070583962124</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEha0mxa6QH2J5vjNVSVnVG0XZYMQ6cMP3zQq3SlQjRMMSbR5tezK0RaX4fIiNcbNREHR-UMpML3gOLqx9PlSfkSUIHfp6W2_X38jGwicsWoqBZ5WF20fXmAOSLvOCazpw/s220/peter.JPG'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>7</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-33213225.post-3549983738957100570</id><published>2008-09-29T08:33:00.005+02:00</published><updated>2008-09-29T08:41:36.823+02:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Seminars"/><title type='text'>MVC: 30 years later, the other shoe drops</title><content type='html'>Feel free to attend Jim Coplien’s research seminar on Friday at the Computer Science Department (IDA).&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Date: Friday, Oct 3, 2008 Place: &lt;a href=&quot;http://www.ida.liu.se/department/location/search.sv.shtml?keyword=Alan+turing&quot;&gt;Alan Turing(House E, 1 floor).&lt;/a&gt; Time: 10:15&lt;br /&gt;&lt;br /&gt;&lt;a href=&quot;http://users.rcn.com/jcoplien/&quot;&gt;Jim Coplien&lt;/a&gt;, Gertrud&amp;amp;Cope, Denmark&lt;br /&gt;&lt;br /&gt;Abstract:&lt;br /&gt;&lt;br /&gt;To its end user, software is not a product, but a service. Procedural programming made it possible to reason about these services and their logic in which most problems could be found in low-cost but dutiful desk checks. The main correlation-like entity was the procedure, which could be assembled to collect large numbers of activation record instances into a few archetypical structures. In 1967, the ability to do this was taken away by object-oriented programming, which encouraged a style of programming where this user-focused structure was subordinated to the user&#39;s cognitive model of the static world: of its objects. The algorithmic view was further muddled by inclusion polymorphism. The Smalltalk anthropomorphic view and ever small method sizes made it necessary to understand dozens of atomic algorithms to understand even the simplest functionality. Progress in methodologies reduced this static view to an even more over-simplified and more static view in classes, the almost final step in removing our ability to reason about the end user system model. The final step was Agile methods, which focus on the customer -- the middleman -- instead of the end user, enabling a product focus instead of a service focus. This is even celebrated as a good thing.&lt;br /&gt;&lt;br /&gt;Piecemeal, technology has slowly staggered roughly in the direction of the more primordial object view, and AOP has struggled to restore some of the algorithmic view. Roles and role-based modeling have brought back a bit more dynamic view of the system; we find their incarnation in Java and C# interfaces. There is renewed interest in dynamic programming languages and in the kind of flexibility one finds in traits. Trygve Reenskaug has combined these techniques and brought us full circle in the DCI paradigm. The &quot;D&quot; is for data modeling: what we know as traditional objects, though bereft of knowledge about scenarios. It captures the static structure of objects and their references on the heap. The &quot;C&quot; is for context: the mapping of roles onto objects on a per-use-case basis, implemented as a dictionary. The &quot;I&quot; is for interaction: an algorithm of a stateless role, written in terms only of other roles, that defines in readable terms what the system does. Object dynamics can be captured in interaction roles and melded with classes who use the roles as traits; interaction dynamics appear in a context object generated anew for every use case; and structural dynamics appear as references between elements of object data.&lt;br /&gt;&lt;br /&gt;This design approach expresses several important correlations that long have been missing in object orientation. Rather than unifying all algorithmic cross-cutting into Aspects, it teases out important facets into the context and interaction, with the object model a third correlation that is usually presumed to be the base partitioning. These correlations conceivably compose in uniform and predictable ways because of their grounding in simple object concepts such as interfaces and classes, rather than cutpoints or wrappers and whoppers. It is an extended subset of multi-paradigm design, incorporating important elements of the procedural and object paradigms.&lt;br /&gt;&lt;br /&gt;Speaker&#39;s Profile:&lt;br /&gt;&lt;br /&gt;&lt;a href=&quot;http://users.rcn.com/jcoplien/&quot;&gt;Jim (&quot;Cope&quot;) Coplien &lt;/a&gt;is a Software Architecture and Agile Consultant at Gertrud&amp;amp;Cope in Denmark. He has a 25-year history as an &quot;early adopter&quot; and innovator behind several strategic innovations in software: his C++ Idioms book was one of the major sources for Design Patterns; his work on Organizational Patterns was one of the foundations of the structural components of XP and was the inspiration for Scrums. His books cover areas as diverse as C++ programming, software design, and organizational design. He has started writing a book on Agile software development. His current professional focus areas include Lean software architecture, highlighting the challenges of test-driven development, and Scrum process improvement using Organizational Patterns. His current day-to-day work includes architecture reviews, coding, and helping organizations work more effectively in lean economic conditions through process improvement and reduction of waste. His current hobby is creating advanced (housing) architecture CAD tools based on pattern languages. He lives with his wife and son in Mørdrup, Denmark. When he grows up, he wants to be an anthropologist.</content><link rel='replies' type='application/atom+xml' href='http://tddb84.blogspot.com/feeds/3549983738957100570/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/33213225/3549983738957100570' title='6 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/33213225/posts/default/3549983738957100570'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/33213225/posts/default/3549983738957100570'/><link rel='alternate' type='text/html' href='http://tddb84.blogspot.com/2008/09/mvc-30-years-later-other-shoe-drops.html' title='MVC: 30 years later, the other shoe drops'/><author><name>peterb</name><uri>http://www.blogger.com/profile/08287895070583962124</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEha0mxa6QH2J5vjNVSVnVG0XZYMQ6cMP3zQq3SlQjRMMSbR5tezK0RaX4fIiNcbNREHR-UMpML3gOLqx9PlSfkSUIHfp6W2_X38jGwicsWoqBZ5WF20fXmAOSLvOCazpw/s220/peter.JPG'/></author><thr:total>6</thr:total></entry><entry><id>tag:blogger.com,1999:blog-33213225.post-7028882134693699880</id><published>2008-09-22T21:00:00.000+02:00</published><updated>2008-09-22T21:00:02.621+02:00</updated><title type='text'>Adapters in Python</title><content type='html'>Those of you who are interested in Python might find this presentation useful about adapter in Python.&lt;br /&gt;&lt;object height=&quot;344&quot; width=&quot;425&quot;&gt;&lt;param name=&quot;movie&quot; value=&quot;http://www.youtube.com/v/UF77e2TeeQo&amp;amp;hl=en&amp;amp;fs=1&amp;amp;rel=0&amp;amp;color1=0x006699&amp;amp;color2=0x54abd6&quot;&gt;&lt;param name=&quot;allowFullScreen&quot; value=&quot;true&quot;&gt;&lt;embed src=&quot;http://www.youtube.com/v/UF77e2TeeQo&amp;hl=en&amp;fs=1&amp;rel=0&amp;color1=0x006699&amp;color2=0x54abd6&quot; type=&quot;application/x-shockwave-flash&quot; allowfullscreen=&quot;true&quot; width=&quot;425&quot; height=&quot;344&quot;&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;&lt;br /&gt;You can also download the presentation slides from here&lt;br /&gt;http://rhodesmill.org/brandon/adapters/</content><link rel='replies' type='application/atom+xml' href='http://tddb84.blogspot.com/feeds/7028882134693699880/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/33213225/7028882134693699880' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/33213225/posts/default/7028882134693699880'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/33213225/posts/default/7028882134693699880'/><link rel='alternate' type='text/html' href='http://tddb84.blogspot.com/2008/07/adapters-in-python.html' title='Adapters in Python'/><author><name>peterb</name><uri>http://www.blogger.com/profile/08287895070583962124</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEha0mxa6QH2J5vjNVSVnVG0XZYMQ6cMP3zQq3SlQjRMMSbR5tezK0RaX4fIiNcbNREHR-UMpML3gOLqx9PlSfkSUIHfp6W2_X38jGwicsWoqBZ5WF20fXmAOSLvOCazpw/s220/peter.JPG'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-33213225.post-6494765766950663638</id><published>2008-09-22T20:49:00.002+02:00</published><updated>2008-09-22T20:53:29.970+02:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Movies"/><title type='text'>The Observer Design Pattern - The You Tube variant</title><content type='html'>I found this while browsing on You Tube. There are several movies  about design patterns from the same user. It is interesting, isn’t it? :-)&lt;br /&gt;&lt;br /&gt;&lt;object height=&quot;344&quot; width=&quot;425&quot;&gt;&lt;param name=&quot;movie&quot; value=&quot;http://www.youtube.com/v/Xxvpwmc-7io&amp;amp;hl=en&amp;amp;fs=1&quot;&gt;&lt;param name=&quot;allowFullScreen&quot; value=&quot;true&quot;&gt;&lt;embed src=&quot;http://www.youtube.com/v/Xxvpwmc-7io&amp;hl=en&amp;fs=1&quot; type=&quot;application/x-shockwave-flash&quot; allowfullscreen=&quot;true&quot; width=&quot;425&quot; height=&quot;344&quot;&gt;&lt;/embed&gt;&lt;/object&gt;</content><link rel='replies' type='application/atom+xml' href='http://tddb84.blogspot.com/feeds/6494765766950663638/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/33213225/6494765766950663638' title='30 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/33213225/posts/default/6494765766950663638'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/33213225/posts/default/6494765766950663638'/><link rel='alternate' type='text/html' href='http://tddb84.blogspot.com/2008/09/observer-design-pattern-you-tube.html' title='The Observer Design Pattern - The You Tube variant'/><author><name>peterb</name><uri>http://www.blogger.com/profile/08287895070583962124</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEha0mxa6QH2J5vjNVSVnVG0XZYMQ6cMP3zQq3SlQjRMMSbR5tezK0RaX4fIiNcbNREHR-UMpML3gOLqx9PlSfkSUIHfp6W2_X38jGwicsWoqBZ5WF20fXmAOSLvOCazpw/s220/peter.JPG'/></author><thr:total>30</thr:total></entry><entry><id>tag:blogger.com,1999:blog-33213225.post-2348897689715853076</id><published>2008-09-01T23:38:00.005+02:00</published><updated>2008-09-02T23:49:00.538+02:00</updated><title type='text'>Six Impossible Things Before Breakfast</title><content type='html'>As a reaction to the first lecture and to the previous two blog entries I have received several emails. In those emails I&#39;m sensing that some of you find it very hard to escape from the formal world of programming and exercise creativity. Imagination and creativity are important ingredients in any design process and contrary to what some of you believe, it can be exercised and trained. It not something that you are born with and it is not necessarily something that you learn in an art and design school. You can start practicing creativity by believing in impossible things. If you have doubts that you cannot be a good designer then take the advice of the Queen from Alice in Wonderland.&lt;br /&gt;&lt;br /&gt;&quot;Alice laughed: &lt;em&gt;&#39;There&#39;s no use trying&lt;/em&gt;,&#39; she said; &lt;em&gt;&#39;one can&#39;t believe impossible things&lt;/em&gt;.&#39;&quot;.&lt;br /&gt;&lt;br /&gt;&lt;em&gt;&#39;I daresay you haven&#39;t had much practice&lt;/em&gt;,&#39; said the Queen. &lt;em&gt;&#39;When I was younger, I always did it for half an hour a day. Why, sometimes I&#39;ve believed as many as six impossible things before breakfast.&lt;/em&gt;&quot;&lt;br /&gt;&lt;br /&gt;If you are still not convinced and you still do not know how to exercise creativity and visual thinking watch the following presentation:&lt;br /&gt;&lt;br /&gt;&lt;div id=&quot;__ss_200457&quot; style=&quot;WIDTH: 425px; TEXT-ALIGN: left&quot;&gt;&lt;a title=&quot;Visual and Creative Thinking:What We Learned From Peter Pan and Willy Wonka&quot; style=&quot;DISPLAY: block; MARGIN: 12px 0px 3px; FONT: 14px Helvetica,Arial,Sans-serif; TEXT-DECORATION: underline&quot; href=&quot;http://www.slideshare.net/themoleskin/visual-and-creative-thinking?src=embed&quot;&gt;Visual and Creative Thinking:What We Learned From Peter Pan and Willy Wonka&lt;/a&gt;&lt;br /&gt;&lt;object style=&quot;MARGIN: 0px&quot; height=&quot;355&quot; width=&quot;425&quot;&gt;&lt;param name=&quot;movie&quot; value=&quot;http://static.slideshare.net/swf/ssplayer2.swf?doc=visual-and-creative-thinking-1197429203117348-4&amp;amp;stripped_title=visual-and-creative-thinking&quot;&gt;&lt;param name=&quot;allowFullScreen&quot; value=&quot;true&quot;&gt;&lt;param name=&quot;allowScriptAccess&quot; value=&quot;always&quot;&gt;&lt;br /&gt;&lt;embed src=&quot;http://static.slideshare.net/swf/ssplayer2.swf?doc=visual-and-creative-thinking-1197429203117348-4&amp;stripped_title=visual-and-creative-thinking&quot; type=&quot;application/x-shockwave-flash&quot; allowscriptaccess=&quot;always&quot; allowfullscreen=&quot;true&quot; width=&quot;425&quot; height=&quot;355&quot;&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;&lt;div style=&quot;FONT-SIZE: 11px; PADDING-TOP: 2px; FONT-FAMILY: tahoma,arial; HEIGHT: 26px&quot;&gt;View SlideShare &lt;a title=&quot;View Visual and Creative Thinking:What We Learned From Peter Pan and Willy Wonka on SlideShare&quot; style=&quot;TEXT-DECORATION: underline&quot; href=&quot;http://www.slideshare.net/themoleskin/visual-and-creative-thinking?src=embed&quot;&gt;presentation&lt;/a&gt; or &lt;a style=&quot;TEXT-DECORATION: underline&quot; href=&quot;http://www.slideshare.net/upload?src=embed&quot;&gt;Upload&lt;/a&gt; your own. (tags: &lt;a style=&quot;TEXT-DECORATION: underline&quot; href=&quot;http://slideshare.net/tag/kelseyruger&quot;&gt;kelseyruger&lt;/a&gt; &lt;a style=&quot;TEXT-DECORATION: underline&quot; href=&quot;http://slideshare.net/tag/sketching&quot;&gt;sketching&lt;/a&gt;)&lt;/div&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tddb84.blogspot.com/feeds/2348897689715853076/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/33213225/2348897689715853076' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/33213225/posts/default/2348897689715853076'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/33213225/posts/default/2348897689715853076'/><link rel='alternate' type='text/html' href='http://tddb84.blogspot.com/2008/09/six-impossible-things-before-breakfast.html' title='Six Impossible Things Before Breakfast'/><author><name>peterb</name><uri>http://www.blogger.com/profile/08287895070583962124</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEha0mxa6QH2J5vjNVSVnVG0XZYMQ6cMP3zQq3SlQjRMMSbR5tezK0RaX4fIiNcbNREHR-UMpML3gOLqx9PlSfkSUIHfp6W2_X38jGwicsWoqBZ5WF20fXmAOSLvOCazpw/s220/peter.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-33213225.post-4604900723323190920</id><published>2008-09-01T23:02:00.004+02:00</published><updated>2008-09-01T23:36:46.546+02:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Design Thinking"/><title type='text'>Design Thinking</title><content type='html'>During the fist lecture, I have mentioned that I will not let out the “&lt;em&gt;design&lt;/em&gt;” concept from the design patterns course and we will discuss what makes design excellence in other science like architecture, cognitive science and, not in the last place, art. We have seen that design patterns in software engineering represent reusable solutions to commonly occurring problems in software design. Those solutions turned out to work well in a given situation therefore they have been captured in a pattern of catalog to facilitate reuse. Once you have identified the problem you can apply a pattern to solve it.&lt;br /&gt;&lt;br /&gt;But how about the when you a have problem that has not been solved before and there is no satisfactory recipe to solve it? How one can solve such problems? What is the process for finding a solution?&lt;br /&gt;&lt;br /&gt;Design Thinking is a new way of thinking about solving problems in which problem solving and innovation activities are closely linked with human-centered activities in which designer can take the role of the user. The product and the product development strategy are created by experiencing rather than simply carefully planning. For those of you that had contact with any of the agile development process this may sound familiar. Prototyping often in small development cycles and putting the customer in focus are the main driving ideas in any agile process. Among the multiple definition of the design term I like the one that states that “design &lt;em&gt;is creativity in reaction to everyday problems&lt;/em&gt;”. That’s why I told you that I’m looking for creativity in this course. Thinking like a designer and using creativity is an important asset for every software engineer.&lt;br /&gt;&lt;br /&gt;The June issue of the Harvard Business Review has just published an &lt;a href=&quot;http://web.ebscohost.com.lt.ltag.bibl.liu.se/ehost/pdf?vid=6&amp;amp;hid=120&amp;amp;sid=75dd953a-26d4-4651-a43b-8a31129a8d6a%40sessionmgr104&quot;&gt;interesting article &lt;/a&gt;by TIM Brown CEO of &lt;a href=&quot;http://www.ideo.com/&quot;&gt;IDEO &lt;/a&gt;on Design Thinking. If you are interested in some case-studies to see how design thinking takes place this article is a good start. Tim Brown gives also some guidelines on how to make design-thinking part of the innovation drill. Below I have selected some of the guidelines that I consider relevant for the software development process.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Begin with the beginning&lt;/strong&gt;. Design thinkers should be involved from the very beginning of any innovation process. In this way more ideas would be explored that otherwise would have disappeared.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Take a human centered approach&lt;/strong&gt;. I could not agree more. Technology is only one part of the story. One should never forget that technology is to make users life easier. In the design thinking process, the customer is on focus (like in any agile development method).&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Try early and often&lt;/strong&gt;. This sounds actually very familiar from the Agile Manifesto: “Deliver working software frequently, from a couple of weeks to a couple of months, with a preference to the shorter timescale”. Prototyping is one of the main ingredients in Design Thinking.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Seek outside help&lt;/strong&gt;. Consumers should be involved the design process. Tim Brown’s advice is to exploit Web 2.0 networks to enlarge the scale of innovation. My favorite example is the &lt;a href=&quot;http://mystarbucksidea.force.com/home/home.jsp&quot;&gt;My Starbucks Idea &lt;/a&gt;web site in which Starbucks is encouraging customers to share, discuss and vote on ideas that could improve their business. Take a look and let me know what you think. It seems that finally a big company got the idea how to exploit an emerging technology and listen to the customers.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Find talent anyway you can&lt;/strong&gt;. Tim Brown advocates for interdisciplinary teams that can have a new perspective over the problem and a new way to find solutions. Sometimes I have the impression that some web sites are made only by software engineers. They could use some help from a multidisciplinary team including designers and usability engineers.&lt;br /&gt;&lt;br /&gt;For Design Thinking in action you can watch the following movie made by a group of students from Stanford&lt;br /&gt;&lt;br /&gt;&lt;object height=&quot;344&quot; width=&quot;425&quot;&gt;&lt;param name=&quot;movie&quot; value=&quot;http://www.youtube.com/v/JZH70qhmEso&amp;amp;hl=en&amp;amp;fs=1&quot;&gt;&lt;param name=&quot;allowFullScreen&quot; value=&quot;true&quot;&gt;&lt;embed src=&quot;http://www.youtube.com/v/JZH70qhmEso&amp;hl=en&amp;fs=1&quot; type=&quot;application/x-shockwave-flash&quot; allowfullscreen=&quot;true&quot; width=&quot;425&quot; height=&quot;344&quot;&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;&lt;br /&gt;Still not convinced? Maybe the following links would help:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;http://mitworld.mit.edu/video/357/&quot;&gt;Video of a presentation given by Tim Brown at the MIT Sloan School of Management&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;http://www.redhat.com/magazine/019may06/features/documentation_design/&quot;&gt;Better Linux release notes through design thinking &lt;/a&gt;by Karsten Wade, article published in the Red Hat Magazine&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;http://www.redhat.com/magazine/019may06/features/burney/&quot;&gt;Intro to design thinking&lt;/a&gt;. An interview with David Burney conducted by Tim Hyer published in the Red Hat Magazine&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;http://www.stanford.edu/group/dschool/&quot;&gt;Hasso Plattner Institute of Design&lt;/a&gt; at Stanford University&lt;/li&gt;&lt;/ul&gt;</content><link rel='replies' type='application/atom+xml' href='http://tddb84.blogspot.com/feeds/4604900723323190920/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/33213225/4604900723323190920' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/33213225/posts/default/4604900723323190920'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/33213225/posts/default/4604900723323190920'/><link rel='alternate' type='text/html' href='http://tddb84.blogspot.com/2008/09/design-thinking.html' title='Design Thinking'/><author><name>peterb</name><uri>http://www.blogger.com/profile/08287895070583962124</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEha0mxa6QH2J5vjNVSVnVG0XZYMQ6cMP3zQq3SlQjRMMSbR5tezK0RaX4fIiNcbNREHR-UMpML3gOLqx9PlSfkSUIHfp6W2_X38jGwicsWoqBZ5WF20fXmAOSLvOCazpw/s220/peter.JPG'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-33213225.post-6643824970028137002</id><published>2008-08-31T00:25:00.007+02:00</published><updated>2008-08-31T01:16:08.421+02:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="books"/><title type='text'>A Matter of Change</title><content type='html'>&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhY63mJ-v9Clb3hxShXK-_9pmLoWozfiHFckhNVL3nbiCtyAVAioA6iEsoIjCCMRPGYd9WipLFkioFc2xyeed0gCGnjbgivBIFeR1OVyD5DcE-cZqcDlEI5hm6qko48jj9qqQe3/s1600-h/subjecttochange.bmp&quot;&gt;&lt;/a&gt;&lt;div&gt;We have seen during the first lecture, in the context of the strategy design pattern, that it was useful to isolate the part that was changing. In this way, we were able to change the behavior of an object by changing the algorithm without being able to redesign our application. Design Patterns are solutions to recurring problems that encapsulates concepts that varies giving you the possibility to adapt to changes without being necessary to redesign. For a list of the design aspects that design patterns let you vary please consult the GOF book on page 30.&lt;br /&gt;&lt;br /&gt;Change should be part of the design but it should not stop at this level. Responding to change should be also part of the development process. Any agile software development methods welcome changing requirements even late in the development. Change is harnessed for the customer’s competitive advantage. The question is how to accommodate changes when designing new products and services? It might eventually require a new way of thinking and working. &lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgWIjjvw020hF5WVRd601Y5qqleyaIo6F0I0Var93DPO-KGoS9295SZBkWYUfnReFY_iA-mEQ8eGrba_eu5v5YYRGRZXq3cNeZ86mkk61FM49mWCRrQOl4E_pQMl7fmWAYMi_ua/s1600-h/subjecttochange.bmp&quot;&gt;&lt;img id=&quot;BLOGGER_PHOTO_ID_5240441811732709970&quot; style=&quot;FLOAT: left; MARGIN: 0px 10px 10px 0px; CURSOR: hand&quot; height=&quot;181&quot; alt=&quot;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgWIjjvw020hF5WVRd601Y5qqleyaIo6F0I0Var93DPO-KGoS9295SZBkWYUfnReFY_iA-mEQ8eGrba_eu5v5YYRGRZXq3cNeZ86mkk61FM49mWCRrQOl4E_pQMl7fmWAYMi_ua/s200/subjecttochange.bmp&quot; width=&quot;128&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;The following book will give you some answers about how to incorporate change in the product design and reacting to the volatility of the market and customers expectation. The title of the book is &quot;&lt;em&gt;Subject To Change: Creating Great Products &amp;amp; Services for an Uncertain World: Adaptive Path on Design&lt;/em&gt; &quot; written by Peter Merholz, Todd Wilkens, Brandon Schauer and David Verba from a small design consultancy company called &lt;a href=&quot;http://www.adaptivepath.com/&quot;&gt;Adaptive Path&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt; &lt;/div&gt;&lt;div&gt; &lt;/div&gt;&lt;div&gt; &lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;If you don’t have access to the book you can watch the following video presentation given by the of the authors to the Google employers.&lt;br /&gt;&lt;br /&gt;&lt;object height=&quot;344&quot; width=&quot;425&quot;&gt;&lt;param name=&quot;movie&quot; value=&quot;http://www.youtube.com/v/XXzWeMCTUGo&amp;amp;hl=en&amp;amp;fs=1&quot;&gt;&lt;param name=&quot;allowFullScreen&quot; value=&quot;true&quot;&gt;&lt;embed src=&quot;http://www.youtube.com/v/XXzWeMCTUGo&amp;hl=en&amp;fs=1&quot; type=&quot;application/x-shockwave-flash&quot; allowfullscreen=&quot;true&quot; width=&quot;425&quot; height=&quot;344&quot;&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;&lt;br /&gt;Don&#39;t forget that sooner or later you will end up in the situation in which you need to sell the software that you are creating. I would specially recommend reading the book and watching the video for those of you that intend to start a company after your studies. &lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tddb84.blogspot.com/feeds/6643824970028137002/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/33213225/6643824970028137002' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/33213225/posts/default/6643824970028137002'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/33213225/posts/default/6643824970028137002'/><link rel='alternate' type='text/html' href='http://tddb84.blogspot.com/2008/08/matter-of-change.html' title='A Matter of Change'/><author><name>peterb</name><uri>http://www.blogger.com/profile/08287895070583962124</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEha0mxa6QH2J5vjNVSVnVG0XZYMQ6cMP3zQq3SlQjRMMSbR5tezK0RaX4fIiNcbNREHR-UMpML3gOLqx9PlSfkSUIHfp6W2_X38jGwicsWoqBZ5WF20fXmAOSLvOCazpw/s220/peter.JPG'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgWIjjvw020hF5WVRd601Y5qqleyaIo6F0I0Var93DPO-KGoS9295SZBkWYUfnReFY_iA-mEQ8eGrba_eu5v5YYRGRZXq3cNeZ86mkk61FM49mWCRrQOl4E_pQMl7fmWAYMi_ua/s72-c/subjecttochange.bmp" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-33213225.post-8621193054478424270</id><published>2008-08-23T16:38:00.000+02:00</published><updated>2008-08-23T16:38:52.507+02:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="General"/><title type='text'>A New Beginning</title><content type='html'>Since you are reading this, I assume that you are student and now you are just wondering what you have done by enrolling in a &lt;a href=&quot;http://www.ida.liu.se/~TDDB84/&quot;&gt;Design Patterns Course&lt;/a&gt;. Maybe you don’t realize that but you have just embarked on an educational journey in which I hope you will learn something about the beauty of computer science and more than everything you will realize that your career choice of becoming a software engineer it was the right one. Since you are taking this course this is a clear indication to me that you love and like programming. However now it is the time to move far beyond coding and see the big picture. It is time to grow up; it is time to be a real software engineer, a software engineer that will be desired by the most of the employers.&lt;br /&gt;&lt;br /&gt;Give me your time and I promise that I will give you the funniest computer course that you had so far at the university. There will be several unusual teaching experiments in this course. You will surely notice them. Some of it will maybe look strange to you. Probably this blog introduction is looking already strange enough. Well this is just the beginning. More strange things and more surprises are lurking in this course. You will notice them while attending the lectures, seminars and laboratories.&lt;br /&gt;&lt;br /&gt;Our investigation during this course will yield general principles that have specific design consequences, governing the analysis and the programming tasks. These principles will help us to identify and to explain design excellence, why some design solutions are better than others and what makes them to be used again and again. To work with design patterns is to work at the intersection of computer science, architecture, cognitive science and, not in the last place, art. Insights into the art of computer programming are to be gained, I believe, from theories of what makes excellence in these areas of human cognition.&lt;br /&gt;&lt;br /&gt;The capability of thinking out of the box is very important for a becoming software engineer and therefore I would like to ask to treat this course as a course in imagination and creativity. The most creative solutions arise when we are abandoning our preconceptions and trying out totally new things and making unusual associations. Personally, I will do that. I will try to leave my preconceptions home and try new things during this course. I would expect that you will do the same or at least give it a try. Don’t let be intimidated by the word &quot;pattern&quot;. It is nothing that will constrain your imagination and creativity.&lt;br /&gt;&lt;br /&gt;I’m looking forward to our first lecture on Tuesday and now let’s embark for a one term journey in the art of programming and design.</content><link rel='replies' type='application/atom+xml' href='http://tddb84.blogspot.com/feeds/8621193054478424270/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/33213225/8621193054478424270' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/33213225/posts/default/8621193054478424270'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/33213225/posts/default/8621193054478424270'/><link rel='alternate' type='text/html' href='http://tddb84.blogspot.com/2008/08/new-beginning.html' title='A New Beginning'/><author><name>peterb</name><uri>http://www.blogger.com/profile/08287895070583962124</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEha0mxa6QH2J5vjNVSVnVG0XZYMQ6cMP3zQq3SlQjRMMSbR5tezK0RaX4fIiNcbNREHR-UMpML3gOLqx9PlSfkSUIHfp6W2_X38jGwicsWoqBZ5WF20fXmAOSLvOCazpw/s220/peter.JPG'/></author><thr:total>0</thr:total></entry></feed>