<?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/opensearch/1.1/' 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' gd:etag='W/&quot;CUINRHs6eyp7ImA9WhVXFU4.&quot;'><id>tag:blogger.com,1999:blog-18112536</id><updated>2012-04-16T01:46:35.513+02:00</updated><category term='&quot;developer 2.0&quot;'/><category term='perpetual'/><category term='relationship'/><category term='enterprise 2.0'/><category term='developer 2.0'/><category term='reputation'/><category term='mike'/><category term='development'/><category term='developer 2.0 memento'/><category term='thank'/><category term='scaling'/><category term='api'/><category term='hackable architecture'/><category term='SOA'/><category term='service'/><category term='complexity'/><category term='antipattern'/><category term='sprint'/><category term='varese'/><category term='rhythm'/><category term='agile'/><category term='backlog'/><category term='emotion'/><category term='web 2.0'/><category term='comparison'/><category term='soul'/><category term='code'/><category term='mashup'/><category term='corporate website'/><category term='wave'/><category term='learning'/><category term='social network'/><category term='luis'/><category term='elsua'/><category term='knowledge'/><category term='stress'/><category term='startup'/><category term='experience'/><category term='thanks'/><category term='perpetual beta'/><category term='role'/><category term='oblique scaling'/><category term='context'/><category term='pareto principle'/><category term='blog'/><category term='wordpress'/><category term='component'/><category term='beta'/><category term='learning 2.0'/><category term='pair programming'/><category term='sense'/><category term='friendship'/><category term='suarez'/><category term='people'/><category term='scrum'/><category term='priorities'/><category term='software'/><category term='self organization'/><category term='SPOF'/><category term='2.0'/><category term='twitter'/><category term='#e20forum'/><category term='insubria'/><category term='architect'/><category term='20-80'/><category term='design'/><category term='team'/><category term='product backlog'/><category term='tagging'/><category term='w2e'/><category term='architecture'/><category term='hp'/><category term='management'/><category term='estimation'/><category term='interaction design'/><category term='seductive design'/><title>Frank Mondora</title><subtitle type='html'>This is my personal mainstream where I try to dump my brain. Topics I'm interested in are: agile development, enterprise 2.0, deep dynamics in development teams and architectures.</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://fmondora.mondora.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/18112536/posts/default?redirect=false&amp;v=2'/><link rel='alternate' type='text/html' href='http://fmondora.mondora.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Frank Mondora</name><uri>http://www.blogger.com/profile/12312911649522678625</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='23' height='32' src='http://3.bp.blogspot.com/_iDnpW2--Di4/SMc-e59ijwI/AAAAAAAAAFs/pUy6QiNHZ-g/S220/toxXyz4PST3Eh6CQuZdcPbiyVfLHRzO4.jpg'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>25</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><entry gd:etag='W/&quot;DUcBR304cSp7ImA9WxRWEEw.&quot;'><id>tag:blogger.com,1999:blog-18112536.post-878315237139429020</id><published>2008-10-26T11:18:00.007+01:00</published><updated>2008-10-26T11:30:56.339+01:00</updated><app:edited xmlns:app='http://www.w3.org/2007/app'>2008-10-26T11:30:56.339+01:00</app:edited><category scheme='http://www.blogger.com/atom/ns#' term='agile'/><category scheme='http://www.blogger.com/atom/ns#' term='reputation'/><category scheme='http://www.blogger.com/atom/ns#' term='thanks'/><category scheme='http://www.blogger.com/atom/ns#' term='thank'/><title>Agile: "I thank you!" as mindset</title><content type='html'>&lt;div style="text-align: justify;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4loves.com/links/uploaded_images/applause-754063.jpg"&gt;&lt;img style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer; width: 323px; height: 213px;" src="http://4loves.com/links/uploaded_images/applause-754063.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;span style=";font-family:verdana;font-size:130%;"  &gt;We're used to thank someone when we are relaxed; when we are working to gain some objectives, we start forgetting to thank our colleagues and we're focused on the delivery and not on the informal relation. Formalities are taking over, and titles are governing instead of relations, passion and other emotive behavior typical of people hides.&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;I see this as one of the big problem on a committed agile team that is highly committed and is releasing often; delivery is every day near the door, and commitment is really high since the first day. A formal title dominates to the relationship, passion is translated into the word work and stress is continuous&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;I like to approach this kind of problem by doing a daily debrief in every team I work with: we start the morning by planning the day and believing what is a concrete result for the day, and we close the day by packaging up all the work by committing it to the version control and thinking about what's coming next.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;I usually debrief teams every day before teams' player is leaving the office at a fixed our 6.30PM. This lets individuals to relax a little bit, to focus on what is done and to focus on what can be done the next day. This kind of approach is a formal day closure where we brainstorm about the day. It's an informal event differently from the morning daily scrum where there is also the product owner, and it takes no more than 5 minutes each day but gives some benefits like:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt; &lt;ul&gt;&lt;li&gt;&lt;span style="font-family:verdana;"&gt;work less than 9 hours a day;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-family:verdana;"&gt;stay focused during the day to achieve the daily milestone;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-family:verdana;"&gt;be sure every day everyone can remove every unpleasant thing matured during the day in an informal way.&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;For me and every person inside the team, this is a good opportunity where all of us can realize the power of individuals from the group perspective and start thinking about each one. I see some thanks fly around only during this kind of informal meeting and, when thanks is a reputation system better than all those you can find around internet.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;A daily based thanks opportunity is the best way to achieve self-esteem and then increase the reputation of each one in the team; the more a team is growing the more it increases the reputation of all the people inside it. Reputation is something that builds from small action and models the different attitudes of a person making her confident what the others are thinking about her.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;The things I'm presenting here is one of the techniques I'm adopting to make individual to act as a team and to stay focused. This kind of tuning is mandatory to search a group personality and moreover to enrich individual personality. During this type of meetings I'm acting as a facilitator and not as a stakeholder or as a troubleshooter; my role is to help in maturing self-confidence about the work and to stay committed daily.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;Team players know I'm not so good to help them, they see me only as a curious person that would like to share the day and to breath the same air: someone outside that can make a team member being a team and can bring fresh air and harmony inside.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;I will continue more on the topic of a daily reputation in the next posts.&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://fmondora.mondora.com/feeds/878315237139429020/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://fmondora.mondora.com/2008/10/agile-i-thank-you-as-mindset.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/18112536/posts/default/878315237139429020?v=2'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/18112536/posts/default/878315237139429020?v=2'/><link rel='alternate' type='text/html' href='http://fmondora.mondora.com/2008/10/agile-i-thank-you-as-mindset.html' title='Agile: &quot;I thank you!&quot; as mindset'/><author><name>Frank Mondora</name><uri>http://www.blogger.com/profile/12312911649522678625</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='23' height='32' src='http://3.bp.blogspot.com/_iDnpW2--Di4/SMc-e59ijwI/AAAAAAAAAFs/pUy6QiNHZ-g/S220/toxXyz4PST3Eh6CQuZdcPbiyVfLHRzO4.jpg'/></author><thr:total>0</thr:total></entry><entry gd:etag='W/&quot;DUENQ3k6fCp7ImA9WxRXEEg.&quot;'><id>tag:blogger.com,1999:blog-18112536.post-7653358071539297627</id><published>2008-10-10T09:10:00.009+02:00</published><updated>2008-10-15T10:01:32.714+02:00</updated><app:edited xmlns:app='http://www.w3.org/2007/app'>2008-10-15T10:01:32.714+02:00</app:edited><category scheme='http://www.blogger.com/atom/ns#' term='agile'/><category scheme='http://www.blogger.com/atom/ns#' term='SPOF'/><category scheme='http://www.blogger.com/atom/ns#' term='self organization'/><category scheme='http://www.blogger.com/atom/ns#' term='management'/><category scheme='http://www.blogger.com/atom/ns#' term='sprint'/><category scheme='http://www.blogger.com/atom/ns#' term='team'/><category scheme='http://www.blogger.com/atom/ns#' term='backlog'/><category scheme='http://www.blogger.com/atom/ns#' term='scrum'/><title>You as a team: is it so vulnerable?</title><content type='html'>&lt;div style="text-align: justify;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://wootdragon.files.wordpress.com/2008/02/scrum.gif"&gt;&lt;img style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer; width: 320px;" src="http://wootdragon.files.wordpress.com/2008/02/scrum.gif" alt="" border="0" /&gt;&lt;/a&gt;&lt;span style="font-size:130%;"&gt;&lt;span style="font-family: verdana;"&gt;Project management practices introduce the coordinator of a project who's main responsibility is to manage and facilitate the project flow removing any impediments. Agile introduces the concept of self-organizing teams, where all the people manage themselves.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: verdana;"&gt;Project managers iterate on a Planning sheet and even a Gantt chart updating information on it, while Scrum identifies a Sprint Backlog as a driver for the current sprint and the product backlog as driver for the project. While things are pushing with a rhythm, team is delivering and project manager is governing each situation everyone is happy and the project feels good; but, someone in the team can lose the control of what is being delivered. It doesn't matter who is responsible for the matter, but the situation starts making all the rest suffering until crisis. This kind of problems emphasizes and become bigger time over time: like what happens in a domino.This can be still managed at last by the Project Manager that will solve the problem removing any impediments. But, what happen when the domino starts from the Project Manager or involves the Project Manager too? This is a case of the unreliable management, where the perception that a problem is occurring is not emerging and emerges only when the entire project is failing.  Traditional software management practices tries to solve this problem by creating an hierarchy inside teams, where on top resides the project manager, than the team leader, and then all the others.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: verdana;"&gt;The team leader is clustering around the project manager to maintain good health for the project. This is a good way to establish a balanced monitor in the team management staff. But, what happen where the cluster is itself not reliable? Well, the domino effect occurs again. Agile software development is addressing this lack by  promoting the entire team as a project manager and bringing a way to share daily a snapshot of the project feeling. A Sprint backlog is the driver for an iteration (Scrum identifies a sprint as an iteration), a sprint backlog is written by all the team members and is estimated daily. Every day all the team's player must re-estimate the work in progress with the hours remaining for the specified task, and every day the team must respond to the customer (in scrum is the product owner), on what they have done the previous day, what they will do in the current day and which is the problem they're finding on their way. The daily meeting is useful for the team too, because they can observe every day the remaining work to do and they can start anticipating some problems.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: verdana;"&gt;What happen if someone in the team is exploding?&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: verdana;"&gt;The problem is faced in two ways:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: verdana;"&gt;1) At least through conversation during the daily scrum, when the exploders is not able to commit a task because his problems;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: verdana;"&gt;2) Formally by watching the sprint backlog and seeing the team feeling is not so good.  Estimated hours should decrease while the time is passing; if a team is not feeling good, the decrease speed can be less than the expectation.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: verdana;"&gt;A daily meeting involves, three actors: the scrum master (who makes thinks happening), the team and the product owner. Every day one of them, can feel how the project is going formally - through the spring backlog - and informally through the daily scrum conversation.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: verdana;"&gt;This is the way Scrum and more generally agile is avoiding the Single Point of Failure where a Project Manager and a Team Leader cannot perceive a project failure.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: verdana;"&gt;A good Project Manager will discover that she is already doing something similar with her team. Scrum is all about common sense and shares the experience in managing complex situation. The Sprint Backlog is the driver for the sprint and to gain benefits must be updated regularly daily.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: verdana;"&gt;The daily estimation can produce a graph (in Scrum called Burndown chart) that visually represent the hours remaining. This can be good to check with only a sight the entire feeling of the team.&lt;/span&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://fmondora.mondora.com/feeds/7653358071539297627/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://fmondora.mondora.com/2008/10/you-as-team-is-it-so-vulnerable.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/18112536/posts/default/7653358071539297627?v=2'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/18112536/posts/default/7653358071539297627?v=2'/><link rel='alternate' type='text/html' href='http://fmondora.mondora.com/2008/10/you-as-team-is-it-so-vulnerable.html' title='You as a team: is it so vulnerable?'/><author><name>Frank Mondora</name><uri>http://www.blogger.com/profile/12312911649522678625</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='23' height='32' src='http://3.bp.blogspot.com/_iDnpW2--Di4/SMc-e59ijwI/AAAAAAAAAFs/pUy6QiNHZ-g/S220/toxXyz4PST3Eh6CQuZdcPbiyVfLHRzO4.jpg'/></author><thr:total>0</thr:total></entry><entry gd:etag='W/&quot;Ak8BSHk7fCp7ImA9WxRRFks.&quot;'><id>tag:blogger.com,1999:blog-18112536.post-3044795199943748260</id><published>2008-09-28T08:52:00.007+02:00</published><updated>2008-09-29T08:14:19.704+02:00</updated><app:edited xmlns:app='http://www.w3.org/2007/app'>2008-09-29T08:14:19.704+02:00</app:edited><category scheme='http://www.blogger.com/atom/ns#' term='agile'/><category scheme='http://www.blogger.com/atom/ns#' term='pair programming'/><category scheme='http://www.blogger.com/atom/ns#' term='rhythm'/><category scheme='http://www.blogger.com/atom/ns#' term='stress'/><title>A fistful of quality code: me and my colleague</title><content type='html'>&lt;div style="text-align: justify;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://farm4.static.flickr.com/3141/2592399778_20f5c47b38.jpg?v=0"&gt;&lt;img style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer; width: 320px;" src="http://farm4.static.flickr.com/3141/2592399778_20f5c47b38.jpg?v=0" alt="" border="0" /&gt;&lt;/a&gt;&lt;span style="font-size:130%;"&gt;&lt;span style="font-family:verdana;"&gt;The title can be more appropriate for a Spaghetti Western movie but is appropriate in each situation pair programmer are  surviving theirs daily's milestones enjoying work and maintaining a good environment outside them. "Pair programming" is identified by two words: Pair and Programming. Every developer knows exactly what is programming, but a pair requires some confidence with humans too. In this post I'm focusing on the Pair word of Pair Programmers, analyzing some successful factors like the Rhythm while working.&lt;/span&gt;&lt;/span&gt;  &lt;span style="font-family:verdana;"&gt;&lt;br /&gt;&lt;br /&gt;Like two cowboys a pair must work with a single objective every day, watching each other and helping each other; the external environment is like the desert with rolling Joshua trees and with condors flying, waiting, and watching for the next lunch hopefully with someone "freshly died".&lt;br /&gt;&lt;br /&gt;Imaging all this with a Sergio Leone's music that is creating a more characteristic environment, where the rhythm is perceived watching the movie and listening the drum.&lt;br /&gt;&lt;/span&gt; &lt;span style="font-family:verdana;"&gt; &lt;/span&gt; &lt;span style="font-family:verdana;"&gt;Two developers are in the same situation: they help together in finding the best solution for the daily milestone and they need to find out  a perfect rhythm.&lt;br /&gt;Like in a movie, some of them are the principal actor, and the other is helping in surviving the scene taking care about the stress and trying to keep her safe from external interrupts.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;The main actor in a pair is the one who's typing on the keyboard and typically writing the line of code.&lt;/span&gt; &lt;span style="font-family:verdana;"&gt;In terms of development perspective the secondary actor has to discover bugs, to seek for documentation, to write documentation, to diagram, etc.&lt;/span&gt; &lt;span style="font-family:verdana;"&gt;While taking care of human feeling, the counterpart's job is to help the principal coder in doing things including stress management.&lt;br /&gt;She has to know when it's time to  take over and switch the scene acting as principal actor. &lt;/span&gt; &lt;span style="font-family:verdana;"&gt;The frequency of a takeover implies the actors to watch each other, taking care about the health of the pair and trying to keep it good every time.&lt;br /&gt;&lt;br /&gt;This is reflected on the quality of the code produced: every scene is played by the less stressed developer. Thus, the other can relax a little bit helping the next small iteration.&lt;/span&gt; &lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;In this post I've examined three intra-personal factors that help a pair in staying consistent and durable over time:&lt;/span&gt;  &lt;span style="font-family:verdana;"&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;ul&gt;&lt;li&gt;&lt;span style="font-family:verdana;"&gt;&lt;span style="font-weight: bold;"&gt;Rhythm&lt;/span&gt;: developers play the scene and the rhythm too. Rhythm translates is directly related to speed team. Without rhythm stress increases in one developer and low commitment increases on the other side. This is against the milestone.&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;  &lt;span style="font-family:verdana;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;ul&gt;&lt;li&gt;&lt;span style="font-family:verdana;"&gt;&lt;span style="font-weight: bold;"&gt;Watch the watcher&lt;/span&gt;: developers should watch them as Person and not as developers; programming skill is confirmed line over line, and more humans' behavior (like stress) can easily hide. Watch the watcher if you want to be watched, is a protection guarantee for every developer that would like to work actively in a pair preserving her health prior to the colleague health.&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;span style="font-family:verdana;"&gt;&lt;span style="font-weight: bold;"&gt;Takeover when need&lt;/span&gt;: avoid to much stress exposure for your colleague? In software development stress is the first cause of low quality. Being the principal actor confuses the main developer and sometimes can drive to the wrong direction, then frustrating and then stress. When your counterpart is loosing her speed, grab the keyboard, and continue typing (of course at your speed). You'll notice that this rapidly debriefs your colleague making her reacquiring her rhythm and then asking the keyboard again.&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;  &lt;span style="font-family:verdana;"&gt;&lt;br /&gt;In a next post, I'll discuss about the relation between rhythm and speed in software development.&lt;/span&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://fmondora.mondora.com/feeds/3044795199943748260/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://fmondora.mondora.com/2008/09/fistful-of-quality-code-me-and-my.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/18112536/posts/default/3044795199943748260?v=2'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/18112536/posts/default/3044795199943748260?v=2'/><link rel='alternate' type='text/html' href='http://fmondora.mondora.com/2008/09/fistful-of-quality-code-me-and-my.html' title='A fistful of quality code: me and my colleague'/><author><name>Frank Mondora</name><uri>http://www.blogger.com/profile/12312911649522678625</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='23' height='32' src='http://3.bp.blogspot.com/_iDnpW2--Di4/SMc-e59ijwI/AAAAAAAAAFs/pUy6QiNHZ-g/S220/toxXyz4PST3Eh6CQuZdcPbiyVfLHRzO4.jpg'/></author><thr:total>0</thr:total></entry><entry gd:etag='W/&quot;CEMEQ3w9fyp7ImA9WxRSGU0.&quot;'><id>tag:blogger.com,1999:blog-18112536.post-3382576676607278426</id><published>2008-09-20T09:07:00.006+02:00</published><updated>2008-09-20T11:20:02.267+02:00</updated><app:edited xmlns:app='http://www.w3.org/2007/app'>2008-09-20T11:20:02.267+02:00</app:edited><category scheme='http://www.blogger.com/atom/ns#' term='w2e'/><category scheme='http://www.blogger.com/atom/ns#' term='web 2.0'/><category scheme='http://www.blogger.com/atom/ns#' term='seductive design'/><category scheme='http://www.blogger.com/atom/ns#' term='interaction design'/><title>2.0 series: what is the natural evolution of interaction design?</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.geekologie.com/2007/09/13/hug-shirt.jpg"&gt;&lt;img style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer; width: 320px;" src="http://www.geekologie.com/2007/09/13/hug-shirt.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style="font-size:130%;"&gt;Interaction design is a technique improving the web usability and user centered design to identify what is really need in a 2.0 online service and what can be forgot. In our tangible word this is already done by who's marketing goods and who's facing the customer directly. I'm thinking about Starbucks that sells coffee in a really good fashion or UPS that is facing customer with a professional front end. Starbuck's and UPS's employees are the direct face of the company to the customer, and they are a mix of professionalism and marketing. They know exactly what to wear, what to say, and how to make comfortable a situation with a customer.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;This is coming into the Web Space, and has been discussed a lot at the Web 2.0 Expo in New York last week. The web 2.0 is improving with interaction design that focuses on doing only what a company is thought for and on forgiving extra services discoverable on the market. Interaction Design from Joshua Porter is the first step in this scenario, and now Christopher Fahey from Behavior Design is talking about Seductive Design where 2.0 services seduce the end user.&lt;br /&gt;I think that is on top of the interactive design's principle from Porter, and it is introducing some marketing concepts in software development. In classical corporate marketing focus is to make some corporate services appealing and sexy. The same is happening with the ideas in seductive design where the focus is to create a seductive interaction with the user mixing images, videos, and behaviors. This with style and creating the desire and then pleasure that the service is creating. Services user experience is an emotion for users that are paying for a system. Everything is thought as potentially something new; the way to attract, to create suspense and to delivers a service in a professional way trusting who's at the counter side. Imagine a future's Apple product, is it in your imagination an unusable product, with bad colors and high price? That's because Apple has created a Product Service Factory that innovates in a real and sexy way.&lt;br /&gt;All this is coming with Seductive design where marketing is becoming a cross culture like software development is crossing to all the roles.&lt;br /&gt;Services will attract more users more they're sexy, and users stay with the provider for the quality of the service and for the trustiness that the company has created.</content><link rel='replies' type='application/atom+xml' href='http://fmondora.mondora.com/feeds/3382576676607278426/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://fmondora.mondora.com/2008/09/20-series-what-is-natural-evolution-of.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/18112536/posts/default/3382576676607278426?v=2'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/18112536/posts/default/3382576676607278426?v=2'/><link rel='alternate' type='text/html' href='http://fmondora.mondora.com/2008/09/20-series-what-is-natural-evolution-of.html' title='2.0 series: what is the natural evolution of interaction design?'/><author><name>Frank Mondora</name><uri>http://www.blogger.com/profile/12312911649522678625</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='23' height='32' src='http://3.bp.blogspot.com/_iDnpW2--Di4/SMc-e59ijwI/AAAAAAAAAFs/pUy6QiNHZ-g/S220/toxXyz4PST3Eh6CQuZdcPbiyVfLHRzO4.jpg'/></author><thr:total>0</thr:total></entry><entry gd:etag='W/&quot;CUMGSHg-eyp7ImA9WxRSE0U.&quot;'><id>tag:blogger.com,1999:blog-18112536.post-3550490749805389031</id><published>2008-09-10T05:30:00.012+02:00</published><updated>2008-09-14T11:10:29.653+02:00</updated><app:edited xmlns:app='http://www.w3.org/2007/app'>2008-09-14T11:10:29.653+02:00</app:edited><category scheme='http://www.blogger.com/atom/ns#' term='2.0'/><category scheme='http://www.blogger.com/atom/ns#' term='knowledge'/><category scheme='http://www.blogger.com/atom/ns#' term='design'/><category scheme='http://www.blogger.com/atom/ns#' term='experience'/><title>Do things with style? Is it still possible?</title><content type='html'>&lt;div style="text-align: justify;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://farm1.static.flickr.com/49/172459972_6b0d2e013d.jpg?v=0"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 320px;" src="http://farm1.static.flickr.com/49/172459972_6b0d2e013d.jpg?v=0" alt="" border="0" /&gt;&lt;/a&gt;&lt;span style="font-size:130%;"&gt;&lt;span style="font-family:verdana;"&gt;Design has become popular in several context, and it is applied in applied arts, engineering, architecture, and other creative endeavors. Design is something cross to all the things around, and a good design is simply perceived without too much understanding going straight through the final objective.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;span style="font-family:verdana;"&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Last years I did lot of things spacing from developing, architect, designing software to put customer ideas to market and I've learned lot of things about each activity I performed: for an excellent result every activity should have a good style and a good design. But, what a good style and a good result? To fast figure it out, if we think a picture of a car from a kid and from a designer like Giugiaro, they're, both, drawing a car with four wheels, and engine, some seats etc., but the main difference is that Giugiaro's car will seem more accurate and beautiful that the kid one. That's only because Giugiaro is a professional designer and the kid is just playing with a pencil and a sheet.&lt;/span&gt; &lt;span style="font-family:verdana;"&gt;Now, switching the metaphor back to everything we delivered in the past we can focus on the result and on the next improvement in term of style.&lt;/span&gt;  &lt;span style="font-family:verdana;"&gt;Here is a list of key point when I'm doing things trying to figure out "a style":&lt;/span&gt;   &lt;ul&gt;&lt;li&gt;&lt;span style="font-family:verdana;"&gt;&lt;span style="font-weight: bold;"&gt;Build only what is absolutely necessary&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:verdana;"&gt;There is lot to do and if we do more than our potential, maybe we'll reach the goals, but lacking on style and quality. So, one of the first statement, when I approach something is to find out what cannot be done to stay focused on small portion and put all the energies there. This trend is notable in 2.0 where services&lt;/span&gt;&lt;span style="font-family:verdana;"&gt; focuses only on small things giving an idea of lightness and the refinement process improves iteration over iteration.&lt;/span&gt; &lt;/li&gt;&lt;/ul&gt;   &lt;ul&gt;&lt;li&gt;&lt;span style="font-family:verdana;"&gt;&lt;span style="font-weight: bold;"&gt;Quickly turn beginning users into intermediate&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:verdana;"&gt;Think about a sexy girl! She creates interest without telling things; the viewer is not reading papers, documentation or watching podcast to be attracted by the girl. She is turning a beginner user to an intermediate fast creating the correct interest in doing things and maintaining the learning curve small. This is what in Agile Development, we call self documenting software: if it is sexy and appealing for developers can be learned fast without too much archetypes around: like a sexy girl.&lt;/span&gt; &lt;/li&gt;&lt;/ul&gt;  &lt;ul&gt;&lt;li&gt;&lt;span style="font-family:verdana;"&gt;&lt;span style="font-weight: bold;"&gt;Prevent errors whenever possible and handle the errors we cannot prevent gracefully&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:verdana;"&gt;Good style is something appreciable outside the designer and style should be perceived rapidly. You can get wrong while designing, this is why on every small increment the heart of design should pulse to his target to check if it is good for it or not. It is not a way to pre-sell, it's a way to anticipate problems gracefully. Shouting every small iteration makes a good style growing.&lt;/span&gt; &lt;/li&gt;&lt;/ul&gt;  &lt;ul style="font-weight: bold;"&gt;&lt;li&gt;&lt;span style="font-family:verdana;"&gt;Reduce and refine interactions and task flows until even the most complicated applications are clear and understandable&lt;br /&gt;&lt;/span&gt;&lt;span style="font-weight: normal;font-family:verdana;" &gt;&lt;br /&gt;Refinement focuses on making things implicitly clear, in the way just watching them for few times, they're understandable. This is what I do, when I seek what cannot be done. This is not a technique to postpone work; it is a method to check if something is still available and need to emerge from the already available resources. Good style is made of few things because the huge variety of things is gone implicitly inside the design itself and is easily discoverable and understandable. &lt;/span&gt; &lt;/li&gt;&lt;/ul&gt; &lt;ul&gt;&lt;li&gt;&lt;span style="font-family:verdana;"&gt;&lt;span style="font-weight: bold;"&gt;Adopt metaphors, better visual metaphors to explain the complexity and bring it to a human comprehensible level&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:verdana;"&gt;Metaphors are the key to find out what is implicit in a context, and only with metaphors you can focus on what is really not clear. When thinking an archetypes a metaphor is a good statement to better understands, picture or diagram the archetype itself. &lt;/span&gt; &lt;/li&gt;&lt;/ul&gt; &lt;ul&gt;&lt;li&gt;&lt;span style="font-family:verdana;"&gt;&lt;span style="font-weight: bold;"&gt;Ignore the demand of users and stick to a vision&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Improvements are done through brainstorming and brainstorming should be stick to a vision, a common vision. It's important to stay focused on the purpose, and not to switch over ideas every user express.&lt;/span&gt; &lt;/li&gt;&lt;/ul&gt;  &lt;span style="font-family:verdana;"&gt;These are only a bunch of rules; I'm learning from my experience. Surely some new rule can come in the next future.&lt;/span&gt;</content><link rel='replies' type='application/atom+xml' href='http://fmondora.mondora.com/feeds/3550490749805389031/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://fmondora.mondora.com/2008/09/do-things-with-style-is-it-still.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/18112536/posts/default/3550490749805389031?v=2'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/18112536/posts/default/3550490749805389031?v=2'/><link rel='alternate' type='text/html' href='http://fmondora.mondora.com/2008/09/do-things-with-style-is-it-still.html' title='Do things with style? Is it still possible?'/><author><name>Frank Mondora</name><uri>http://www.blogger.com/profile/12312911649522678625</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='23' height='32' src='http://3.bp.blogspot.com/_iDnpW2--Di4/SMc-e59ijwI/AAAAAAAAAFs/pUy6QiNHZ-g/S220/toxXyz4PST3Eh6CQuZdcPbiyVfLHRzO4.jpg'/></author><thr:total>0</thr:total></entry><entry gd:etag='W/&quot;Dk4AQXg-eCp7ImA9WxRTFU0.&quot;'><id>tag:blogger.com,1999:blog-18112536.post-2800173228688372226</id><published>2008-09-03T05:58:00.017+02:00</published><updated>2008-09-04T07:09:00.650+02:00</updated><app:edited xmlns:app='http://www.w3.org/2007/app'>2008-09-04T07:09:00.650+02:00</app:edited><category scheme='http://www.blogger.com/atom/ns#' term='antipattern'/><category scheme='http://www.blogger.com/atom/ns#' term='web 2.0'/><category scheme='http://www.blogger.com/atom/ns#' term='social network'/><category scheme='http://www.blogger.com/atom/ns#' term='startup'/><category scheme='http://www.blogger.com/atom/ns#' term='enterprise 2.0'/><title>Some 2.0 anti patterns in Development As A Service</title><content type='html'>&lt;div style="text-align: left;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_iDnpW2--Di4/SL9kOSWBXRI/AAAAAAAAAFk/7awBU6k1Zto/s1600-h/emptybox.png"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 278px; height: 273px;" src="http://4.bp.blogspot.com/_iDnpW2--Di4/SL9kOSWBXRI/AAAAAAAAAFk/7awBU6k1Zto/s320/emptybox.png" alt="" id="BLOGGER_PHOTO_ID_5242018687887695122" border="0" /&gt;&lt;/a&gt;&lt;span style="font-size:130%;"&gt;&lt;span style="font-family:verdana;"&gt;The main intent of the Software Development As A Service, is to outsource development to stay better focused on what is really producing value in the starting 2.0 pioneer's company.&lt;br /&gt;A fresh and new idea is the real trouble of a Startup and most of the energy should be spent on that direction, while other problems are addressed trusting the services bought depending on the Service Level Agreement defined.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;span style="font-size:130%;"&gt;&lt;span style="font-family:verdana;"&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt; &lt;span style="font-family:verdana;"&gt;After a good experience in the 2.0 era in developing several online communities from the Service Provider point of view, I think it's time to share what I'm learning and the mistakes I'm doing in facing this kind of opportunities.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;I'm calling those experience anti patterns because they are a good representation of what can be optimal in theory and is really ineffective in practice if the 1.0 culture is mixed with the 2.0 culture.&lt;br /&gt;&lt;/span&gt;&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-weight: bold;font-family:verdana;" &gt;Embrace Software Development Company processes&lt;/span&gt; &lt;span style="font-family:verdana;"&gt;&lt;br /&gt;&lt;br /&gt;Having the idea to implement all the software by delegating to a Development Provider, comprises the adoption of all IT culture of the engaged service provider.&lt;br /&gt;&lt;br /&gt;This can be obvious a really proficient until the Startup Company is trying to figure its own development process asking the service provider to embrace and focus on its way of doing things.&lt;/span&gt; &lt;span style="font-family:verdana;"&gt;&lt;br /&gt;&lt;br /&gt;This  approach drives to two main drawbacks:&lt;/span&gt;  &lt;span style="font-family:verdana;"&gt; &lt;br /&gt;&lt;br /&gt;1. Startup company is now focusing ideas to development process that is not really creating revenue for its business;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;   2. Software development company is forced to change the way they do things, learning a new option in software development and focusing on the customer's process intention instead of customer business needs.&lt;/span&gt;  &lt;span style="font-family:verdana;"&gt;&lt;br /&gt;&lt;br /&gt;This moves the Startup's focus from the Business idea to development spending energy (and money) in thinking on gates instead of thinking on the time to market for even easier idea and Software development to produce process's artifacts (reports, well-formatted documents, etc.) instead of good software.&lt;br /&gt;&lt;br /&gt;Focus cannot be easily restored because the current focus is to be compliant with the process.&lt;/span&gt; &lt;span style="font-family:verdana;"&gt;When choosing a Software Provider Company, a 2.0 startup should put in its decision table.&lt;br /&gt;The way the provider works is a good point of evaluation and must be agreed with the Startup Company to avoid the process as the next collaboration's problem.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;font-family:verdana;" &gt;&lt;br /&gt;Identify a Service Level Agreement on each Service&lt;/span&gt; &lt;span style="font-family:verdana;"&gt;&lt;br /&gt;&lt;br /&gt;Startup and Service providers should agree on both parties on how they're allocating or delivering services request.&lt;br /&gt;A Startup Company should create milestones that bases the professional relation. Milestones are business objectives that potentially influences the ROI of the Startup Company, and Servicing company should base their SLA depending on the milestones objective.&lt;/span&gt;  &lt;span style="font-family:verdana;"&gt;&lt;br /&gt;&lt;br /&gt;A SLA identifies an interaction model where parties agrees to implement something that is really valuable; this creates a conversational and honest model where things go in the same direction and both.&lt;br /&gt;The parties are focused on the goal.&lt;/span&gt;  &lt;span style="font-family:verdana;"&gt;Without a SLA, a Startup Company is shifting to an investment protection system paradigm where energy are spent to avoid money loss.&lt;/span&gt; &lt;span style="font-family:verdana;"&gt;Without a SLA, a Service Provider focuses on service's accountability instead of service providing.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;The more the Service Level is the more is the price for it. This simple rule can be extended in: the more on the service level of what is really indispensable the more a company can pay for it.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Easiness is not simpleness&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:verdana;"&gt;&lt;br /&gt;A 2.0 application is a big mash up of Services around the network; in the 1.0 culture there is the idea of System Integrator that is responsible solely to do a kind of component integration.&lt;br /&gt;Meanwhile in the 2.0 culture the idea of system integrator is hidden by the idea that services are available on standard protocol and then easy to integrate because it's just a javascript call or a bunch of ruby on rails lines.&lt;br /&gt;&lt;br /&gt;The complexity of integration in 2.0 is the same of the 1.0, every integrated platform must be reliable, must work and have custom development associated. The big difference from 2.0 and 1.0 is that 2.0 integration is through services starting from the presentation tier, while in the 1.0 everything is hidden in the integration tier.&lt;br /&gt;&lt;br /&gt;A 2.0 approach is to make the user interaction easier by leveraging on all the available technology: that's really complex and require great skill and good professionalism.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Re-DO to DO approach: talk and listen together&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;2.0 culture is pioneering, and fresh ideas are often not clear to be written as a strict requisite. It's easy to misunderstand what the customer is explaining and what the Service Provider is understanding.&lt;br /&gt;Small iterations and a continuous conversational approach must be established to achieve the same goal. Customer and Service Provider have to thing that the counterparts are producing value day by day discovering things that are still unknown.&lt;br /&gt;&lt;br /&gt;A 1.0 approach drives the customer to outline all the requirements predicting what will be, and in the most cases failing in some aspects. Failing means: redo the same thing. Consequences of the "redoing mindset" will be unable to launch the Startup's Services at each milestone. Redoing several times, breaks trustiness and team happiness.&lt;br /&gt;&lt;br /&gt;A 2.0 approach is based on continuous improvement on things and from the failing paradigm moves to the Learning paradigm.  Continuous improvement switch the mindset from stable services to &lt;a href="http://fmondora.mondora.com/2008/06/perpetual-beta-soa-requirement.html"&gt;perpetual beta services&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Conclusions&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;These are some of the things I've found from a first retrospective with all the involved players in my experience from the Provider Company. I'm sure this is only a starting point for the 2.0 anti pattern catalog and more will come from the experience.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;</content><link rel='replies' type='application/atom+xml' href='http://fmondora.mondora.com/feeds/2800173228688372226/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://fmondora.mondora.com/2008/09/some-20-anti-patterns-development-as.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/18112536/posts/default/2800173228688372226?v=2'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/18112536/posts/default/2800173228688372226?v=2'/><link rel='alternate' type='text/html' href='http://fmondora.mondora.com/2008/09/some-20-anti-patterns-development-as.html' title='Some 2.0 anti patterns in Development As A Service'/><author><name>Frank Mondora</name><uri>http://www.blogger.com/profile/12312911649522678625</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='23' height='32' src='http://3.bp.blogspot.com/_iDnpW2--Di4/SMc-e59ijwI/AAAAAAAAAFs/pUy6QiNHZ-g/S220/toxXyz4PST3Eh6CQuZdcPbiyVfLHRzO4.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_iDnpW2--Di4/SL9kOSWBXRI/AAAAAAAAAFk/7awBU6k1Zto/s72-c/emptybox.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry gd:etag='W/&quot;D0cBSX8yeyp7ImA9WxdaGUU.&quot;'><id>tag:blogger.com,1999:blog-18112536.post-7847486946570389085</id><published>2008-08-25T07:59:00.004+02:00</published><updated>2008-08-29T06:44:18.193+02:00</updated><app:edited xmlns:app='http://www.w3.org/2007/app'>2008-08-29T06:44:18.193+02:00</app:edited><category scheme='http://www.blogger.com/atom/ns#' term='wordpress'/><category scheme='http://www.blogger.com/atom/ns#' term='blog'/><category scheme='http://www.blogger.com/atom/ns#' term='tagging'/><category scheme='http://www.blogger.com/atom/ns#' term='corporate website'/><title>A blog for a Startup 2.0 website?</title><content type='html'>&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt;&lt;div align="justify"&gt;Having a website today is producing some value and not having it, is creating lot of penalties. Traditional enterprise web modeling has lost the concept of static websites for a more dynamic approach where the life of the company is perceived through the web too. Different navigation from the old fashioned menus is needed, user should move on the web site and interact with the website directly by categorizing and commenting all the contents on the website. Blogs are a good way to implement all those functionality in a modern way. Visitors should be able to browse content thought their interests and not through what company want to tell. That's why content's tagging is more important than categories and menu.&lt;br /&gt;&lt;/div&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_iDnpW2--Di4/SLb9D99_U-I/AAAAAAAAAFU/1x_5Lo-7Cy0/s1600-h/sensible-cloud-content.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://3.bp.blogspot.com/_iDnpW2--Di4/SLb9D99_U-I/AAAAAAAAAFU/1x_5Lo-7Cy0/s320/sensible-cloud-content.png" alt="" id="BLOGGER_PHOTO_ID_5239653461108151266" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;A blog entry can be seen as a content, with several information linked; hyperlinks are a good example on the power of linking things and menus are good samples on how contents can be organized.&lt;br /&gt;&lt;div align="justify"&gt;But, this in direction and through the monopoly of the corporate. Thinking 2.0, contents are coming out from who work and even better can come out from the visitors too. External services like delicious or technoraty enable people to link pages and shares them across the net by tagging them. Thinking of contents as blog entries from the editor community,  and tagging as an empirical way of organizing content lets a 2.0 start up company to find what is really important and how visitor are identifying it through the tagsonomy related. A user can browse the site, thought as a set of entries, in different ways starting from the old one through category moving to an editor tag browsing and facing it at the end to the visitor's tag apposed.&lt;br /&gt;&lt;br /&gt;This is only because web site's fragments can be referenced with some tag. This can glues either an old fashioned web page, and a dynamic new page where   fragment are linked by tags more significantly for the current visitor.&lt;br /&gt;&lt;br /&gt;Blog engines like wordpress are fully customizable and have dozen of plugin to interact with entries, tags and outside services like delicious or technoraty.&lt;br /&gt;&lt;br /&gt;The next move on the corporate website's chessboard will be to migrate the standard website to a custom blog having some of the blogging featured customized and having the community to work on it editing and tagging content's fragments.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://fmondora.mondora.com/feeds/7847486946570389085/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://fmondora.mondora.com/2008/08/blog-for-startup-20-website.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/18112536/posts/default/7847486946570389085?v=2'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/18112536/posts/default/7847486946570389085?v=2'/><link rel='alternate' type='text/html' href='http://fmondora.mondora.com/2008/08/blog-for-startup-20-website.html' title='A blog for a Startup 2.0 website?'/><author><name>Frank Mondora</name><uri>http://www.blogger.com/profile/12312911649522678625</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='23' height='32' src='http://3.bp.blogspot.com/_iDnpW2--Di4/SMc-e59ijwI/AAAAAAAAAFs/pUy6QiNHZ-g/S220/toxXyz4PST3Eh6CQuZdcPbiyVfLHRzO4.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_iDnpW2--Di4/SLb9D99_U-I/AAAAAAAAAFU/1x_5Lo-7Cy0/s72-c/sensible-cloud-content.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry gd:etag='W/&quot;A0UBSXYyfyp7ImA9WxdbF08.&quot;'><id>tag:blogger.com,1999:blog-18112536.post-1710025335641088970</id><published>2008-08-14T17:01:00.006+02:00</published><updated>2008-08-14T17:54:18.897+02:00</updated><app:edited xmlns:app='http://www.w3.org/2007/app'>2008-08-14T17:54:18.897+02:00</app:edited><category scheme='http://www.blogger.com/atom/ns#' term='service'/><category scheme='http://www.blogger.com/atom/ns#' term='comparison'/><category scheme='http://www.blogger.com/atom/ns#' term='SOA'/><category scheme='http://www.blogger.com/atom/ns#' term='architecture'/><category scheme='http://www.blogger.com/atom/ns#' term='component'/><title>Services vs. Components: Is it a death match?</title><content type='html'>&lt;div style="text-align: justify;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.frontlineautorepair.com/image/18258748.jpeg"&gt;&lt;img style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer; width: 152px; height: 152px;" src="http://www.frontlineautorepair.com/image/18258748.jpeg" alt="" border="0" /&gt;&lt;/a&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-size:130%;"&gt;&lt;span style="font-family:verdana;"&gt;There's lot of misunderstanding between Components and Services: components are something that aggregates a product for a business behavior while Service is what is doing real business and it's remotely usable from who is really interested in the value added the service is producing.&lt;/span&gt;&lt;/span&gt;  &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-family:verdana;"&gt;Nowadays the term service is in every modern acronym (SOA, SAAS, SLA, etc.), and there is non clarification on what is a service and how it differentiate from old fashioned terms like Components.&lt;br /&gt;&lt;br /&gt;The term Components come from the manufacture's industry where all those modules are used to build things. It doesn't matter if a car engine is manufactured by Ford or by Subaru, it is produced reusing some of the same components and it is not implemented from the scratch.&lt;/span&gt;  &lt;span style="font-family:verdana;"&gt;&lt;br /&gt;During the last years, the Information Technology approach has been to watch other industries and to try to implement all that has succeeded into software. Like in the manufacture, software components are a unit of software that provides business or technical functionality.&lt;br /&gt;Typically they're self-contained and independently deployable.&lt;/span&gt; &lt;span style="font-family:verdana;"&gt;Thinking about a software component we're used to think to:&lt;/span&gt; &lt;span style="font-family:verdana;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;ul&gt;&lt;li&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-family:verdana;"&gt;a specification (analysis and design) that defines the scope of the component;&lt;/span&gt; &lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-family:verdana;"&gt;an implementation with any invokable interfaces;&lt;/span&gt; &lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-family:verdana;"&gt;a module to be deployed (an EJB, a WAR, an EAR, a DLL, etc.).&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-family:verdana;"&gt;A component offers its implementation through an interface, that's the unique way a component should be used.&lt;/span&gt;  &lt;span style="font-family:verdana;"&gt;&lt;br /&gt;&lt;br /&gt;Differently services are focused on satisfying business needs, on a consumer/producer paradigm where the service is producing something valuable for the business. A service can be thought as a set of components and differently from components. A service can be something else than a component.&lt;/span&gt; &lt;span style="font-family:verdana;"&gt;Instead of having an interface service allow the concept of API on different protocol and they can act synchronously or as event's agents.&lt;/span&gt;  &lt;span style="font-family:verdana;"&gt;&lt;br /&gt;&lt;br /&gt;Another big difference between Services and Components is the way they're reused.&lt;/span&gt;  &lt;span style="font-family:verdana;"&gt;Going back to manufacture Components is stored on the shelf and is taken and deployed when necessarily.&lt;br /&gt;&lt;br /&gt;Service, in an opposite direction, lives somewhere and is addressed to be used.&lt;br /&gt;It's like going to the post office to send something instead of creating a post office in house.&lt;br /&gt;&lt;br /&gt;An approach with components requires a new deployment, new hardware dimensioning and integration while a service approach is only focusing on integration.&lt;/span&gt;  &lt;span style="font-family:verdana;"&gt;&lt;br /&gt;&lt;br /&gt;What is making the difference?&lt;/span&gt;  &lt;span style="font-family:verdana;"&gt;&lt;br /&gt;&lt;br /&gt;The way the architectures are thought is making the difference, thinking SOA is benefiting the reuse of value added services and is accelerating the way software is implemented. Every architect is implementing a system, should think a way to make the application addressable and callable by other Service around the network promoting Service Reusability. In terms of business, Service reusability creates a new approach of doing business where specialized companies are providing something that produces real value as a service and is offering  a large scale the service at a low price. Google, or salesforce.com or Amazon is again an example of the power of thinking SOA.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;span style="font-size:100%;"&gt;  &lt;/span&gt;</content><link rel='replies' type='application/atom+xml' href='http://fmondora.mondora.com/feeds/1710025335641088970/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://fmondora.mondora.com/2008/08/services-vs-components-is-it-death.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/18112536/posts/default/1710025335641088970?v=2'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/18112536/posts/default/1710025335641088970?v=2'/><link rel='alternate' type='text/html' href='http://fmondora.mondora.com/2008/08/services-vs-components-is-it-death.html' title='Services vs. Components: Is it a death match?'/><author><name>Frank Mondora</name><uri>http://www.blogger.com/profile/12312911649522678625</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='23' height='32' src='http://3.bp.blogspot.com/_iDnpW2--Di4/SMc-e59ijwI/AAAAAAAAAFs/pUy6QiNHZ-g/S220/toxXyz4PST3Eh6CQuZdcPbiyVfLHRzO4.jpg'/></author><thr:total>0</thr:total></entry><entry gd:etag='W/&quot;AkcAQ386eSp7ImA9WxRbGE4.&quot;'><id>tag:blogger.com,1999:blog-18112536.post-3804815296101513652</id><published>2008-08-04T07:42:00.008+02:00</published><updated>2008-12-09T16:54:02.111+01:00</updated><app:edited xmlns:app='http://www.w3.org/2007/app'>2008-12-09T16:54:02.111+01:00</app:edited><category scheme='http://www.blogger.com/atom/ns#' term='web 2.0'/><category scheme='http://www.blogger.com/atom/ns#' term='api'/><category scheme='http://www.blogger.com/atom/ns#' term='architecture'/><category scheme='http://www.blogger.com/atom/ns#' term='mashup'/><title>Is architecting a 2.0 extendable appliction the same old story?</title><content type='html'>&lt;div style="text-align: justify;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://sethgoldstein.files.wordpress.com/2006/11/root_archive_march_api.gif"&gt;&lt;img style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer; width: 161px; height: 113px;" src="http://sethgoldstein.files.wordpress.com/2006/11/root_archive_march_api.gif" alt="" border="0" /&gt;&lt;/a&gt;&lt;span style="font-size:130%;"&gt;&lt;span style="font-family:verdana;"&gt;Architectures are following the way to be extensible, flexible, and easy to be maintained. A 2.0 scenario makes things growing on demand, starting with a small set of features and growing to &lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:130%;"&gt;&lt;span style="font-family:verdana;"&gt;a huge application with lots of other integrated application (mashup) and complex business logic.&lt;/span&gt; &lt;span style="font-family:verdana;"&gt;Everything shall evolve and redesigned time over time, feature over feature.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-family:verdana;"&gt;&lt;br /&gt;The best approach in delivering a modern a&lt;/span&gt;&lt;span style="font-family:verdana;"&gt;pplication is to consider the application itself as a big mashup of the application. This implie&lt;/span&gt;&lt;span style="font-family:verdana;"&gt;s, again, a multi-tier approach where there is something in the middle tier that executes something valuable and there's something in the presentation tier that orchestrates business behavior.&lt;/span&gt; &lt;span style="font-family:verdana;"&gt;&lt;br /&gt;Thinking in the way we thought with Enterprise architecture based on EJB and other complex solution, the separation was into the presentation tier, the business tier, and the integration tier.&lt;/span&gt;  &lt;span style="font-family:verdana;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_iDnpW2--Di4/SJcqrezJ94I/AAAAAAAAAEk/NB3CsM6YQHo/s1600-h/enta.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://4.bp.blogspot.com/_iDnpW2--Di4/SJcqrezJ94I/AAAAAAAAAEk/NB3CsM6YQHo/s320/enta.png" alt="" id="BLOGGER_PHOTO_ID_5230696418704488322" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;All the components should be divided into one of the above tears, depending on their roles, and responsibility inside the architecture. Why the separation of roles? Separation of roles can tune the architecture in several poin&lt;/span&gt;&lt;span style="font-family:verdana;"&gt;t with lots of combination.&lt;/span&gt;  &lt;span style="font-family:verdana;"&gt;By implementing modern architecture on social communities, I've found important in differentiating the business tier from the presentation tier: as I do in enterprise architecture with high available technologies. Things and names changes, but the result from the architecture should be the same: having and extendable and flexible system.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_iDnpW2--Di4/SJcrAwqU9xI/AAAAAAAAAEs/s5prToQlvhU/s1600-h/entb.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://1.bp.blogspot.com/_iDnpW2--Di4/SJcrAwqU9xI/AAAAAAAAAEs/s5prToQlvhU/s320/entb.png" alt="" id="BLOGGER_PHOTO_ID_5230696784276551442" border="0" /&gt;&lt;/a&gt;&lt;span style="font-family:verdana;"&gt;The key concept in modern thinking is to separate s&lt;/span&gt;&lt;span style="font-family:verdana;"&gt;ervices their API from their "social interaction" promoting a Widget as a visual coordinator of something is happening backward.&lt;/span&gt;  &lt;span style="font-family:verdana;"&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;This brings out a reusable API, a first use of the API that is the Social Application and the versatility of the architecture. Having modern API exposed in several formats including JSON restful services, this enabled the idea on having the integration tier as the "presentation tier" or on the old fashioned presentation tier. The modern presentation tier is called Mash up and is really adaptable depending on the needs. If it is required that a machine should do something on the integrated platform (viz. flickr), it can be done at server-side as a restful service. If it is required to operate with some integrated platform visually, it can be called directly from the presentation tier. Yes, this is the first example of how flexible can be an architecture: I can choose to do integration on throttling on the service platform or to choose to go strike through the integrated platform directly from the client interface.&lt;/span&gt;  &lt;span style="font-family:verdana;"&gt;This is gained only because, the integrated platform has been tough having the concept of API and that the Social Application is itself a big mash up of those interfaces. Making an API public or private is a tremendous business decision, and should be accurately agreed after heavy consideration. Having a public API makes other the reuse idea instead of the feature copy idea; this requires the company, should also have a clear policy on how integrators can use its API for their mash up.&lt;/span&gt;  &lt;span style="font-family:verdana;"&gt;This will be a next big opportunity that 2.0 will create.&lt;/span&gt;  &lt;span style="font-family:verdana;"&gt;Stay tuned.&lt;/span&gt;  &lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://fmondora.mondora.com/feeds/3804815296101513652/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://fmondora.mondora.com/2008/08/is-architecting-20-extendable.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/18112536/posts/default/3804815296101513652?v=2'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/18112536/posts/default/3804815296101513652?v=2'/><link rel='alternate' type='text/html' href='http://fmondora.mondora.com/2008/08/is-architecting-20-extendable.html' title='Is architecting a 2.0 extendable appliction the same old story?'/><author><name>Frank Mondora</name><uri>http://www.blogger.com/profile/12312911649522678625</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='23' height='32' src='http://3.bp.blogspot.com/_iDnpW2--Di4/SMc-e59ijwI/AAAAAAAAAFs/pUy6QiNHZ-g/S220/toxXyz4PST3Eh6CQuZdcPbiyVfLHRzO4.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_iDnpW2--Di4/SJcqrezJ94I/AAAAAAAAAEk/NB3CsM6YQHo/s72-c/enta.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry gd:etag='W/&quot;AkcAQ3wyeSp7ImA9WxRbGE4.&quot;'><id>tag:blogger.com,1999:blog-18112536.post-336122110266840796</id><published>2008-07-29T05:20:00.006+02:00</published><updated>2008-12-09T16:54:02.291+01:00</updated><app:edited xmlns:app='http://www.w3.org/2007/app'>2008-12-09T16:54:02.291+01:00</app:edited><title>Can People Oriented Companies replace traditional Companies?</title><content type='html'>&lt;div style="text-align: justify;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.iowasource.com/images/SvaroopaYoga.jpg"&gt;&lt;img style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer; width: 195px; height: 139px;" src="http://www.iowasource.com/images/SvaroopaYoga.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;span style="font-size:130%;"&gt;&lt;span style="font-family:verdana;"&gt;Agile is a shifting paradigm moving from a formal value to more informal and human values emerging the power of a compa&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:130%;"&gt;&lt;span style="font-family:verdana;"&gt;ny as a group of people that collaborate and delivers following some common sense rules.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;I'm just back from another Scrum training session happy to understanding a new lesson learned. I'm reporting here what the training's participants deducted from Scrum and Agile generally.&lt;/span&gt; &lt;span style="font-family:verdana;"&gt;&lt;br /&gt;&lt;br /&gt;One of the main concept in Scrum is the Team: Team is the one that is responsible to make plans, to organize the sprint and to deliver something potentially shippable at the end of the Sprint. A team  directly work with the Customer - in scrum called Product Owner - that knows what is has to be implemented first because knowing its ROI. A customer can prioritize features, remove impediments, and make the team's life smooth. The &lt;/span&gt;&lt;span style="font-family:verdana;"&gt;combination of a self-organizing team and the customer is the main benefit; no more people should be stacked between them. &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;Nor project manager too. The unique facility is a facilitator - the scrum master - that is one who is responsible to making things happen.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;A company is a group of people instead of some processes and archetypes that formally keep things consistently.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center; font-weight: bold;"&gt;&lt;span style="font-family:verdana;"&gt;How do values are shifting from a formal and bureaucratic Corporate to an efficient Company?&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_iDnpW2--Di4/SJFUfv8JAXI/AAAAAAAAAEc/UkrI7VvtfEQ/s1600-h/comparison.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://3.bp.blogspot.com/_iDnpW2--Di4/SJFUfv8JAXI/AAAAAAAAAEc/UkrI7VvtfEQ/s320/comparison.png" alt="" id="BLOGGER_PHOTO_ID_5229053546775249266" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;In a standard company, typically people feel frustrated, living every day as a personal milestone with the focus of careers and then money.&lt;/span&gt; &lt;span style="font-family:verdana;"&gt;Careers involve a mindset strictly focused on some problems, increasing specialization and competition between colleagues. The competition brings up jealousy between person and jealousy outline irresponsibility: "if she's better than I and I'm jealous, I'm not responsible of it!" Inside a vortex like this where people work independently, customers suffer that everything should be planned with a contingency in mind, thus generating extra cost. If the contingency is not enough to survive  a crash, a backup plan is provided as a wonderful tool to save the bread crumbs of the project.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;In a different company, people work together sharing the "you as a team" statement. This creates a group responsibility where all the active members share the same objective and work in the same direction. People should be honest and had transparent conversation each other. For the corporate this let everyone knowing the other avoiding specialization and promoting  a distributed knowledge where there are people who know better a topic (the old specialized) and other less. This maintains a sense of being the corporate with a clear mission. The opportunity to discuss freely without risk, move a relation with the customer from a contingency oriented approach to an early knowledge of what is going on: day by day. Backup plans are not need because knowing that the future is full of interesting problems, the first things to be implemented are the most important in term of return of investment.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;I'd like to thank Giovanni (1-2), Gaetano and Serena for the comparison between the two models and formalization of this during my training in Florence. The things I'm mentioning is what happening in some company I'm introducing Scrum and Agile generally.&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://fmondora.mondora.com/feeds/336122110266840796/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://fmondora.mondora.com/2008/07/cen-people-oriented-companies-replace.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/18112536/posts/default/336122110266840796?v=2'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/18112536/posts/default/336122110266840796?v=2'/><link rel='alternate' type='text/html' href='http://fmondora.mondora.com/2008/07/cen-people-oriented-companies-replace.html' title='Can People Oriented Companies replace traditional Companies?'/><author><name>Frank Mondora</name><uri>http://www.blogger.com/profile/12312911649522678625</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='23' height='32' src='http://3.bp.blogspot.com/_iDnpW2--Di4/SMc-e59ijwI/AAAAAAAAAFs/pUy6QiNHZ-g/S220/toxXyz4PST3Eh6CQuZdcPbiyVfLHRzO4.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_iDnpW2--Di4/SJFUfv8JAXI/AAAAAAAAAEc/UkrI7VvtfEQ/s72-c/comparison.png' height='72' width='72'/><thr:total>1</thr:total></entry><entry gd:etag='W/&quot;D0cCQ34yfyp7ImA9WxdWGEg.&quot;'><id>tag:blogger.com,1999:blog-18112536.post-5597303972608854301</id><published>2008-07-12T09:55:00.013+02:00</published><updated>2008-07-12T11:31:02.097+02:00</updated><app:edited xmlns:app='http://www.w3.org/2007/app'>2008-07-12T11:31:02.097+02:00</app:edited><category scheme='http://www.blogger.com/atom/ns#' term='service'/><category scheme='http://www.blogger.com/atom/ns#' term='emotion'/><category scheme='http://www.blogger.com/atom/ns#' term='hackable architecture'/><category scheme='http://www.blogger.com/atom/ns#' term='architecture'/><category scheme='http://www.blogger.com/atom/ns#' term='sense'/><category scheme='http://www.blogger.com/atom/ns#' term='component'/><title>Hackable Architectures makes Sense: Is architecure for People Interaction possible?</title><content type='html'>&lt;div style="text-align: justify;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.1-900-870-6235.com/PeaceMap/ElephantDefine.jpg"&gt;&lt;img style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer; width: 320px;" src="http://www.1-900-870-6235.com/PeaceMap/ElephantDefine.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;span style="font-size:130%;"&gt;&lt;span style="font-family:verdana;"&gt;Usability has evolved in practices like interaction design, social design an others. An architecture should evolve with the system letting mash up to be easily created, managed and removed. This is a way when thinking architecture an architect should take care that one principle of the architecture should be hackable. By hackable I mean do things in a "informal" way, where mash up or enterprise's mash up are activating architecture blocks.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;Internet has become a great place where people exchange data and interact to evolving work in an efficient way. Interaction design, usability, and other disciplines are discovering a pattern to make applications people centered. This kind of approach is even more driving software conception having people in mind instead of technology and technology is the facilitator tool to address this kind of approach.&lt;br /&gt;&lt;br /&gt;Software architecture and Interaction design fits together and melt as needs. Re-usability is required not only thinking on architectures even thinking on people that are using the system too.&lt;br /&gt;&lt;br /&gt;Architecture and component interaction is typically forced by Use Cases and is not so flexible to adapt different evolving usages of the system. Architectures should be hackable to adapt user needs.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;Hackability of a components includes several point of view:&lt;/span&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;span style="font-family:verdana;"&gt;business view: what business feature can be reused by a component;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-family:verdana;"&gt;calling view: which protocol is exposed by this component, and how can be called by mash up&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-family:verdana;"&gt;context living: how do a component fits in a context while collaborating and in other context when reused, who declares it and how?&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;  &lt;br /&gt;&lt;span style="font-family:verdana;"&gt;&lt;a href="http://www.mondora.com/sense"&gt;Sense&lt;/a&gt; is promoting the concept that a Service is everything inside a physical and logical architecture: components, frameworks, machines, application server etc. are services.&lt;/span&gt;  &lt;span style="font-family:verdana;"&gt;&lt;br /&gt;&lt;br /&gt;Sense's services can be exposed over several protocols including http (xml-rpc), http (json), iiop, jms. From the protocol point of view, Sense lets services to be in some mash up; it doesn't matter whether the mash up is at client side or server side.&lt;/span&gt; &lt;span style="font-family:verdana;"&gt;Service's context before and after invocation is updated in Sense by the application of crosscutting concern that is intercepting a call to a service in a particular context and are enriching the incoming and out coming call with context specific information. This is gotten through the definition and the application of Emotions that are though as aspect that crosscut in an architecture.&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://fmondora.mondora.com/feeds/5597303972608854301/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://fmondora.mondora.com/2008/07/hackable-architectures-makes-sense-is.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/18112536/posts/default/5597303972608854301?v=2'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/18112536/posts/default/5597303972608854301?v=2'/><link rel='alternate' type='text/html' href='http://fmondora.mondora.com/2008/07/hackable-architectures-makes-sense-is.html' title='Hackable Architectures makes Sense: Is architecure for People Interaction possible?'/><author><name>Frank Mondora</name><uri>http://www.blogger.com/profile/12312911649522678625</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='23' height='32' src='http://3.bp.blogspot.com/_iDnpW2--Di4/SMc-e59ijwI/AAAAAAAAAFs/pUy6QiNHZ-g/S220/toxXyz4PST3Eh6CQuZdcPbiyVfLHRzO4.jpg'/></author><thr:total>0</thr:total></entry><entry gd:etag='W/&quot;AkcAQ3g-eip7ImA9WxRbGE4.&quot;'><id>tag:blogger.com,1999:blog-18112536.post-1649670106879592886</id><published>2008-07-02T09:22:00.011+02:00</published><updated>2008-12-09T16:54:02.652+01:00</updated><app:edited xmlns:app='http://www.w3.org/2007/app'>2008-12-09T16:54:02.652+01:00</app:edited><category scheme='http://www.blogger.com/atom/ns#' term='perpetual'/><category scheme='http://www.blogger.com/atom/ns#' term='agile'/><category scheme='http://www.blogger.com/atom/ns#' term='scrum'/><category scheme='http://www.blogger.com/atom/ns#' term='perpetual beta'/><title>Can a Perpetual Beta approach be managed with Scrum?</title><content type='html'>&lt;div style="text-align: justify;"&gt;&lt;span style="font-family:verdana;"&gt;&lt;span style="font-size:130%;"&gt;Scrum is a self-managing techniques that help software to be packaged iteration over iteration over a set of business critical feature. The iteration approach suites well to implement and release bunch of feature ready to be launched to the market. In &lt;a href="http://www.mondora.com/"&gt;mondora&lt;/a&gt; we focus on a Perpetual ß tool that helps us in finding and maintains the right path for the goal.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;span style="font-family:verdana;"&gt;&lt;span style="font-size:130%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_iDnpW2--Di4/SGstxgTra5I/AAAAAAAAAEU/hhZfXufuCXk/s1600-h/perpetual-beta.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://3.bp.blogspot.com/_iDnpW2--Di4/SGstxgTra5I/AAAAAAAAAEU/hhZfXufuCXk/s320/perpetual-beta.jpg" alt="" id="BLOGGER_PHOTO_ID_5218314921748163474" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-family:verdana;"&gt;In &lt;a href="http://www.mondora.com/"&gt;mondora&lt;/a&gt; we're working with Scrum for several years, and we find it useful to log and organize on a sheet: the process, the actors and the things produced iteration over iteration. This helps me and all parties during the development how us in mondora are approaching industrial software development: in a really open way.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;The archetypes we produce are refined iteration over iteration; for example, while discussing the Sprint at the Sprint Planning meeting we try to figure out how the next feature implementation will fit on an architecture and we will produce some architectural document.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;A set of feature is committed for a sprint, and the industrial approach stages directly the alfa version during development time. Because we're working on features, we're focusing on statement that creates value and at the end of a Sprint we're ready to launch them as a Beta feature.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;This happens iteration over iteration.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;This only because Agile focuses on the idea that everything in a sprint is "something potentially shippable." We then stage the next sprint and fix all the bugs in the prior consolidating those beta services as stable services and releasing new beta services.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;This happens Iteration over iteration.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;Every time, every day we're looking at our Perpetual ß scrum sheet tool to know how, what e who is involved in the process and which will be the delivery. Of course, our tool is in ß too, and is growing day by day.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;&lt;/span&gt;&lt;/div&gt;&lt;span style="font-family:verdana;"&gt;&lt;br /&gt;Tool is available to download here: &lt;a href="http://www.mondora.com/metodi/mondora-perpetual-beta-scrum.pdf"&gt;mondora-perpetual-beta-scrum&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;</content><link rel='replies' type='application/atom+xml' href='http://fmondora.mondora.com/feeds/1649670106879592886/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://fmondora.mondora.com/2008/07/can-perpetual-beta-approach-be-managed.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/18112536/posts/default/1649670106879592886?v=2'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/18112536/posts/default/1649670106879592886?v=2'/><link rel='alternate' type='text/html' href='http://fmondora.mondora.com/2008/07/can-perpetual-beta-approach-be-managed.html' title='Can a Perpetual Beta approach be managed with Scrum?'/><author><name>Frank Mondora</name><uri>http://www.blogger.com/profile/12312911649522678625</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='23' height='32' src='http://3.bp.blogspot.com/_iDnpW2--Di4/SMc-e59ijwI/AAAAAAAAAFs/pUy6QiNHZ-g/S220/toxXyz4PST3Eh6CQuZdcPbiyVfLHRzO4.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_iDnpW2--Di4/SGstxgTra5I/AAAAAAAAAEU/hhZfXufuCXk/s72-c/perpetual-beta.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry gd:etag='W/&quot;AkcAQ3YzeSp7ImA9WxRbGE4.&quot;'><id>tag:blogger.com,1999:blog-18112536.post-2040444548454803067</id><published>2008-06-27T07:27:00.010+02:00</published><updated>2008-12-09T16:54:02.881+01:00</updated><app:edited xmlns:app='http://www.w3.org/2007/app'>2008-12-09T16:54:02.881+01:00</app:edited><category scheme='http://www.blogger.com/atom/ns#' term='suarez'/><category scheme='http://www.blogger.com/atom/ns#' term='varese'/><category scheme='http://www.blogger.com/atom/ns#' term='#e20forum'/><category scheme='http://www.blogger.com/atom/ns#' term='luis'/><category scheme='http://www.blogger.com/atom/ns#' term='insubria'/><category scheme='http://www.blogger.com/atom/ns#' term='enterprise 2.0'/><category scheme='http://www.blogger.com/atom/ns#' term='mike'/><category scheme='http://www.blogger.com/atom/ns#' term='elsua'/><category scheme='http://www.blogger.com/atom/ns#' term='twitter'/><title>Twitter is not a new form of Journalism!</title><content type='html'>&lt;div style="text-align: justify;"&gt;&lt;span style="font-size:130%;"&gt;&lt;span style="font-family:verdana;"&gt;Microblogging generally can be seen as a new way of exchanging information between user, but what happen where all the microbloggers share a topic during a public event and talk about it. News propagation is more viral that people can think, and I've had a demonstration, directly and live in Varese at Università dell'Insubria during the Enterprise 2.0 forum.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_iDnpW2--Di4/SGSB_th7BFI/AAAAAAAAAD4/El89ANKqhGI/s1600-h/twit.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://4.bp.blogspot.com/_iDnpW2--Di4/SGSB_th7BFI/AAAAAAAAAD4/El89ANKqhGI/s320/twit.png" alt="" id="BLOGGER_PHOTO_ID_5216437199955493970" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;This is what happened to me last Wednesday in Varese at the Enterprise 2.0 forum. There were lot of people and an internet connection. Some of them I've already followed on twitter because they twits some good micro news I really appreciate.&lt;/span&gt; &lt;span style="font-family:verdana;"&gt;I know &lt;a href="http://www.elsua.com"&gt;Luis Suarez&lt;/a&gt; and follow him on twitter since a month; Luis was one of the speaker at the conference. Since the first moment at the conference me and Mike started twitting in an "informal" way our status at the conference. Twitting it realizes that all our followers knewn what's going on. Luis saw it and agreed with us it was nice to track the entire conference on twitter. We agreed on a tag (unique maybe) to tag the conference and we decided #e20forum. Well the word has spread and all the Luis follower, &lt;a href="http://mmondora.mondora.com"&gt;Mike&lt;/a&gt; follower, and mine follower have known we were ready and already negotiated how to track the conference. Some of them were in the room and some of them were on the speaker's table.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;Well, a new pool of journalist has been configured without paying without asking to do that job. &lt;br /&gt;During every speech on this underlying channel, everyone has published all the information considered important and the cloud of news magically appear with many really insightful information.&lt;/span&gt; &lt;span style="font-family:verdana;"&gt;Someone has twitted some real time pics, other their slides about the topic they covered.&lt;/span&gt; &lt;span style="font-family:verdana;"&gt;It's amazing to see how the day time line was well documented in a collaborative fashion, without organization, and with the participation of the speaker and the public without knowing before.&lt;/span&gt; &lt;span style="font-family:verdana;"&gt;It's amazing to think about old style journalist. Some of them sat near me that were putting words on block notes and now are reordering their ideas and how I can go to a &lt;a href="http://summize.com/search?q=%23e20forum"&gt;Summize&lt;/a&gt; - a Twitter Mash up -  and know what happened and know what is still happening around it.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;&lt;br /&gt;This experience was the most important experience to me that significantly defines how the world is changing, how people shall be connected each other and which is the path of the communication.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt; &lt;span style="font-family:verdana;"&gt;All the speeches were really good and what happened under the hood was really in a 2.0 fashion making a new culture tangible.&lt;/span&gt;  &lt;span style="font-family:verdana;"&gt;I would like to thanks all the twitters and twitpicsers for the moment they gave to the Enterprise 2.0 forum, and I think this is a real Success Case of a new form of&lt;/span&gt;&lt;a href="javascript:void(0)" tabindex="10" onclick="return false;"&gt;&lt;span&gt;&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:verdana;"&gt; Journalism.&lt;br /&gt;&lt;br /&gt;Last mine consideration is that twitter and summize are only tool, and the new form of journalist is the way we collaborate with all the people related to us. It is insightful to see how people in my network, perceived the conference emphasizing some topic I didn't see, and how I realized better what was going on from a collaborative culture. &lt;br /&gt;&lt;br /&gt;&lt;/span&gt;  &lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://fmondora.mondora.com/feeds/2040444548454803067/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://fmondora.mondora.com/2008/06/twitter-is-not-new-form-of-journalism.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/18112536/posts/default/2040444548454803067?v=2'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/18112536/posts/default/2040444548454803067?v=2'/><link rel='alternate' type='text/html' href='http://fmondora.mondora.com/2008/06/twitter-is-not-new-form-of-journalism.html' title='Twitter is not a new form of Journalism!'/><author><name>Frank Mondora</name><uri>http://www.blogger.com/profile/12312911649522678625</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='23' height='32' src='http://3.bp.blogspot.com/_iDnpW2--Di4/SMc-e59ijwI/AAAAAAAAAFs/pUy6QiNHZ-g/S220/toxXyz4PST3Eh6CQuZdcPbiyVfLHRzO4.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_iDnpW2--Di4/SGSB_th7BFI/AAAAAAAAAD4/El89ANKqhGI/s72-c/twit.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry gd:etag='W/&quot;AkcAQn8ycCp7ImA9WxRbGE4.&quot;'><id>tag:blogger.com,1999:blog-18112536.post-6802685353866634870</id><published>2008-06-15T07:34:00.011+02:00</published><updated>2008-12-09T16:54:03.198+01:00</updated><app:edited xmlns:app='http://www.w3.org/2007/app'>2008-12-09T16:54:03.198+01:00</app:edited><category scheme='http://www.blogger.com/atom/ns#' term='agile'/><category scheme='http://www.blogger.com/atom/ns#' term='people'/><category scheme='http://www.blogger.com/atom/ns#' term='friendship'/><category scheme='http://www.blogger.com/atom/ns#' term='enterprise 2.0'/><category scheme='http://www.blogger.com/atom/ns#' term='scrum'/><category scheme='http://www.blogger.com/atom/ns#' term='relationship'/><title>Have Agile and Enterprise 2.0 something in common?</title><content type='html'>&lt;div style="text-align: justify;"&gt;&lt;span style="font-family:verdana;font-size:100%;"&gt;&lt;span style="font-size:130%;"&gt;Nowadays companies are thinking to promote a social graph inside the corporate instead of hierarchies. This is common to agile practice where all the developers together are the project manager.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt; &lt;/div&gt;&lt;div  style=" text-align: justify;font-family:verdana;"&gt;&lt;br /&gt;&lt;span style="font-size:100%;"&gt;Agile Manifesto and 2.0 approach have something that sounds really similar: people. People are  the key in both Agile and in Enterprise 2.0.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:100%;"&gt;Agile Manifesto outlines how project will be managed in a more conversational way, where values are the driver in software development. An enterprise 2.0 is focusing on people too, where a company's seen as a multitude of people that are working together, having a relationship that helps the system growing.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:100%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_iDnpW2--Di4/SF9oVQnCgOI/AAAAAAAAADg/OHxuqY8HqRI/s1600-h/164451891_8aa3d78f88.jpg"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 90px; height: 136px;" src="http://1.bp.blogspot.com/_iDnpW2--Di4/SF9oVQnCgOI/AAAAAAAAADg/OHxuqY8HqRI/s200/164451891_8aa3d78f88.jpg" alt="" id="BLOGGER_PHOTO_ID_5215001607963574498" border="0" /&gt;&lt;/a&gt;&lt;span style="font-size:100%;"&gt;Currently companies are focusing on process and tools over comprehensive documentation. Currently companies are following a plan that enables  negotiation between Customer and Provider.&lt;br /&gt;&lt;br /&gt;Agile shall make companies focusing on individuals and interactions. Agile focuses on working software that is responding to changes. Agile establishes Customer as a Partner through collaboration.&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_iDnpW2--Di4/SF9oxrZSszI/AAAAAAAAADo/oEYVTVebGus/s1600-h/218169158_3da5c16fe3_o.jpg"&gt;&lt;img style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer; width: 134px; height: 195px;" src="http://2.bp.blogspot.com/_iDnpW2--Di4/SF9oxrZSszI/AAAAAAAAADo/oEYVTVebGus/s200/218169158_3da5c16fe3_o.jpg" alt="" id="BLOGGER_PHOTO_ID_5215002096190010162" border="0" /&gt;&lt;/a&gt;&lt;span style="font-size:100%;"&gt;The enterprise 2.0 shall make companies focusing on relations &lt;/span&gt;&lt;span style="font-size:100%;"&gt;between &lt;/span&gt;&lt;span style="font-size:100%;"&gt;ind&lt;/span&gt;&lt;span style="font-size:100%;"&gt;iv&lt;/span&gt;&lt;span style="font-size:100%;"&gt;i&lt;/span&gt;&lt;span style="font-size:100%;"&gt;duals a&lt;/span&gt;&lt;span style="font-size:100%;"&gt;nd interaction over essential&lt;/span&gt;&lt;span style="font-size:100%;"&gt; documentation and a fully functional company.&lt;/span&gt;&lt;span style="font-size:100%;"&gt; The Enterprise 2.0 is responding to change  and establishes Customer as a partner and colleague as a Friend.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:100%;"&gt;Enterprise 2.0 focuses on adopting similar values expressed by the Agile Manifesto to corporate where the delivery is the corporate itself and not only software. Corporate, like Agile management techniques, trusts on human ability to create and maintain hi-value relations.&lt;br /&gt;&lt;br /&gt;Both of the two mentioned approaches create a more conversational environment where colleagues/developers/partners can share their opinion their problem each other. Informal relations are brought forward to formal relation, where the main opportunity is to evolve something together.&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://fmondora.mondora.com/feeds/6802685353866634870/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://fmondora.mondora.com/2008/06/do-agile-and-enterprise-20-has.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/18112536/posts/default/6802685353866634870?v=2'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/18112536/posts/default/6802685353866634870?v=2'/><link rel='alternate' type='text/html' href='http://fmondora.mondora.com/2008/06/do-agile-and-enterprise-20-has.html' title='Have Agile and Enterprise 2.0 something in common?'/><author><name>Frank Mondora</name><uri>http://www.blogger.com/profile/12312911649522678625</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='23' height='32' src='http://3.bp.blogspot.com/_iDnpW2--Di4/SMc-e59ijwI/AAAAAAAAAFs/pUy6QiNHZ-g/S220/toxXyz4PST3Eh6CQuZdcPbiyVfLHRzO4.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_iDnpW2--Di4/SF9oVQnCgOI/AAAAAAAAADg/OHxuqY8HqRI/s72-c/164451891_8aa3d78f88.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry gd:etag='W/&quot;AkcAQng4eyp7ImA9WxRbGE4.&quot;'><id>tag:blogger.com,1999:blog-18112536.post-147242264777478689</id><published>2008-06-07T07:44:00.000+02:00</published><updated>2008-12-09T16:54:03.633+01:00</updated><app:edited xmlns:app='http://www.w3.org/2007/app'>2008-12-09T16:54:03.633+01:00</app:edited><category scheme='http://www.blogger.com/atom/ns#' term='pareto principle'/><category scheme='http://www.blogger.com/atom/ns#' term='agile'/><category scheme='http://www.blogger.com/atom/ns#' term='20-80'/><category scheme='http://www.blogger.com/atom/ns#' term='development'/><title>Agile Development: why small iteration in big projects?</title><content type='html'>&lt;div style="text-align: justify;"&gt;&lt;span style="font-family: verdana;"&gt;I'm just back from a training about Agile and Scrum and one question made from an attendee was:&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family: verdana;"&gt;"&lt;span style="font-style: italic;"&gt;You said it's hard to success in a big project without implementing small iterations; I'm skeptic about it. How do you manage big time line as short-term iterations?&lt;/span&gt;"&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family: verdana;"&gt;Think about the &lt;a href="http://en.wikipedia.org/wiki/Pareto_principle"&gt;Pareto Principle&lt;/a&gt; also known as the 80-20 rule that states that 80% of the effect come from the 20% of the causes.&lt;br /&gt;Currently Agile is addressing that development effort should be spent only on the business direction: you need to implement something that is really valuable for the customer. This states a feature driven's approach instead of others where everything starts from a feature, and everything ends when the feature become something potentially shippable.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: verdana;"&gt;From the Pareto Principle:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: verdana;"&gt;the 20% of features implements the 80% of business&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: verdana;"&gt;In a Project, big 100 the investment is 100 a the total of returns are 100.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: verdana; text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: verdana; text-align: justify;"&gt; &lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_iDnpW2--Di4/SFNw2xm1BoI/AAAAAAAAAC4/R2g_TLczfgs/s1600-h/pareto100.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://2.bp.blogspot.com/_iDnpW2--Di4/SFNw2xm1BoI/AAAAAAAAAC4/R2g_TLczfgs/s320/pareto100.jpg" alt="" id="BLOGGER_PHOTO_ID_5211633280129238658" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;From an economical point of view results are reached and the mission can be thought as accomplished.&lt;br /&gt;&lt;br /&gt;Watching it in a different perspective thinking that the 20% of efforts (energy/investment/etc) gives the 80% of benefits, we can think that the effort for getting the 20% is higher than the benefits.&lt;br /&gt;&lt;br /&gt;By splitting 100% into five pieces&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_iDnpW2--Di4/SFNx1Y3-STI/AAAAAAAAADA/5rcNqfp4lB4/s1600-h/pareto80.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://1.bp.blogspot.com/_iDnpW2--Di4/SFNx1Y3-STI/AAAAAAAAADA/5rcNqfp4lB4/s320/pareto80.jpg" alt="" id="BLOGGER_PHOTO_ID_5211634355822020914" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Different benefits could be gained:&lt;br /&gt;- after 20% of time the 80% of ROI is collected;&lt;br /&gt;- after 20% of time investment could be re-planned in a more flexible way&lt;br /&gt;- after 40% of time the 160% is gained (more than the 100% of time in the previous approach)&lt;br /&gt;- after 100% of time 400% is gained&lt;br /&gt;&lt;br /&gt;Finally, product and business grow together iteration over iteration requiring that feature must be ordered having Return Of Investment in mind and having the most important feature for ROI implemented first.&lt;br /&gt;&lt;br /&gt;Pareto principle involves a feature oriented iterations in thinking business and in approaching a development strategy.&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://fmondora.mondora.com/feeds/147242264777478689/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://fmondora.mondora.com/2008/06/agile-development-why-small-iteration.html#comment-form' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/18112536/posts/default/147242264777478689?v=2'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/18112536/posts/default/147242264777478689?v=2'/><link rel='alternate' type='text/html' href='http://fmondora.mondora.com/2008/06/agile-development-why-small-iteration.html' title='Agile Development: why small iteration in big projects?'/><author><name>Frank Mondora</name><uri>http://www.blogger.com/profile/12312911649522678625</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='23' height='32' src='http://3.bp.blogspot.com/_iDnpW2--Di4/SMc-e59ijwI/AAAAAAAAAFs/pUy6QiNHZ-g/S220/toxXyz4PST3Eh6CQuZdcPbiyVfLHRzO4.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_iDnpW2--Di4/SFNw2xm1BoI/AAAAAAAAAC4/R2g_TLczfgs/s72-c/pareto100.jpg' height='72' width='72'/><thr:total>4</thr:total></entry><entry gd:etag='W/&quot;AkcAQnY9cSp7ImA9WxRbGE4.&quot;'><id>tag:blogger.com,1999:blog-18112536.post-9040030280569833308</id><published>2008-06-02T07:38:00.000+02:00</published><updated>2008-12-09T16:54:03.869+01:00</updated><app:edited xmlns:app='http://www.w3.org/2007/app'>2008-12-09T16:54:03.869+01:00</app:edited><category scheme='http://www.blogger.com/atom/ns#' term='perpetual'/><category scheme='http://www.blogger.com/atom/ns#' term='web 2.0'/><category scheme='http://www.blogger.com/atom/ns#' term='beta'/><title>Perpetual Beta services</title><content type='html'>&lt;div style="text-align: justify;"&gt;&lt;span style="font-family:verdana;"&gt;Today, online services are in perpetual beta since years and it sounds a bit strange for an engineer that delivers software.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;I mention Flickr for example that has been in beta for several years.&lt;/span&gt;&lt;/div&gt;&lt;span class="Apple-style-span"  style="font-family:verdana;"&gt; &lt;/span&gt;&lt;div&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_iDnpW2--Di4/SEUVn62ViCI/AAAAAAAAACo/5oJoSKnDrWA/s1600-h/PerpetualBeta.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://4.bp.blogspot.com/_iDnpW2--Di4/SEUVn62ViCI/AAAAAAAAACo/5oJoSKnDrWA/s400/PerpetualBeta.png" alt="" id="BLOGGER_PHOTO_ID_5207592319680088098" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span"  style="font-family:verdana;"&gt;Going deeper on why perpetual beta and not stable release, I see the way software is implemented is changing. Developing over small iteration requires to split software into feature and components into services: smaller is the iteration (1-5 days) more is the dependency to a service crafting approach where services crosscuts around the architecture by improving the architecture. Small iteration produces few lines of code then small bugs, and test is shortened too. This makes the software to change frequently by increasing stable services and beta services over time.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="Apple-style-span"  style="font-family:verdana;"&gt;Development to production small iteration approach gains lots of benefits like:&lt;/span&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;span class="Apple-style-span"  style="font-family:verdana;"&gt;rapid return of investment;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span"  style="font-family:verdana;"&gt;rapid change when competitors launch the same service;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span"  style="font-family:verdana;"&gt;user centric needs;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span"  style="font-family:verdana;"&gt;rapid solve possible bottleneck with short downtime;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span"  style="font-family:verdana;"&gt;rapid scaling on business continually iterating over new functionality.&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;span class="Apple-style-span"  style="font-family:verdana;"&gt;This type of approach is making previous 3-4 iterations stable and well tested and the other still in beta because they're really in beta.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="Apple-style-span"  style="font-family:verdana;"&gt;Adopting short iterations, requires a new mindset in achieving Software Architecture: SOA is an example where what is implemented is Software broken into Services that implements features.&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span"  style="font-family:verdana;"&gt;This means beta is for feature.&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span"  style="font-family:verdana;"&gt;This means that business feature is still in beta, and consolidates over time when users  thinks they're stable.&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:verdana;"&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;div style="text-align: center;"&gt;&lt;span style="font-weight: bold;font-family:verdana;" class="Apple-style-span" &gt;Flickr is again an example.&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:verdana;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-family:verdana;"&gt;It has been qualified as beta for several years and this is the approach of big ventures that are delivering feature iteration over iteration investing money iteration over iteration and driving behavior over user requirements. In facts, to organize what service will be the next released service, Flickr and the other players are creating communities of users that evaluated and propose new behavior discussing on it.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;This is why modern web site are proud to declare "beta" for 2 or 3 years and to move to "gamma" after 4 years.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;It is more a business practice than a software practice.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;I'll continue this topic by drilling down my mind map to focus better on how SOA, Virtualization, Agile are related.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;Stay in touch!&lt;/span&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://fmondora.mondora.com/feeds/9040030280569833308/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://fmondora.mondora.com/2008/06/perpetual-beta-soa-requirement.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/18112536/posts/default/9040030280569833308?v=2'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/18112536/posts/default/9040030280569833308?v=2'/><link rel='alternate' type='text/html' href='http://fmondora.mondora.com/2008/06/perpetual-beta-soa-requirement.html' title='Perpetual Beta services'/><author><name>Frank Mondora</name><uri>http://www.blogger.com/profile/12312911649522678625</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='23' height='32' src='http://3.bp.blogspot.com/_iDnpW2--Di4/SMc-e59ijwI/AAAAAAAAAFs/pUy6QiNHZ-g/S220/toxXyz4PST3Eh6CQuZdcPbiyVfLHRzO4.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_iDnpW2--Di4/SEUVn62ViCI/AAAAAAAAACo/5oJoSKnDrWA/s72-c/PerpetualBeta.png' height='72' width='72'/><thr:total>1</thr:total></entry><entry gd:etag='W/&quot;AkcARX44cCp7ImA9WxRbGE4.&quot;'><id>tag:blogger.com,1999:blog-18112536.post-7233688465960638679</id><published>2008-05-25T20:50:00.000+02:00</published><updated>2008-12-09T16:54:04.038+01:00</updated><app:edited xmlns:app='http://www.w3.org/2007/app'>2008-12-09T16:54:04.038+01:00</app:edited><category scheme='http://www.blogger.com/atom/ns#' term='software'/><category scheme='http://www.blogger.com/atom/ns#' term='developer 2.0'/><category scheme='http://www.blogger.com/atom/ns#' term='soul'/><category scheme='http://www.blogger.com/atom/ns#' term='role'/><category scheme='http://www.blogger.com/atom/ns#' term='architect'/><title>Developer 2.0 - a software personality</title><content type='html'>&lt;div style="text-align: justify;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.offbeathomes.com/wp-content/uploads/2007/09/medianl.jpg"&gt;&lt;img style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer; width: 320px;" src="http://www.offbeathomes.com/wp-content/uploads/2007/09/medianl.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;span style="font-family:verdana;"&gt;I'm just back from Almens (Swiss) after a day of talking about stuff on several things in mine interests  with a good friend Tim Mackinnon. After some talks that gave me a better understanding on how architecture are changing, they're ready to &lt;/span&gt;&lt;span style="font-family:verdana;"&gt;be dumped on a blog entry.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;Before st&lt;/span&gt;&lt;span style="font-family:verdana;"&gt;art describing the 2.0 I need to go more in d&lt;/span&gt;&lt;span style="font-family:verdana;"&gt;epth about the evolution of an Architect form 1.0 to 2.0&lt;br /&gt;&lt;/span&gt; &lt;span style="font-family:verdana;"&gt;In 1.0 he is responsible for:&lt;/span&gt; &lt;span style="font-family:verdana;"&gt;&lt;br /&gt;- the architecture of the system including component reuse (logical and physical reuse),&lt;/span&gt; &lt;span style="font-family:verdana;"&gt;&lt;br /&gt;- finding patterns for problem solution,&lt;/span&gt; &lt;span style="font-family:verdana;"&gt;- driving the philosophy in separating concerns between core component.&lt;/span&gt; &lt;span style="font-family:verdana;"&gt;&lt;br /&gt;&lt;br /&gt;Meanwhile, Developer 1.0 requires analysis and designs before writing a line of code, the 2.0 approach is starting from a business feature and instantly writing it.&lt;/span&gt; &lt;span style="font-family:verdana;"&gt;A 2.0 architecture emerges as the code's soul, like when a voice comes from the soul of kid. The soul must be educated, and the role of the architect should be as educator to an architectural approach by iterating over all the development content and all the developers while they're under pressure in releasing line of code.&lt;/span&gt; &lt;span style="font-family:verdana;"&gt;In this way, architects facilitate the emerge of an&lt;/span&gt;&lt;span style="font-family:verdana;"&gt; architecture thought as the Software Personality. With their new approach in linking developer 2.0 contents (code, documentation, feature, etc.) they're are creating those links that enforce the soul of software.&lt;/span&gt; &lt;span style="font-family:verdana;"&gt;Personality increases day by day, line by line, and architecture emerges with it and consolidates with it. Modern architects linking code snippets with tags of a specific context (architecture for example) are implicitly educating code with a personality. Code behavior is the feature implemented, and the old fashioned architecture diagram is an outcome of what is implicitly related inside the code by architects; both the logical and physical statement. &lt;/span&gt; &lt;span style="font-family:verdana;"&gt;The analysis of those links between things produces different graph of related things, and those graphs can be drilled down by following all the tags.&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;span style="font-family:verdana;"&gt; &lt;/span&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_iDnpW2--Di4/SDp7Q62ViAI/AAAAAAAAACY/Pi-dbXYzu3c/s1600-h/Untitled+2.gnp"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://1.bp.blogspot.com/_iDnpW2--Di4/SDp7Q62ViAI/AAAAAAAAACY/Pi-dbXYzu3c/s400/Untitled+2.gnp" alt="" id="BLOGGER_PHOTO_ID_5204607849985312770" border="0" /&gt;&lt;/a&gt; - architecture cloud -&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-family:verdana;"&gt;The above diagram can be derived by analyzing tags and relationship between tags: architecture is a derivation by the tag graph inside the system. By having it expressed as a graph from the analysis of the system, it can be thought as an architecture cloud, where the most important component is bigger than the others and when dependencies between component are inherited from tagging. &lt;/span&gt; &lt;span style="font-family:verdana;"&gt;An architect 2.0 is responsible for creating the culture of tagging components to create the 1.0 hidden relationship between logical and physical components. This constitutes the soul of the application that must grow with the system day by day in a pragmatic way by adopting feature to code (as the voice) to the soul.&lt;/span&gt;  &lt;span style="font-family:verdana;"&gt;I would like to go more in dept in a future post about the tool. An architect 2.0 should use for maintain upstanding a soul of a system.&lt;/span&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://fmondora.mondora.com/feeds/7233688465960638679/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://fmondora.mondora.com/2008/05/developer-20-software-personality.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/18112536/posts/default/7233688465960638679?v=2'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/18112536/posts/default/7233688465960638679?v=2'/><link rel='alternate' type='text/html' href='http://fmondora.mondora.com/2008/05/developer-20-software-personality.html' title='Developer 2.0 - a software personality'/><author><name>Frank Mondora</name><uri>http://www.blogger.com/profile/12312911649522678625</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='23' height='32' src='http://3.bp.blogspot.com/_iDnpW2--Di4/SMc-e59ijwI/AAAAAAAAAFs/pUy6QiNHZ-g/S220/toxXyz4PST3Eh6CQuZdcPbiyVfLHRzO4.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_iDnpW2--Di4/SDp7Q62ViAI/AAAAAAAAACY/Pi-dbXYzu3c/s72-c/Untitled+2.gnp' height='72' width='72'/><thr:total>0</thr:total></entry><entry gd:etag='W/&quot;Dk8MQ346fCp7ImA9WxdSEUo.&quot;'><id>tag:blogger.com,1999:blog-18112536.post-7191078338866196122</id><published>2008-05-20T05:18:00.000+02:00</published><updated>2008-05-19T07:28:02.014+02:00</updated><app:edited xmlns:app='http://www.w3.org/2007/app'>2008-05-19T07:28:02.014+02:00</app:edited><category scheme='http://www.blogger.com/atom/ns#' term='tagging'/><category scheme='http://www.blogger.com/atom/ns#' term='&quot;developer 2.0&quot;'/><title>Developer 2.0 - Tagging for developers</title><content type='html'>&lt;a style="font-family: verdana;" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.archimuse.com/mw2006/papers/lowndes/lowndes-fig2-400px.gif"&gt;&lt;img style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer; width: 320px;" src="http://www.archimuse.com/mw2006/papers/lowndes/lowndes-fig2-400px.gif" alt="" border="0" /&gt;&lt;/a&gt;&lt;div style="text-align: justify; font-family: verdana;"&gt;&lt;div&gt;Developers are building sophisticated tagging system, clouds and drill down mechanism to explore them that project their service in a 2.0 scenario.&lt;/div&gt;&lt;br /&gt;Tagging is implemented because it gives lots of benefit in managing and finding contents. Developers should gain this benefits directly from the technology they implement while developing an application. &lt;/div&gt;&lt;div style="font-family: verdana;"&gt;&lt;div style="text-align: justify;"&gt;For example consider if you're writing  an application module that consist of:&lt;br /&gt;&lt;/div&gt;&lt;ul style="text-align: justify;"&gt;&lt;li&gt;a web page&lt;/li&gt;&lt;li&gt;a javascript file&lt;/li&gt;&lt;li&gt;a controller object&lt;/li&gt;&lt;/ul&gt;&lt;div style="text-align: justify;"&gt;Tagging them with a tag like module: bookmarklet a developer can consistently declare a unit of development and group logical information together.&lt;br /&gt;Tagging evolves an architect by letting a user to perceive an application in several form. If two files are tagged with an architectural block like the previous block, an extra information can be derived: those two components have a relationship and this relationship should be preserved.&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"&gt;&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;Evolution of a tag cloud&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;Tag clouds are an impressive way to show which is the major taxonomy on a given content. In my Developer 2.0 idea, tag cloud could be a starting point to get information about how software is implemented and the ranking of each tag is derived, as in the common way, from the tagged contents (sources, documents, etc.).&lt;br /&gt;Filtering tags on a tag cloud gave having a specific namespace, should catch immediately which is the most complex behavior of the system in terms of number of artifacts in it.&lt;br /&gt;In a tag cloud like this, tag names should be arranged by thinking the idea that a content is a neighbor to another content if they share the same tag. All those two content have different tags on and depending on their neighborhood they are showed near by on the tag cloud.&lt;div&gt;&lt;span class="Apple-style-span"&gt;Imagine if you like to browse a tag cloud filtering for namespace: architecture:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"&gt;Cloud is composed of:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"&gt;architecture:payment&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"&gt;architecture:messaging&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"&gt;etc.&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;If a specified payment component notifies troughs the messaging platform a transaction completion, it is tagged by the developer both as "architecture: payment" and "architecture: messaging." Those two tags are now neighbors and in a tag cloud they will be showed, or better linked with their specific size.&lt;br /&gt;&lt;br /&gt;This is a new, modern way to have a diagram of how an architecture evolves and the tag cloud can be computed over time and this is a great opportunity a tagging system in the developer 2.0 environment introduces.&lt;br /&gt;&lt;br /&gt;I'll continue in the next posts, about how tagging can help me - as a developer - in doing better.&lt;div&gt;&lt;span class="Apple-style-span"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://fmondora.mondora.com/feeds/7191078338866196122/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://fmondora.mondora.com/2008/05/developer-20-tagging-for-developers.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/18112536/posts/default/7191078338866196122?v=2'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/18112536/posts/default/7191078338866196122?v=2'/><link rel='alternate' type='text/html' href='http://fmondora.mondora.com/2008/05/developer-20-tagging-for-developers.html' title='Developer 2.0 - Tagging for developers'/><author><name>Frank Mondora</name><uri>http://www.blogger.com/profile/12312911649522678625</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='23' height='32' src='http://3.bp.blogspot.com/_iDnpW2--Di4/SMc-e59ijwI/AAAAAAAAAFs/pUy6QiNHZ-g/S220/toxXyz4PST3Eh6CQuZdcPbiyVfLHRzO4.jpg'/></author><thr:total>0</thr:total></entry><entry gd:etag='W/&quot;AkcARXw4eSp7ImA9WxRbGE4.&quot;'><id>tag:blogger.com,1999:blog-18112536.post-1146846659822714658</id><published>2008-05-11T08:34:00.000+02:00</published><updated>2008-12-09T16:54:04.231+01:00</updated><app:edited xmlns:app='http://www.w3.org/2007/app'>2008-12-09T16:54:04.231+01:00</app:edited><category scheme='http://www.blogger.com/atom/ns#' term='context'/><category scheme='http://www.blogger.com/atom/ns#' term='developer 2.0 memento'/><category scheme='http://www.blogger.com/atom/ns#' term='code'/><category scheme='http://www.blogger.com/atom/ns#' term='&quot;developer 2.0&quot;'/><title>Developer 2.0 - from Code to Content</title><content type='html'>&lt;div style="text-align: justify;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_iDnpW2--Di4/SCbtRnJGfhI/AAAAAAAAABg/ynkzS-UOUUs/s1600-h/Picture+1.png"&gt;&lt;img style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer;" src="http://1.bp.blogspot.com/_iDnpW2--Di4/SCbtRnJGfhI/AAAAAAAAABg/ynkzS-UOUUs/s320/Picture+1.png" alt="" id="BLOGGER_PHOTO_ID_5199103706666532370" border="0" /&gt;&lt;/a&gt;&lt;span style="font-family:verdana;"&gt;Nowadays, development and tools are focusing on better IDE that brings best to developers are not giving a new sense of what development could be.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;Developing as a business, having an industrial approach, requires to build software considering quality with the best language of the world and documenting all for all the steps requiring while delivering software that satisfies a particular business.&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;span style="font-family:verdana;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-family:verdana;"&gt;Speaking with modern programmers, I can feel them like to write code in a more expressive and natural language so they don't need to write external documentation and this helps. Other developers to better understand the code while reading it.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;Developers don't like writing documentation for two reasons:&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;span style="font-family:verdana;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-family:verdana;"&gt;   1. documentation is hardly maintainable when code evolves and, maybe, there is not time to maintain it;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;   2. documentation is not a compiled artifact and developers don't see it for production purposes&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;span style="font-family:verdana;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-family:verdana;"&gt;I see developers that want to discuss about their code on blogs where they show the techniques around their algorithms, or I see developers that are sending code snippets to other developers by email, asking them to refactor that class in that code portion.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;Code is the central point in doing development, and for programmers it's a content they continuously produce over time, share and exchange with others.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;Nowadays on the web 2.0 era, development is talking about how to address 2.0 issues for some business case and is not addressing development as a community work where code is a content produced by the community.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;Thinking about code as a content, developers when producing it should&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;ul style="font-family: verdana; text-align: justify;"&gt;&lt;li&gt;publish comments on it;&lt;/li&gt;&lt;li&gt;blog and reblog it;&lt;/li&gt;&lt;li&gt;tag it with some more development oriented tags;&lt;/li&gt;&lt;li&gt;bookmark it.&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-family:verdana;"&gt;Like every community Developer 2.0 community should have an online space where to live and where to publish its content (code). Code should be edited on line and for each code snippet (method, class, blocks) a developer should add comments (like she does), should blog it, should tag it, or should bookmark it.&lt;span style="font-weight: bold;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;&lt;span style="font-weight: bold;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;&lt;span style="font-weight: bold;"&gt;&lt;/span&gt;&lt;span style="font-weight: bold;"&gt;Code editing and browsing&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;Working, sometime as a developer, I usually develop with an open page to a wiki page where I write stuff about architecture, about why I chose to implement those lines of codes in such way etc, and I work with the Text Editor to edit my lines of codes. Every time, I would like to a wiki page to the developed code, I enclose the wiki's code link inside the code for future better understands. When finished I commit on the version control and I move on the next feature.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;Thinking about an evolution if the code is recognized as a content, it will be managed like the text I write on the wiki and wiki will be managed as comment in the code. A development platform for 2.0 should let a developer to work on a workspace where code is edited online in a 2.0 fashion: like a blogger does while blogging. Browsing would be the same, you browse the code space and while browsing you can see all is around code.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;&lt;span style="font-weight: bold;"&gt;Code commenting&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;Traditional code commenting is done using commenting statement offered by languages, and comments are written in a sparse way depending on the purpose. They are written near the code, on wiki pages, on documents (word etc.) and are written in version control commit messages while checking in, tagging and branching.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;In a 2.0 fashion commenting is like when a user read a blog and comment it adding a comment to the post. Thinking the code as the content lets developers to add comment to the code. In this way other developers to browse the code content and to read the history comments on it. Comments are now content and follow the same life cycle of the code because they're linked to the code.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;&lt;span style="font-weight: bold;"&gt;Content Tagging&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;Tagging lets a developer to add some extra information about his code. A tag helps a developer in declaring a purpose of something inside his code. Already, developers use tags in their code development having several purposes:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;span style="font-family:verdana;"&gt;    to remark to do list&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-family:verdana;"&gt;    mark code generation (xdoclet docet)&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-family:verdana;"&gt;    to appoint something to remember&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-family:verdana;"&gt;    to maintain a group of file of different revision as a version (version control tag)&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;In the principle of thinking code as content, a developer can tag everything with differently kind of tags.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;Thinking about a tag name space, development should implement a thing of tag purposes (architecture: component, assumption: statement, etc.) where tags are "tagged" with a name space and a user or a content aggregator should aggregate for that specific tag. In this way, a user can filter for a specific tag to have a specific context idea of the application. For example, filtering for the "architecture" name space lets to retrieve all the contents about it and have an architectural idea.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;&lt;span style="font-weight: bold;"&gt;Content blogging&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;Blogging helps developers in sharing ideas that sit around some implemented codes, like a way of explaining the reason of why a portion of code is implemented in such way. Blogs are per user, and are linked to the content that has originated the thoughts.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;font-family:verdana;" &gt;Bookmarking&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;When a developer finds something good, he bookmark it on a social bookmarking site like del.icio.us and shares it with others.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;On the principle of code as a context, each code snippet can be thought as addressable content and those content should be bookmarked directly on a bookmarking platform.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;&lt;span style="font-weight: bold;"&gt;Endnotes&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;Code in this era is becoming a content, and everything circle it. Code, comments, tags, bookmarks are exchanged in the developer environment so that other can see what is going on.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;The syndication lets users to subscribe to a set of topic and to be notified when something in the development process occurs of the interested topic.&lt;br /&gt;Developers should work in a community as a community where there is friendship between them. Development community should aggregate in a community application all the developers that produce their archetypes there.&lt;br /&gt;&lt;br /&gt;I would like to evolve this idea of Developer 2.0 in future topics, where I can go in depth in concept like friendship, blogs and tags or tools around developer 2.0. Stay tuned on this blog to check how these ideas are evolving and how I'll do to make them possible.&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/18112536/posts/default/1146846659822714658?v=2'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/18112536/posts/default/1146846659822714658?v=2'/><link rel='alternate' type='text/html' href='http://fmondora.mondora.com/2008/05/developer-20-from-code-to-content.html' title='Developer 2.0 - from Code to Content'/><author><name>Frank Mondora</name><uri>http://www.blogger.com/profile/12312911649522678625</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='23' height='32' src='http://3.bp.blogspot.com/_iDnpW2--Di4/SMc-e59ijwI/AAAAAAAAAFs/pUy6QiNHZ-g/S220/toxXyz4PST3Eh6CQuZdcPbiyVfLHRzO4.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_iDnpW2--Di4/SCbtRnJGfhI/AAAAAAAAABg/ynkzS-UOUUs/s72-c/Picture+1.png' height='72' width='72'/></entry><entry gd:etag='W/&quot;D0cFRnYyfip7ImA9WxdTEk8.&quot;'><id>tag:blogger.com,1999:blog-18112536.post-5989188964458582504</id><published>2008-05-08T06:44:00.000+02:00</published><updated>2008-05-08T07:36:57.896+02:00</updated><app:edited xmlns:app='http://www.w3.org/2007/app'>2008-05-08T07:36:57.896+02:00</app:edited><category scheme='http://www.blogger.com/atom/ns#' term='social network'/><category scheme='http://www.blogger.com/atom/ns#' term='learning'/><category scheme='http://www.blogger.com/atom/ns#' term='twitter'/><category scheme='http://www.blogger.com/atom/ns#' term='wave'/><category scheme='http://www.blogger.com/atom/ns#' term='learning 2.0'/><title>Learning on the Wave of what is going on: the Twitter Way</title><content type='html'>&lt;div style="text-align: justify;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://assets2.twitter.com/images/tour_1.gif?1210139369"&gt;&lt;img style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer; width: 320px;" src="http://assets2.twitter.com/images/tour_1.gif?1210139369" alt="" border="0" /&gt;&lt;/a&gt;Well socialware is shifting from a buzzword to really good implementation that help in develop and know faster what is going on right now.&lt;br /&gt;I would like to write this post, to show how I'm using twitter and why I think twitter is a good social interaction tool.&lt;br /&gt;Twitter enables users to configure a Gmail account which receive twitter messages from their friendship. This could be considered as another gateway of the flooding information, where people is still a passive victim of what is going on.&lt;br /&gt;The twitter bot can be instructed and if you there are custom messages  that instruct the twitter bot:&lt;br /&gt;&lt;/div&gt;&lt;ul style="text-align: justify;"&gt;&lt;li&gt;&lt;span&gt;with&lt;/span&gt;&lt;span style="font-weight: bold;"&gt; on&lt;/span&gt; you are asking of being flooded about messages;&lt;/li&gt;&lt;li&gt;&lt;span&gt;with&lt;/span&gt;&lt;span style="font-weight: bold;"&gt; off&lt;/span&gt; your are asking to shut up.&lt;/li&gt;&lt;/ul&gt;&lt;div style="text-align: justify;"&gt;But, how can I gain benefits from the public twitter time line?&lt;br /&gt;&lt;br /&gt;Twitter bot allows to track something on the time line and to grab it in your gmail jabber account. In this way, if you want to start learning what's going on in a specific topic just issue&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;track&lt;/span&gt; &lt;span style="font-style: italic;"&gt;specific topic&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;And the twitter bot is instructed about it and you start receiving a flood of information that contains the specific topic and when a user around the world is citing a specific topic, you will receive notification about it without being friend.&lt;br /&gt;This is a really powerful mechanism I use to learn what is going on, and to have it notified on a client application like iChat or other instant messaging client. I read fast the topic notified, and I chose those topics with goods links.&lt;br /&gt;&lt;br /&gt;If you want to learn about fashion, or thinking about a gift just instruct your bot:&lt;br /&gt;track fashion&lt;br /&gt;track gift&lt;br /&gt;&lt;br /&gt;And coming back just issue &lt;span style="font-weight: bold;"&gt;untrack&lt;/span&gt; &lt;span style="font-style: italic;"&gt;keyword&lt;/span&gt; to stop receiving notification from the network.&lt;br /&gt;&lt;br /&gt;To configure your bot you need:&lt;br /&gt;- a Google talk account following the &lt;a href="http://www.google.com/talk/"&gt;Google site&lt;/a&gt;&lt;br /&gt;- a twitter account configured to deliver to your Google account in the &lt;a href="http://twitter.com/devices"&gt;device&lt;/a&gt; section of your &lt;a href="http://twitter.com/account/settings"&gt;account settings&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Now you can setup a client and start enjoying what's on your wave!&lt;br /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/18112536/posts/default/5989188964458582504?v=2'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/18112536/posts/default/5989188964458582504?v=2'/><link rel='alternate' type='text/html' href='http://fmondora.mondora.com/2008/05/learning-on-wave-of-what-is-going-on.html' title='Learning on the Wave of what is going on: the Twitter Way'/><author><name>Frank Mondora</name><uri>http://www.blogger.com/profile/12312911649522678625</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='23' height='32' src='http://3.bp.blogspot.com/_iDnpW2--Di4/SMc-e59ijwI/AAAAAAAAAFs/pUy6QiNHZ-g/S220/toxXyz4PST3Eh6CQuZdcPbiyVfLHRzO4.jpg'/></author></entry><entry gd:etag='W/&quot;AkcARX04fSp7ImA9WxRbGE4.&quot;'><id>tag:blogger.com,1999:blog-18112536.post-2194722566586712193</id><published>2008-05-05T12:30:00.000+02:00</published><updated>2008-12-09T16:54:04.335+01:00</updated><app:edited xmlns:app='http://www.w3.org/2007/app'>2008-12-09T16:54:04.335+01:00</app:edited><category scheme='http://www.blogger.com/atom/ns#' term='developer 2.0 memento'/><title>Developer 2.0 - part 1</title><content type='html'>&lt;div style="text-align: justify;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_iDnpW2--Di4/SB76GQbMlWI/AAAAAAAAAA4/ZGN7OM0XLG0/s1600-h/6_Fet_Free470f44028488b.jpg"&gt;&lt;img style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer;" src="http://2.bp.blogspot.com/_iDnpW2--Di4/SB76GQbMlWI/AAAAAAAAAA4/ZGN7OM0XLG0/s320/6_Fet_Free470f44028488b.jpg" alt="" id="BLOGGER_PHOTO_ID_5196866005427328354" border="0" /&gt;&lt;/a&gt;&lt;span style="font-family:verdana;"&gt;Web 2.0 is not only a buzzword that makes people better, it's a movement of things that shift from an era to another. 2.0 is making us passing from a mindset to another. The previous mindset is based on the concept of big corporates, big organizations, big teams, big projects, big strategies; the next mindset will focus more on people, on thinking about organization of people and to trust them.&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-family:verdana;"&gt;Software development is playing the game of 2.0, and agile methodologies are only a small anticipations of what is in the next scenario. People, with their human values plus technology knowledge are now becoming the central actor of 2.0 era.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;People, in their flavor as friends or colleagues are emphasized from the movement and their network is amplified to get them rid of the hierarchy, the title, or position, and to leverage on values and benefits they give to a social environment.&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;span style="font-family:verdana;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:verdana;"&gt;Developer 2.0 is making upgrading the developer’s concept moving from a developer as a resource in a production chain to a developer as a Person that creates value to the process. This is an opportunity that corporates already know and have implemented in the past through partnership agreement between corporates where the objectives of the partnership were values. Now it is time to make Developers thinking that they can think a development environment as a community of partners where they work for the same objective on the same horizon, and everything is shared. Individual knowledge becomes a group knowledge, and individuality is preserved by the mechanism, as though it was when corporate was partnering in respect to their identities.&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/18112536/posts/default/2194722566586712193?v=2'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/18112536/posts/default/2194722566586712193?v=2'/><link rel='alternate' type='text/html' href='http://fmondora.mondora.com/2008/05/developer-20-part-1.html' title='Developer 2.0 - part 1'/><author><name>Frank Mondora</name><uri>http://www.blogger.com/profile/12312911649522678625</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='23' height='32' src='http://3.bp.blogspot.com/_iDnpW2--Di4/SMc-e59ijwI/AAAAAAAAAFs/pUy6QiNHZ-g/S220/toxXyz4PST3Eh6CQuZdcPbiyVfLHRzO4.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_iDnpW2--Di4/SB76GQbMlWI/AAAAAAAAAA4/ZGN7OM0XLG0/s72-c/6_Fet_Free470f44028488b.jpg' height='72' width='72'/></entry><entry gd:etag='W/&quot;AkcARXozcSp7ImA9WxRbGE4.&quot;'><id>tag:blogger.com,1999:blog-18112536.post-5129589146354057406</id><published>2008-04-21T10:13:00.000+02:00</published><updated>2008-12-09T16:54:04.489+01:00</updated><app:edited xmlns:app='http://www.w3.org/2007/app'>2008-12-09T16:54:04.489+01:00</app:edited><category scheme='http://www.blogger.com/atom/ns#' term='agile'/><category scheme='http://www.blogger.com/atom/ns#' term='complexity'/><category scheme='http://www.blogger.com/atom/ns#' term='estimation'/><category scheme='http://www.blogger.com/atom/ns#' term='scrum'/><title>Why empirical management works?</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_iDnpW2--Di4/SAxOdQ1ECuI/AAAAAAAAAAw/etM6mbcO2KM/s1600-h/flock-00.jpg"&gt;&lt;img style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer;" src="http://4.bp.blogspot.com/_iDnpW2--Di4/SAxOdQ1ECuI/AAAAAAAAAAw/etM6mbcO2KM/s320/flock-00.jpg" alt="" id="BLOGGER_PHOTO_ID_5191610735092042466" border="0" /&gt;&lt;/a&gt;&lt;span style="font-family:verdana;"&gt;I'm just back from my training course in Florence with the intuition on why empirical Management works.&lt;/span&gt;  &lt;span style="font-family:verdana;"&gt;Yes, it's true. I figured out a simple explanation on the reason of it.&lt;/span&gt;  &lt;span style="font-family:verdana;"&gt;Before giving my impression I would like to present an exercise I proposed to my attendee to help them in having confidence on estimation.&lt;/span&gt;  &lt;span style="font-family:verdana;"&gt;They come from the same area, and they really know well what is there including best ways to drive in when there's traffic congestion.&lt;/span&gt;  &lt;span style="font-family:verdana;"&gt;I've started creating a Product Backlog having four routes to cities around Italy and requesting them to plan where they can bring me in 30 minutes.&lt;/span&gt;  &lt;span style="font-family:verdana;"&gt;I've prioritized all the routes in the way. The first is really understandable, and the last is an Unknown City for them. &lt;/span&gt;  &lt;span style="font-family:verdana;"&gt;Having it on the backlog I've started asking them which of those features can be implemented in the next 30 minutes.&lt;/span&gt;  &lt;span style="font-family:verdana;"&gt;Consciously they've chosen the first feature. &lt;/span&gt;  &lt;span style="font-family:verdana;"&gt;Before analyzing the Sprint Backlog of the selected featured with them I tried to do an Experiment about the Empirical Approach.&lt;/span&gt;  &lt;span style="font-family:verdana;"&gt;To do this I've given a complexity rate of five points priority to the first feature and asked them to rate all the requested feature without thinking to much. Exercise took 3 minutes.&lt;/span&gt;  &lt;span style="font-family:verdana;"&gt;- Second complexity was: 15 points of complexity;&lt;/span&gt; &lt;span style="font-family:verdana;"&gt;- Third complexity was: 25 points of complexity;&lt;/span&gt; &lt;span style="font-family:verdana;"&gt;- Fourth complexity was: 45 points of complexity.&lt;/span&gt;  &lt;span style="font-family:verdana;"&gt;Having the feeling they can do five complexity each "sprint" I assumed a team velocity of five points of complexity per sprint. &lt;/span&gt; &lt;span style="font-family:verdana;"&gt;This mean that:&lt;/span&gt; &lt;span style="font-family:verdana;"&gt;- Second feature is approximatively estimated three sprints;&lt;/span&gt; &lt;span style="font-family:verdana;"&gt;- Third feature is approximatively estimated five sprints;&lt;/span&gt; &lt;span style="font-family:verdana;"&gt;- Fourth complexity is approximatively estimated nine sprints.&lt;/span&gt;  &lt;span style="font-family:verdana;"&gt;Well the possible feature I asked them to estimate was the four cities I've touched coming back home and they gave me a reasonable idea of how many time or sprints it takes to get back.&lt;/span&gt;  &lt;span style="font-family:verdana;"&gt;The surprise is that, even the team doesn't know some of the place (third and fourth), they did a reasonable plan making me think that from Florence to home it takes 4.30 hours.  &lt;/span&gt;  &lt;span style="font-family:verdana;"&gt;Well it has taken 4 hours and 15 minutes.&lt;/span&gt;  &lt;span style="font-family:verdana;"&gt;The magic is they've said 45. Why they haven't said 100 or 1000 or 10000?&lt;/span&gt;  &lt;span style="font-family:verdana;"&gt;This empirical approach work because, there's no machine, no algorithms that predict things. There is a key element that is a Sum Of Super Computer that is the group and their brain. They did the estimation thinking about their experience discussing each other and sharing knowledge. They superiority - in respect of computers and algorithms - is the ability to think by metaphors and to regulate optimistic and pessimistic position in an intelligent discussion.&lt;/span&gt;  &lt;span style="font-family:verdana;"&gt;Becoming familiar with estimation like this need time, than experience. It was the first time they did an empirical estimation and they still think there a sort of trick behind. It's shocking how could be easy to give a projection on how things empirically will go. Every sprint they will commit their velocity, and every sprint their knowledge increase making complexity simpler and having things optimized on the experience.&lt;/span&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/18112536/posts/default/5129589146354057406?v=2'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/18112536/posts/default/5129589146354057406?v=2'/><link rel='alternate' type='text/html' href='http://fmondora.mondora.com/2008/04/why-empirical-management-works.html' title='Why empirical management works?'/><author><name>Frank Mondora</name><uri>http://www.blogger.com/profile/12312911649522678625</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='23' height='32' src='http://3.bp.blogspot.com/_iDnpW2--Di4/SMc-e59ijwI/AAAAAAAAAFs/pUy6QiNHZ-g/S220/toxXyz4PST3Eh6CQuZdcPbiyVfLHRzO4.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_iDnpW2--Di4/SAxOdQ1ECuI/AAAAAAAAAAw/etM6mbcO2KM/s72-c/flock-00.jpg' height='72' width='72'/></entry><entry gd:etag='W/&quot;AkcARXg5eSp7ImA9WxRbGE4.&quot;'><id>tag:blogger.com,1999:blog-18112536.post-4235021746272448451</id><published>2008-04-15T14:52:00.000+02:00</published><updated>2008-12-09T16:54:04.621+01:00</updated><app:edited xmlns:app='http://www.w3.org/2007/app'>2008-12-09T16:54:04.621+01:00</app:edited><category scheme='http://www.blogger.com/atom/ns#' term='agile'/><category scheme='http://www.blogger.com/atom/ns#' term='product backlog'/><category scheme='http://www.blogger.com/atom/ns#' term='estimation'/><category scheme='http://www.blogger.com/atom/ns#' term='scrum'/><category scheme='http://www.blogger.com/atom/ns#' term='priorities'/><title>On Priorities with Scrum: a Product Backlog with Penalties and Benefits</title><content type='html'>&lt;div style="text-align: justify;"&gt;&lt;span style="font-family:verdana;"&gt;One of the worst thing is when you're facing a customer with no idea which feature must be implemented before the others.&lt;/span&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_iDnpW2--Di4/SASepdGpz4I/AAAAAAAAAAo/dZj2pdjwatk/s1600-h/Priorities.gnp"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 326px; height: 126px;" src="http://1.bp.blogspot.com/_iDnpW2--Di4/SASepdGpz4I/AAAAAAAAAAo/dZj2pdjwatk/s320/Priorities.gnp" alt="" id="BLOGGER_PHOTO_ID_5189447105662013314" border="0" /&gt;&lt;/a&gt;&lt;span style="font-family:verdana;"&gt;The question is, how can I help a customer in figuring out the 20% of feature is doing the 80% of business each iteration and sprint over spring she realizes the most important feature for the next iteration.&lt;/span&gt;  &lt;span style="font-family:verdana;"&gt;At beginning, I've started asking to complete on a basis of 10 points. Each feature where 0 is the LOW priority and 10 is the MAX Priority. After raw estimation on how complex is the feature, I figured out an ordered Product Backlog with lots of  MAX priority feature and the priorly implemented are the minor complex one and then move again.&lt;/span&gt;  &lt;span style="font-family:verdana;"&gt;With this approach, I discovered there's no rationales on the Product Owner side to decide what is really need priorly.&lt;/span&gt;  &lt;span style="font-family:verdana;"&gt;Well, after lots of thinking I've tried to formalize a mechanism that push the Product Owner to think about the Benefits on having the feature and the Penalties on not having it. With this approach, I've pushed the Product Owner mindset from a selectable option to a selection on consideration.&lt;/span&gt;  &lt;span style="font-family:verdana;"&gt;When thinking, I found an Algorithm similar to the "Wiegers Relative Weighting Approach" where I computed which is the less complex feature with major benefits and minor penalties.&lt;/span&gt;  &lt;span style="font-family:verdana;"&gt;Three variables influence the priority:&lt;/span&gt;  &lt;/div&gt;&lt;ul style="text-align: justify;"&gt;&lt;li&gt;&lt;span style="font-family:verdana;"&gt;    the Benefits of having the feature;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-family:verdana;"&gt;    the Penalty of not having the feature;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-family:verdana;"&gt;    the Estimation (I prefer Complexity - but is another thing) of the feature&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div style="text-align: justify;"&gt; &lt;span style="font-family:verdana;"&gt;The priority is computed on:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: left;"&gt;&lt;span style="font-family:verdana;"&gt;priority = [(relative benefit + relative penalty) / (sum of relative benefit + sum of relative penalty)] / ( relative estimation / sum of relative estimation) &lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;The bigger priority is the most important feature in terms of easiness, penalty, and benefit.&lt;/span&gt;  &lt;span style="font-family:verdana;"&gt;In this way, I discovered that Product Owners put in an ordered way their Feature List.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;font-family:verdana;" &gt;Endnotes&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;It is useful to work with this approach on attributing priorities. Product Owner works on the Product Backlog and integrate the new feature with this approach and reorder them. This is how a team should commit on a bunch of feature that is really valuable for the Customer.&lt;/span&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/18112536/posts/default/4235021746272448451?v=2'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/18112536/posts/default/4235021746272448451?v=2'/><link rel='alternate' type='text/html' href='http://fmondora.mondora.com/2008/03/on-priorities-with-scrum-product.html' title='On Priorities with Scrum: a Product Backlog with Penalties and Benefits'/><author><name>Frank Mondora</name><uri>http://www.blogger.com/profile/12312911649522678625</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='23' height='32' src='http://3.bp.blogspot.com/_iDnpW2--Di4/SMc-e59ijwI/AAAAAAAAAFs/pUy6QiNHZ-g/S220/toxXyz4PST3Eh6CQuZdcPbiyVfLHRzO4.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_iDnpW2--Di4/SASepdGpz4I/AAAAAAAAAAo/dZj2pdjwatk/s72-c/Priorities.gnp' height='72' width='72'/></entry><entry gd:etag='W/&quot;DUMGQH4zeSp7ImA9WxZbEUg.&quot;'><id>tag:blogger.com,1999:blog-18112536.post-5649925841647106526</id><published>2008-04-06T08:00:00.000+02:00</published><updated>2008-04-14T09:17:01.081+02:00</updated><app:edited xmlns:app='http://www.w3.org/2007/app'>2008-04-14T09:17:01.081+02:00</app:edited><category scheme='http://www.blogger.com/atom/ns#' term='agile'/><category scheme='http://www.blogger.com/atom/ns#' term='stress'/><category scheme='http://www.blogger.com/atom/ns#' term='scrum'/><title>Thought on how Scrum is addressing Stress.</title><content type='html'>&lt;span style="font-family:verdana;"&gt;In the next 2 weeks, I'll have to present Scrum in a Scrum Session in Florence. I'm thinking to focus on kinds of management Scrum can do:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;span style="font-family:verdana;"&gt;    formal side where task are clearly identified at the beginning, clearly estimated and clearly track in a day by day basis having all the Scrum Archetypes delivered;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-family:verdana;"&gt;    process side where all the parties involved in Scrum become active parts in a production chain, having the all the Scrum Events implemented;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-family:verdana;"&gt;    informal side having a way to address how relationship works and influences works&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;Formal and process is addressed by the Scrum methodology having the right role working with the right criteria and following the right Objective. There is ton of documentation explaining how to build a Scrum process in an organization.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;Working since several years with Scrum as a Scrum Master and watching team deep dynamics, I've found that burndown chart can reveal more than the status of the delivery.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;In modern project managing techniques, project is only managed watching Gantt diagram having relation between phases connected. On the Gantt bar there's no confidence on how really the project is going; this because feedback is managed by a stakeholder, typically a project manager, and are not managed by the team.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;Stress in the same way is not addressed letting team to self organize without a Criteria and having it emphasized last at the end.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;By self-managing, a team is planning in terms of hours how the sprint will be conducted in terms of task to be accomplished, of issues and of assumption.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;By outlining a Sprint Backlog where members some hidden information can be revealed. I think Stress is one of those.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;Stress like other "energies" is something that, consciously, a team spends to accomplish a Sprint Goal.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;The total amount of hours identified at the sprint planning meeting can be thought as the energy to be spent and energy focuses on pressure and pressure focuses on stress.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;So a burndown chart can be seen as the project addressable stress, and an ideal curve from the beginning to the end of the sprint should be the ideal leveling of stress during days.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;A Sprint Backlog task is coming from a prioritized Product Backlog; the first task refers to the most important feature to be implemented and the more stressing feature for the customer point of view.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;By anticipating stress resolution, stress decreases while each task is done and each feature is completed. The next feature is less "important" than the previous with directs implications on stress.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;A scrum master should point out that having a&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;span style="font-family:verdana;"&gt;    product backlog prioritized&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-family:verdana;"&gt;    sprint backlog discussed in terms of hours (4 to 10 each task)&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-family:verdana;"&gt;    daily scrum&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-family:verdana;"&gt;    daily updated Sprint Backlog&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;is not addressed only the delivery of the project, but it is delivered the consistency of a team in term of psychological health.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;I'm not a psychologist, but I'm searching a way to improve team day by day living to work better in a stress free environment.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;font-family:verdana;" &gt;Endnotes&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;The team is focusing on Phase Archetypes because they continuously increase focuses every time on what bring them out of burning. Common Objectives are lost against Phase Objectives. Without the right priority and without the right self-management strategy, team is move to do fancy stuff at the beginning and run faster at the end spending all the energies, creating pressure and then moving  to a negative environment.&lt;/span&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/18112536/posts/default/5649925841647106526?v=2'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/18112536/posts/default/5649925841647106526?v=2'/><link rel='alternate' type='text/html' href='http://fmondora.mondora.com/2008/04/thought-on-how-scrum-is-addressing.html' title='Thought on how Scrum is addressing Stress.'/><author><name>Frank Mondora</name><uri>http://www.blogger.com/profile/12312911649522678625</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='23' height='32' src='http://3.bp.blogspot.com/_iDnpW2--Di4/SMc-e59ijwI/AAAAAAAAAFs/pUy6QiNHZ-g/S220/toxXyz4PST3Eh6CQuZdcPbiyVfLHRzO4.jpg'/></author></entry><entry gd:etag='W/&quot;AkcARXYzeip7ImA9WxRbGE4.&quot;'><id>tag:blogger.com,1999:blog-18112536.post-1392518041303303514</id><published>2008-04-01T08:03:00.000+02:00</published><updated>2008-12-09T16:54:04.882+01:00</updated><app:edited xmlns:app='http://www.w3.org/2007/app'>2008-12-09T16:54:04.882+01:00</app:edited><category scheme='http://www.blogger.com/atom/ns#' term='scaling'/><category scheme='http://www.blogger.com/atom/ns#' term='oblique scaling'/><category scheme='http://www.blogger.com/atom/ns#' term='hp'/><category scheme='http://www.blogger.com/atom/ns#' term='sense'/><title>Oblique Scaling™</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_iDnpW2--Di4/R_Hkg8-rSoI/AAAAAAAAAAc/OPtv9Hpidy4/s1600-h/2378904783_51bace6919.jpg"&gt;&lt;img style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer;" src="http://2.bp.blogspot.com/_iDnpW2--Di4/R_Hkg8-rSoI/AAAAAAAAAAc/OPtv9Hpidy4/s200/2378904783_51bace6919.jpg" alt="" id="BLOGGER_PHOTO_ID_5184175900856109698" border="0" /&gt;&lt;/a&gt;&lt;div style="text-align: justify;"&gt;I'm just back after a weekend on the snow, and I'm happy to know that Oblique Scaling is producing the correct result in mondora.com. &lt;a href="http://www.mondora.com/"&gt;Mondora&lt;/a&gt;'s engineers thought Hardware could be thought as Software, like Virtualization does. &lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Having &lt;a href="http://www.mondora.com/sense"&gt;Sense&lt;/a&gt; as a common infrastructure, they've just released a component called Scent that meets Hardware availability and Software suffering. &lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;During last past 2 weeks they stressed the Sense Workshop on a 4 core HP starting with 1 core switched on and the rest switched off. An endurance test of 12 hours  has been run, to check how Sense self regulate having Hardware considered as an High Available Service with an identified Service Level Agreement.  &lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;When system increased in suffering by switching from good Service status to worst, Sense has anticipated lack of performance by working with the Hardware Virtualization Platform and asking to Scale Up.&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;In terms of Business, benefits gained are:&lt;/div&gt;&lt;div&gt;&lt;ol&gt;&lt;li&gt;This approach that Predict system performances and do some actions to make the system surviving.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;This approach let to Scale when unpredictable things occurs. This is the case of a Campaign that is producing more than the expectation and if the system is not adaptive, Campaign is loosing all the Customer, both the predicted and the unpredicted.&lt;/li&gt;&lt;/ol&gt;&lt;div&gt;In terms of Manageability, benefits gained are:&lt;/div&gt;&lt;div&gt;&lt;ol&gt;&lt;li&gt;Vertical Scaling is predicted by Application Constraints and matched with Hardware Service Status&lt;/li&gt;&lt;li&gt;Policy can be configured (ex. switch a CPU after a 15 minutes of suffering)&lt;/li&gt;&lt;li&gt;Scaling policies are described as Algorithms and implements different strategy. This let to configure a strategy where network latency is compared with Service metrics. By comparing &lt;a href="http://www.mondora.com/sense"&gt;Sense&lt;/a&gt; can avoid Horizontal Scaling versus Vertical Scaling&lt;/li&gt;&lt;/ol&gt;&lt;div&gt;In terms of Development, Hardware is saw as a Service itself and can be allocated runtime when business constraints need it, like another Service on the Net.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;By having this building block certified, &lt;a href="http://www.mondora.com/sense"&gt;Sense&lt;/a&gt; is becoming a real implementation of a Future SOA where Services:&lt;/div&gt;&lt;div&gt;&lt;ul&gt;&lt;li&gt;are available over the network in a cluster environment&lt;/li&gt;&lt;li&gt;are self federating&lt;/li&gt;&lt;li&gt;are balancing on SLA policies&lt;/li&gt;&lt;li&gt;are balancing on Business Constraints by flocking&lt;/li&gt;&lt;li&gt;can balance on most productive in terms of ROI &lt;/li&gt;&lt;li&gt;are multi protocol invokable&lt;br /&gt;&lt;/li&gt;&lt;li&gt;can be perceived from the outside environment as inside components&lt;/li&gt;&lt;li&gt;are physical resources&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;This is a really implementation of what SOA can be.&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://fmondora.mondora.com/feeds/1392518041303303514/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://fmondora.mondora.com/2008/03/oblique-scaling.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/18112536/posts/default/1392518041303303514?v=2'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/18112536/posts/default/1392518041303303514?v=2'/><link rel='alternate' type='text/html' href='http://fmondora.mondora.com/2008/03/oblique-scaling.html' title='Oblique Scaling™'/><author><name>Frank Mondora</name><uri>http://www.blogger.com/profile/12312911649522678625</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='23' height='32' src='http://3.bp.blogspot.com/_iDnpW2--Di4/SMc-e59ijwI/AAAAAAAAAFs/pUy6QiNHZ-g/S220/toxXyz4PST3Eh6CQuZdcPbiyVfLHRzO4.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_iDnpW2--Di4/R_Hkg8-rSoI/AAAAAAAAAAc/OPtv9Hpidy4/s72-c/2378904783_51bace6919.jpg' height='72' width='72'/><thr:total>0</thr:total></entry></feed>