<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-4781353007786153257</id><updated>2011-10-31T08:44:50.031+02:00</updated><category term='Introduction'/><category term='Visual Studio'/><category term='responsibility'/><category term='challenge'/><category term='synergy'/><category term='Microsoft'/><category term='negotiations'/><category term='skills'/><category term='Architecture'/><category term='Spit and Polish'/><category term='collaboration'/><category term='.Net'/><category term='customer'/><category term='competition'/><category term='JIRA Studio'/><category term='environment'/><category term='Firewall'/><category term='risk'/><category term='IDE'/><category term='presentation'/><category term='motivation'/><category term='mouse'/><category term='agile'/><category term='metrics'/><category term='analysis'/><category term='Console'/><category term='requirements analysis'/><category term='keyboard'/><category term='macro'/><category term='product owner'/><category term='fixed-priced'/><category term='usability'/><category term='advanced search'/><category term='corporation'/><category term='idea'/><category term='account management'/><category term='Internet'/><category term='login'/><category term='functionality'/><category term='Java'/><category term='user management'/><category term='real values'/><category term='C#'/><category term='publicity'/><category term='collective opinion'/><category term='languages'/><category term='search'/><category term='team'/><category term='antipatterns'/><category term='advanced user'/><category term='project'/><category term='requirements'/><category term='clipboard'/><category term='Reputation'/><category term='postgre'/><category term='bureaucracy'/><category term='management'/><category term='ethic'/><title type='text'>Atriplex' IT thoughts</title><subtitle type='html'>Professional in being amateur. Amateur in being professional ...</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://atriplex-on-software.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4781353007786153257/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://atriplex-on-software.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>atriplex</name><uri>http://www.blogger.com/profile/16799679805742536429</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>29</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-4781353007786153257.post-673835606948025076</id><published>2009-09-20T11:09:00.007+03:00</published><updated>2009-09-20T11:38:17.161+03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='agile'/><category scheme='http://www.blogger.com/atom/ns#' term='real values'/><category scheme='http://www.blogger.com/atom/ns#' term='idea'/><title type='text'>The Age of Idea</title><content type='html'>Dear visitor,&lt;br /&gt;&lt;br /&gt;     I didn't write to this blog since April, because I was quite busy in trips and different kind of conferences. But them most valuable thought(s) I heard yesterday. There were few world-wide recognized men on &lt;a href="http://agileee.org"&gt;AgileEE&lt;/a&gt;, who as I believed were steering the world of Agile. We were talking about generating and evaluating new ideas. I was especially active at this topic following the principle&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;em&gt;listen more, speak less, write even less&lt;/em&gt;&lt;/blockquote&gt;&lt;br /&gt;I have heard many valuable thought regarding this topic, but one thought which was exposed by Mr. X was outstanding. I suddenly realized how complements it all I knew before and understood that now I am possessing something really brand new, something that never was expressed before.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;When do idea come?&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://1.bp.blogspot.com/_bQLGP3VWnWw/SrXlcT5IocI/AAAAAAAAJQA/odpLjKcheds/s320/idea_small.jpg"&gt;&lt;img style="float:right; margin:0 0 10px 10px;cursor:pointer; cursor:hand;width: 318px; height: 290px;" src="http://1.bp.blogspot.com/_bQLGP3VWnWw/SrXlcT5IocI/AAAAAAAAJQA/odpLjKcheds/s320/idea_small.jpg" border="0" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://en.wikipedia.org/wiki/J._B._Rainsberger"&gt;J. B. Rainsberger&lt;/a&gt; after this conference told that ideas never come over night, or they really can after 20 years of a hard work. Another guru named &lt;a href="http://www.nofluffjuststuff.com/conference/speaker/david_hussman.html"&gt;Davis Hussman&lt;/a&gt; told that brilliant ideas difficult to recognize as long as you haven't started them. I would like to rephrase what he said:&lt;br /&gt;&lt;blockquote&gt;How many musicians can take note sheet and say "&lt;em&gt;This is gonna be a good melody&lt;/em&gt;" before playing it. And there are as few people as people who can take a look on specification and say "&lt;em&gt;This is gonna be a good product!&lt;/em&gt;"&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;And the most interesting thing Mr. X told me after the conference personally:&lt;br /&gt;Normally there is just one good idea comes to single person in a lifetime. Days when there were people who was capable to generate million ideas are gone. I saw you got excited about your new idea, so guess you should stick to it, dedicate some web-site, blog, seminar, try it for some project ...&lt;br /&gt;&lt;br /&gt;Yes, people, know I have an idea. My time is comming!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4781353007786153257-673835606948025076?l=atriplex-on-software.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4781353007786153257/posts/default/673835606948025076'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4781353007786153257/posts/default/673835606948025076'/><link rel='alternate' type='text/html' href='http://atriplex-on-software.blogspot.com/2009/09/age-of-ideas.html' title='The Age of Idea'/><author><name>atriplex</name><uri>http://www.blogger.com/profile/16799679805742536429</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_bQLGP3VWnWw/SrXlcT5IocI/AAAAAAAAJQA/odpLjKcheds/s72-c/idea_small.jpg' height='72' width='72'/></entry><entry><id>tag:blogger.com,1999:blog-4781353007786153257.post-7302671165045611731</id><published>2009-04-28T16:27:00.003+03:00</published><updated>2009-04-28T16:37:27.066+03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='management'/><category scheme='http://www.blogger.com/atom/ns#' term='account management'/><category scheme='http://www.blogger.com/atom/ns#' term='team'/><category scheme='http://www.blogger.com/atom/ns#' term='project'/><category scheme='http://www.blogger.com/atom/ns#' term='bureaucracy'/><title type='text'>Dedicated to Account Managers</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_bQLGP3VWnWw/SfcGTSuh3TI/AAAAAAAAFcU/Er0AmdaNUv8/s1600-h/accountManager.jpg"&gt;&lt;img style="float:right; margin:0 0 10px 10px;cursor:pointer; cursor:hand;width: 245px; height: 280px;" src="http://4.bp.blogspot.com/_bQLGP3VWnWw/SfcGTSuh3TI/AAAAAAAAFcU/Er0AmdaNUv8/s320/accountManager.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5329735612530548018" /&gt;&lt;/a&gt;&lt;br /&gt;Finally, the day came, when my career at HindiBrain is over. HindiBrain rather differs from anything before I have seen. &lt;br /&gt;&lt;br /&gt;I remember my first question when I was employed here. The lady who came up with job offer called herself “account manager”. So I naturally asked “What does account manager?” How strange that I didn’t get strict answer until the very end of staying there.&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;So what is behind this peculiar position?&lt;/h3&gt;&lt;br /&gt;There is an explanatory document inside local wiki-look-like knowledge base (one of those funny documents which usually are NEVER read by anyone except who wrote them). I read that document twice, than another time … I concluded I’m lucky to find the most favorite position in our organization. Would you like to ask me why it’s the most favorite?&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;List of responsibilities&lt;/span&gt; is pretty obscure, but it generally covers business and relationship development but excludes &lt;span style="font-style:italic;"&gt;delivery satisfaction scores&lt;/span&gt; from the partner as well as &lt;span style="font-style:italic;"&gt;team satisfaction&lt;/span&gt;. So if I not mistaken everything that needed from site of AM is to check budget calculations and keep customer’s mood in fit. And only first is more or less measurable. The latter always can be appealed to delivery satisfaction scores, team satisfaction or “unfavorable environment”. It’s quite challenging to imagine situation when account manager will have to admit that customer dissatisfaction is only his fault and caused neither by deliver nor by bad team spirit.&lt;br /&gt;&lt;br /&gt;Another advantage of this position is &lt;span style="font-weight:bold;"&gt;authority level&lt;/span&gt;: It’s equal to top management and can get any project related information. &lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Administrative power&lt;/span&gt; is substantial: development team has to submit the orders of AM irrespective to current state of the project and direct agreements with customer.&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;List of activities&lt;/span&gt; are narrowed by book-keeping and negotiations, activities like requirement analysis, development and acceptance testing is omitted.&lt;br /&gt;And the final &lt;span style="font-weight:bold;"&gt;responsibility note&lt;/span&gt; (my favorite): The activities above do not necessary mean that AM is doing all of them, yet, it means that AM takes the ownership of these items and is primarily responsible for their successful completion. He/she may delegate the particular tasks to particular people within the delivery organization. So the precious thing is freedom to choose what you’d like to be responsible for …&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;How to become account manager?&lt;/h3&gt;&lt;br /&gt;You have to be good negotiator and avoid conflicts. Popular opinion among top manager is that this person should be capable to manager multiple projects (don’t forget to include this to CV), be able to speak with managers by using their slang (keep in mind all teams from UAT to CMMI). To some extend organization should trust that man, who is going to be account manager, which is gained by month of work on similar position within organization. This work is normally quite distant from team players and even if you are so lucky to become AM very quickly technical and team leading background is decaying and become weak by that time. &lt;br /&gt;It was funny when AM was claiming to improve team’s performance on 20% just by introducing man responsible for configuration management. Indeed so funny when you’re in team, but customer usually gets better to see something is changed in development team during time of uncertainty.&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;Ultimate Yes-man.&lt;/h3&gt;&lt;br /&gt;Well why organization keeps position of secretaries with salary of top managers?&lt;br /&gt;Directors are also people and do not like responsibility, so it’s better to have someone associated with account better than associate accounts with themselves. Customers are always complaining about something and there is necessary to have single contact to them&lt;br /&gt;One of the top managers called this position “backdoor” for the customer. Customer should be sure that there is always another way to get things done. Getting things done in this case is normally to get something team can’t commit or deliver. This normally means to break existing agreements with team.&lt;br /&gt;For instance, customer wants more features within the same time frame. Team always says: well, it’s possible, but we have already plan, so you have to  provide us feature we can drop. On another hand, AM always says big solid “Yes” and try to handle something on team level. I don’t know the reason, but AM and management in this organization does believe that there are always methods to increase delivery output immediately. It’s very dubious especially if you keep in mind that there are two levels of management (project managers and team leads) who suppose to increase output on daily basis.&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;Can this job be done without jeopardizing team efforts?&lt;/h3&gt;&lt;br /&gt;Well, I know teams usually are not perfect, sometimes they really need some external help to improve their capacities. But this is challenging task for different people, so AM can do literally nothing. It’s better to assume that:&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_bQLGP3VWnWw/SfcGKpc1Q1I/AAAAAAAAFcM/emUgVoUbfOw/s1600-h/pin.jpg"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 105px; height: 77px;" src="http://1.bp.blogspot.com/_bQLGP3VWnWw/SfcGKpc1Q1I/AAAAAAAAFcM/emUgVoUbfOw/s320/pin.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5329735464011514706" /&gt;&lt;/a&gt;&lt;span style="font-style:italic;"&gt;There is no way to immediately increase team performance in 10%&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;I know one organization about the same size as HindiBrain. They have just one account manager responsible for customer negotiations while we have dozen. Now in crisis their business is expanding, ours is shrinking. Just ask me why …&lt;br /&gt;Their account manager has no power over teams at all. And he has no doubt that customer may have minor report about underlying projects, so he is doing only one way: reveal delivery scores and reconcile customer moods. So if customer comes up with statement “Your team is a bunch of the lazy piglets! You have to whip them properly!” is treated not as action item to perform Chrystal Nacht at team side, but as bad mood of customer. Assuming this by man with excellent negotiation skills can be very useful in organization ...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4781353007786153257-7302671165045611731?l=atriplex-on-software.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4781353007786153257/posts/default/7302671165045611731'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4781353007786153257/posts/default/7302671165045611731'/><link rel='alternate' type='text/html' href='http://atriplex-on-software.blogspot.com/2009/04/dedicated-to-account-managers.html' title='Dedicated to Account Managers'/><author><name>atriplex</name><uri>http://www.blogger.com/profile/16799679805742536429</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_bQLGP3VWnWw/SfcGTSuh3TI/AAAAAAAAFcU/Er0AmdaNUv8/s72-c/accountManager.jpg' height='72' width='72'/></entry><entry><id>tag:blogger.com,1999:blog-4781353007786153257.post-2743764193425687471</id><published>2009-03-30T13:27:00.008+03:00</published><updated>2009-03-30T16:41:56.439+03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='agile'/><category scheme='http://www.blogger.com/atom/ns#' term='Spit and Polish'/><category scheme='http://www.blogger.com/atom/ns#' term='management'/><category scheme='http://www.blogger.com/atom/ns#' term='responsibility'/><category scheme='http://www.blogger.com/atom/ns#' term='project'/><title type='text'>The gene of the irresponsibility</title><content type='html'>&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;One of quality engineers from my former team asked me a stunning question:&lt;br /&gt;&lt;blockquote&gt;&lt;span style="font-style:italic;"&gt;- How many hotfix iteration have you been doing on average before the major release?&lt;/span&gt;&lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;You know, there is a special context of that conversation about our project and team, which still continuing without me on board. It was hard to admit that we used to have no hotfix iterations at all. To be precise, assume that hotfix is &lt;span style="font-style:italic;"&gt;iteration when no functionality created, but rather fixed, visually improved or removed in order to keep software consistent and to not expose unfinished parts&lt;/span&gt;. In reality hotfixes became so usual recently that I didn't pay much attention that I had never done it. &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;After rushing weekend I can confess: People, indeed I didn't have ANY hotfix iteration. In fact, I can see no argument why any project or team should have such iterations. &lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_bQLGP3VWnWw/SdDKzP8SFcI/AAAAAAAAFFU/ELhYJSknR20/s1600-h/strategy2.GIF"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 320px; height: 228px;" src="http://1.bp.blogspot.com/_bQLGP3VWnWw/SdDKzP8SFcI/AAAAAAAAFFU/ELhYJSknR20/s320/strategy2.GIF" border="0" alt=""id="BLOGGER_PHOTO_ID_5318974141726070210" /&gt;&lt;/a&gt;&lt;br /&gt;Aren't you able to predict that some certain parts won't be completed before?&lt;br /&gt;Many will appeal to the hectic they suffer in the project and justify lack of strategic thinking. Still irrespective to what model did you choose agile or waterfall there are people whose primary responsibility is to make forecasts. So absence of any prediction can not be tolerated. Regarding our project I still have two arguments:&lt;br /&gt;&lt;br /&gt;1. &lt;span style="font-weight:bold;"&gt;There is a difference between biasing within one iteration and biasing over iterations&lt;/span&gt;: I can imagine why team committed to 23 tasks was managed to finish only 20. That's something that forms team performance (or in Agile terms - &lt;span style="font-style:italic;"&gt;velocity&lt;/span&gt;).&lt;br /&gt;But how can you (team, manager and product owner) do 3 iteration in line and then you need 2 more?&lt;br /&gt;2. &lt;span style="font-weight:bold;"&gt;We are talking about projects within one team and one product owner.&lt;/span&gt; New product implements functionality of the old one. Product owners and developers are mostly left unchanged. Users left the same. Even requirements can be reused. Only things were changed are technologies (I guess that's positive upgrade) and process (...)&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;alignment:center"&gt;Spit and polish in Software&lt;/span&gt; &lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_bQLGP3VWnWw/SdDIYPCSGvI/AAAAAAAAFFM/ftFioFgLDsc/s1600-h/shine-shoe.jpg"&gt;&lt;img style="float:right; margin:0 0 10px 10px;cursor:pointer; cursor:hand;width: 320px; height: 225px;" src="http://1.bp.blogspot.com/_bQLGP3VWnWw/SdDIYPCSGvI/AAAAAAAAFFM/ftFioFgLDsc/s320/shine-shoe.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5318971478603078386" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;To my former NTSR project something called &lt;span style="font-style:italic;"&gt;spit and polish&lt;/span&gt; has been introduced. Spit and polish is an iteration task which includes resolution of minor troubles and fixes.&lt;br /&gt;Examples would be like incorrect rendering in webforms or some minor problems like only USD is supported (in control that suppose to have EUR and JPY).&lt;br /&gt;IMHO, this is our project's KNOW-HOW and arguably the most stupid practice I've seen in IT. Pragmatically I would say there are 2 negative things about &lt;span style="font-style:italic;"&gt;spit and polish&lt;/span&gt;: &lt;br /&gt;1) everything can be claimed as spit and polish. &lt;br /&gt;2) no one cares about time spent on that.&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;The latter requires certain explanations: In fact developers are do not putting much efforts to register hours for tasks pretended to be spit and polish. And what they definitely not do is to describe what exactly has been done within spit and polish (because - saving time on that is primary reason why do we have spit and polish).&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;But even if developers would be enough motivated to register time spent on that there is anyway deeper trouble ... From management perspective this time can be treated as nothing but direct loss: you can neither predict nor decompose this time. And that means that you can't do anything about it at all.&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;The root causes of this is going through human factor and dissolving somewhere in the deepest aspect of human psychology. Being forced to deliver faster, people tend to shrink their responsibilities. Manager who suggested to deliver the functionality first and then the quality does not care about quality at all. I remember remarkable &lt;a href="http://www.technologyreview.com/infotech/17831/?a=f"&gt;interview with Bjarne Stroustrup&lt;/a&gt; where he was saying&lt;br /&gt;&lt;blockquote&gt;In reality, that's impossible. People reward developers who deliver software that is cheap, buggy, and first.&lt;/blockquote&gt;&lt;br /&gt;I guess there is no hope that at some point the gene of the irresponsibility will be extinct. God has special providence for its adherents ...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4781353007786153257-2743764193425687471?l=atriplex-on-software.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4781353007786153257/posts/default/2743764193425687471'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4781353007786153257/posts/default/2743764193425687471'/><link rel='alternate' type='text/html' href='http://atriplex-on-software.blogspot.com/2009/03/gene-of-irresponsibility.html' title='The gene of the irresponsibility'/><author><name>atriplex</name><uri>http://www.blogger.com/profile/16799679805742536429</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_bQLGP3VWnWw/SdDKzP8SFcI/AAAAAAAAFFU/ELhYJSknR20/s72-c/strategy2.GIF' height='72' width='72'/></entry><entry><id>tag:blogger.com,1999:blog-4781353007786153257.post-7139270559449560866</id><published>2009-03-27T16:25:00.010+02:00</published><updated>2009-03-30T13:08:47.621+03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='JIRA Studio'/><category scheme='http://www.blogger.com/atom/ns#' term='postgre'/><category scheme='http://www.blogger.com/atom/ns#' term='collaboration'/><title type='text'>JIRA Studio tips</title><content type='html'>I used to work with &lt;a href="http://www.atlassian.com/studio/default.jsp"&gt;Atlassian JIRA Studio&lt;/a&gt;, which is from technical perspective the most developed project management environment. It provides immensely rich capabilities for iteration planning and for tracking. I can agree that sometimes it's very compicated to use it, since some of features need skillful approach to use them properly. As you can see in Atlassian &lt;a href="http://www.atlassian.com/studio/casestudies/secondmarket.jsp"&gt;case studies&lt;/a&gt; customers sometimes very happy to have professional environment for their professionals.&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.atlassian.com/hosted/studio/images/screenshot_main.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 362px; height: 275px;" src="http://www.atlassian.com/hosted/studio/images/screenshot_main.png" border="0" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;Customer's CEO persuaded that JIRA Studio saved up to 20% of time. But I'm pretty sure that with compliant approach you can have even greater advantage. Especially if you are technical professional and not scared with exploiting it.&lt;br /&gt;From management perspective the most informative thing is your dashboard. JIRA Studio is quite tolerant in providing information to everybody in team, but to collect it effectively is really important. And dashboard is either your favorite place already or... you should take care to make it your favorite place.&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_bQLGP3VWnWw/SczoixBpklI/AAAAAAAAFEE/PPVj-rn9VEk/s1600-h/configureSwitch.jpg"&gt;&lt;img style="float:right; margin:0 0 10px 10px;cursor:pointer; cursor:hand;width: 400px; height: 140px;" src="http://3.bp.blogspot.com/_bQLGP3VWnWw/SczoixBpklI/AAAAAAAAFEE/PPVj-rn9VEk/s400/configureSwitch.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5317880943991165522" /&gt;&lt;/a&gt;&lt;br /&gt;So, pay some attention to the switch on the left top. Managing dashboard allows you adding and customizing different portlets. Many of them are useful, but first thing you have to do is to remove surplus: keep here only information about 1-2 projects you really interested in.&lt;br /&gt;After you have released space you may want to populate it with useful information: It's better to replace projects portlet with single project portlet:&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_bQLGP3VWnWw/SczqJnCR55I/AAAAAAAAFEU/bNtWQSAjjKk/s1600-h/portletSelector.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 226px;" src="http://2.bp.blogspot.com/_bQLGP3VWnWw/SczqJnCR55I/AAAAAAAAFEU/bNtWQSAjjKk/s320/portletSelector.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5317882710835980178" /&gt;&lt;/a&gt;&lt;br /&gt;My favorite portlets are &lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Created vs Resolved Issues&lt;/span&gt; - this very good overall statistic for any project. Just try to guess how deep is rabbit's hole.&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Average Time in Status&lt;/span&gt; and &lt;span style="font-weight:bold;"&gt;Average Age&lt;/span&gt; - This allows you to define to keep in balance QA and development teams.&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Bamboo Plan Summary&lt;/span&gt; - yes, sure I always can view Bamboo's dashboard, but how good is to have everything on one page.&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Recent Changesets&lt;/span&gt; - good monitoring tool if developers lean to demonstrate their laziness.&lt;br /&gt;&lt;br /&gt;The disadvantage is that all this things (that belong to unexplored functionality) is badly supported and extremely slow. So after your Studio project exceeds 3000 issues you have to wait very long before you'll get dashboard statistics. Fortunately, dashboard can be interrupted anytime and there are workarounds to get summary you need.&lt;br /&gt;The key is to use {sql} and {sql-query} tags. This is not only very flexible mechanism to retrieve information from JIRA, but also unrelenting security violation (oops ...) This queries allows you to get any info directly from database. Even if it's restricted accordingly to security rights. For instance if you are restricted to view document named &lt;span style="font-style:italic;"&gt;Server access policies&lt;/span&gt;. All you need is to create page and put this wiki markup:&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;br /&gt;{sql:dataSource=ConfluenceDB|output=wiki|table=false}&lt;br /&gt;select bc.body from content c inner join bodycontent bc on c.contentid = bc.contentid&lt;br /&gt;where c.title = 'Server access policies'&lt;br /&gt;order by c.version desc limit 1&lt;br /&gt;{sql}&lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;Where ConfluenceDB is database name where all wiki pages are contained.&lt;br /&gt;&lt;br /&gt;But how to get information about Db objects? Well, you have to grow in postgre and learn JIRA database objects. The best way is too post this wiki page for everybody's disposal&lt;br /&gt;&lt;blockquote&gt;&lt;br /&gt;Let's use [DB Schema|http://confluence.atlassian.com/display/JIRA/Database+Schema] and [PostgreSQL|http://www.postgresql.org/docs/manuals/] to retrieve information from JIRA Studio.&lt;br /&gt;&lt;br /&gt;h5. How to get all databases&lt;br /&gt;{sql:dataSource=JiraDS}&lt;br /&gt;select datname from pg_database where datistemplate &lt;&gt; 't'&lt;br /&gt;{sql}&lt;br /&gt;&lt;br /&gt;h5. How to get all tables? {run:autorun=false|hideRun=false}&lt;br /&gt;{sql:dataSource=JiraDS|output=wiki}&lt;br /&gt;SELECT tablename FROM pg_tables WHERE tablename NOT LIKE 'pg_%' and tablename not like 'sql_%'&lt;br /&gt;order by tablename&lt;br /&gt;{sql}&lt;br /&gt;{run}&lt;br /&gt;&lt;br /&gt;h5. How to get all table columns? {run:autorun=false|hideRun=false|replace=tableName:jiraissue}&lt;br /&gt;{sql:dataSource=JiraDS|output=wiki}&lt;br /&gt;SELECT attname , pg_type.typname, atttypmod FROM pg_attribute, pg_type WHERE&lt;br /&gt;typrelid=attrelid AND typname = '$tableName' and attname not in ('tableoid', 'cmax', 'xmax', 'cmin', 'xmin', 'oid', 'ctid');&lt;br /&gt;{sql}&lt;br /&gt;{run}&lt;br /&gt;&lt;br /&gt;h5. How to get all tables from Confluence? {run:autorun=false|hideRun=false}&lt;br /&gt;{sql:dataSource=ConfluenceDS|output=wiki}&lt;br /&gt;SELECT tablename FROM pg_tables WHERE tablename NOT LIKE 'pg_%' and tablename not like 'sql_%'&lt;br /&gt;order by tablename&lt;br /&gt;{sql}&lt;br /&gt;{run}&lt;br /&gt;&lt;br /&gt;h5. How to get all table columns from Confluence? {run:autorun=false|hideRun=false|replace=tableName:content}&lt;br /&gt;{sql:dataSource=ConfluenceDS|output=wiki}&lt;br /&gt;SELECT attname , pg_type.typname, atttypmod FROM pg_attribute, pg_type WHERE&lt;br /&gt;typrelid=attrelid AND typname = '$tableName' and attname not in ('tableoid', 'cmax', 'xmax', 'cmin', 'xmin', 'oid', 'ctid');&lt;br /&gt;{sql}&lt;br /&gt;{run}&lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;For instance if you wish to know how many tasks assigned to your people and what are those tasks let's use this wiki markup&lt;br /&gt;&lt;blockquote&gt;Opened tasks:&lt;br /&gt;{sql:dataSource=JiraDS|output=wiki}&lt;br /&gt;SELECT pkey, issuestatus, summary, assignee, reporter FROM jiraissue where&lt;br /&gt;assignee in ('john', 'viktor', 'ashoka', 'kolyan', 'boss', 'vlado', 'kim')&lt;br /&gt;and issuestatus &lt;= 3&lt;br /&gt;{sql}&lt;br /&gt;&lt;br /&gt;How many tasks assigned with references to people:&lt;br /&gt;{sql:dataSource=JiraDS|output=wiki}&lt;br /&gt;SELECT '[~' || assignee || ']' as Assignee, Count(*) FROM jiraissue&lt;br /&gt;where assignee in ('john', 'viktor', 'ashoka', 'kolyan', 'boss', 'vlado', 'kim')&lt;br /&gt;and issuestatus &lt;= 3&lt;br /&gt;group by assignee&lt;br /&gt;{sql}&lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;The latter part is &lt;span style="font-style:italic;"&gt;undocumented functionality&lt;/span&gt; of JIRA, so it might be changed if JIRA Studio is updated.&lt;br /&gt;JIRA Studio is quite avarice to give information about itself. To get all information you have to trigger some exception inside: This differs from version to version but in most cases errors are connected with issue navigation. Fresh errors can be retrieved from &lt;a href="https://studio.atlassian.com/browse/JST"&gt;here&lt;/a&gt; &lt;br /&gt;&lt;br /&gt;There are many more tricks to make JIRA Studio to a dream collaboration tool.&lt;br /&gt;&lt;br /&gt;Grateful acknowledgments to &lt;a href="http://dmitra.com"&gt;Dmitra&lt;/a&gt; and Mykola R. who helped me very much in collecting information about JIRA Studio tips and tricks.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4781353007786153257-7139270559449560866?l=atriplex-on-software.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4781353007786153257/posts/default/7139270559449560866'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4781353007786153257/posts/default/7139270559449560866'/><link rel='alternate' type='text/html' href='http://atriplex-on-software.blogspot.com/2009/03/jira-studio-tips.html' title='JIRA Studio tips'/><author><name>atriplex</name><uri>http://www.blogger.com/profile/16799679805742536429</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_bQLGP3VWnWw/SczoixBpklI/AAAAAAAAFEE/PPVj-rn9VEk/s72-c/configureSwitch.jpg' height='72' width='72'/></entry><entry><id>tag:blogger.com,1999:blog-4781353007786153257.post-2624934696448435550</id><published>2009-03-09T01:08:00.009+02:00</published><updated>2009-03-09T13:53:02.808+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='search'/><category scheme='http://www.blogger.com/atom/ns#' term='publicity'/><category scheme='http://www.blogger.com/atom/ns#' term='Internet'/><category scheme='http://www.blogger.com/atom/ns#' term='Reputation'/><title type='text'>Internet dog</title><content type='html'>&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;I remember good old times when in the late 90s this image appears on my very first mailbox.&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://upload.wikimedia.org/wikipedia/en/f/f8/Internet_dog.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 300px; height: 335px;" src="http://upload.wikimedia.org/wikipedia/en/f/f8/Internet_dog.jpg" border="0" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;It wasn't as cute as any other jokes, but I remember that my conscience was totally agree on that: yes, said I, no one knows and nobody really cares who I am.&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Later on this message from the past is turning to be very dubious. Nowadays I'm convinced on Internet &lt;i&gt;anyone&lt;/i&gt; knows that you're dog. Moreover be sure, they know everything about you: how often you bark, how often are you beaten by your host, how many puppies you have. The reason?&lt;br /&gt;&lt;ol&gt;&lt;br /&gt;&lt;li&gt;Internet still makes you feel safe and carefree (It's better to say &lt;i&gt;careless&lt;/i&gt;) about your privacy&lt;/li&gt;&lt;br /&gt;&lt;li&gt; ... but becomes extremely effective in searching &lt;/li&gt;&lt;br /&gt;&lt;/ol&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;What if someone &lt;i&gt;cares&lt;/i&gt; to be aware who you are? I was amazed how much information people can learn about me just googling my name: my profiles in social networks, my articles, publications, connections, out-dated CVs ... I'm not sure that I can memorize all those things better ;)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;How about specialized services to get information about people? Recently I have discovered &lt;a href="http://pipl.com/"&gt;PIPL&lt;/a&gt;.&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Oh cool, here I can type e.g. name of my classmate and find extensive information that he was graduated his college, then was hired by Morgan Stanley, then in one year got fired with some peculiar circumstances ... &lt;br /&gt;Let me try to type my ex-girlfriend name: she's got married in USA and in two years got divorced (I can see it in her CVs). How about my former chief? My German language teacher? My friends? My enemies? &lt;br /&gt;Do I need to know all these things?&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_bQLGP3VWnWw/SbT5leeQ15I/AAAAAAAAE3k/gm3wl3EEMHk/s1600-h/PiplSearchEngine.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 98px;" src="http://4.bp.blogspot.com/_bQLGP3VWnWw/SbT5leeQ15I/AAAAAAAAE3k/gm3wl3EEMHk/s320/PiplSearchEngine.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5311144282807130002" /&gt;&lt;/a&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;In most cases information is scarce: most of people (fortunately to them) do not have adequate representation in Web. Wait a minute! What if I type my name?&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Woosh! Those people who created &lt;a href="http://pipl.com/"&gt;PIPL&lt;/a&gt; know their job well. And if you get embarrassed with result to the right side you can see proposal to &lt;i&gt;defend your reputation&lt;/i&gt;.&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Cool, isn't it? Have you ever though you have public reputation?&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_bQLGP3VWnWw/SbT-k5R41gI/AAAAAAAAE3s/10KQzOvqU1M/s1600-h/ReputationDefender_looking_for_myself.jpg"&gt;&lt;img style="float:right; margin:0 0 10px 10px;cursor:pointer; cursor:hand;width: 200px; height: 112px;" src="http://2.bp.blogspot.com/_bQLGP3VWnWw/SbT-k5R41gI/AAAAAAAAE3s/10KQzOvqU1M/s200/ReputationDefender_looking_for_myself.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5311149770381252098" /&gt;&lt;/a&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href="http://www.reputationdefender.com/"&gt;Reputation defender&lt;/a&gt; will be happy to track news, messages, comments, suggestions and rumors about you from your lyceum's alumni journal to Forbes and Wall Street Journal in order to defend your reputation.&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Embracing Agile ideas I never think that openness and transparency is bad thing. And now I didn't change my mind. All you need to know is that you're responsible for your representation from the very beginning of your career and you only who cares about your privacy. In XXI century no one can expect that information told to someone or written somewhere will be not exposed to publicity. Whatever it was living journal, facebook or your profile at gay-portal.&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;That's shocking, but not as bad as it seems to be at first site. Although many people will suffer from this, in most cases they are just people who are succeed in trying to be better than they are. No mercy to them. In most cases no one need to slander your name and you will have more or less adequate self-portrait in public sources&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_bQLGP3VWnWw/SbUA13fM0wI/AAAAAAAAE30/noUGUMVzlco/s1600-h/bigbrother.JPG"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 271px; height: 308px;" src="http://3.bp.blogspot.com/_bQLGP3VWnWw/SbUA13fM0wI/AAAAAAAAE30/noUGUMVzlco/s400/bigbrother.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5311152260981248770" /&gt;&lt;/a&gt;&lt;br /&gt;Have a nice day!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4781353007786153257-2624934696448435550?l=atriplex-on-software.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4781353007786153257/posts/default/2624934696448435550'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4781353007786153257/posts/default/2624934696448435550'/><link rel='alternate' type='text/html' href='http://atriplex-on-software.blogspot.com/2009/03/internet-dog.html' title='Internet dog'/><author><name>atriplex</name><uri>http://www.blogger.com/profile/16799679805742536429</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_bQLGP3VWnWw/SbT5leeQ15I/AAAAAAAAE3k/gm3wl3EEMHk/s72-c/PiplSearchEngine.jpg' height='72' width='72'/></entry><entry><id>tag:blogger.com,1999:blog-4781353007786153257.post-3070149990286905585</id><published>2009-03-07T16:03:00.006+02:00</published><updated>2009-03-10T08:31:58.122+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Java'/><category scheme='http://www.blogger.com/atom/ns#' term='C#'/><category scheme='http://www.blogger.com/atom/ns#' term='.Net'/><category scheme='http://www.blogger.com/atom/ns#' term='languages'/><title type='text'>C# vs. Java. Slight differences</title><content type='html'>So, there is a one month passed since I became Java developer ...&lt;br /&gt;&lt;br /&gt;Long before I've started to develop something essential on Java, this language invoked very contradicting thoughts in my mind. &lt;br /&gt;&lt;br /&gt;In early 2005 when I have started my career in IT, I've started mainly with VB and C#, but there were dozen of languages I used as supplementary: Python, Perl, PHP, VBScript, JavaScript, batch, NAnt scripts and so on. Among them Java turned to be something prominent. Since it was and is &lt;i&gt;lingua franca&lt;/i&gt; of IT industry I extensively used literature and articles written by Java developers and architects. Even if they were created to be used by exclusively Java teams. Thus besides Anders Hejlsberg and Andrew Troelsen not only people like Martin Fowler and Mike Cohn, but also Craig Larman and Bruce Eckel became my masterminds in IT branch. Later on when I grown up enough to make presentations how to do software and how not to do I was leaning to make code snippets either Java, still being quite distant from development in Java itself. But to be honest I was never felt uncomfortable talking to my colleagues in Java. Java and C# is in fact very close to each other, but there is one more peculiarity that makes couple Java-C# very similar to language couples: C# developers normally better understood Java then vice versa.&lt;br /&gt;&lt;br /&gt;Now when I delved deeper into Java, I realize how many peculiarities in Java are actually different: Java has larger heritage from C++ then C#.&lt;br /&gt;&lt;br /&gt;In practice you can try to evaluate this code in both languages:&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;        &lt;br /&gt;        String a = "Falafel";&lt;br /&gt;        String c = "fel";&lt;br /&gt;        String b = "Fala" + c;&lt;br /&gt;        System.out.println(a == b);&lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;In C# you'll have to use System.Console.WriteLine instead of System.out.println&lt;br /&gt;In Java you'll get false, while in C# you'll get true. Why? Simply because Java compares addresses of a and b, while .Net compares content. You should use equals (before 1.6) and StringUtils (since 1.6) in Java to compare strings correctly.&lt;br /&gt;&lt;br /&gt;How about casting? Have you ever tried evaluate this expression&lt;br /&gt;&lt;blockquote&gt;&lt;br /&gt;(int)(char)(byte)-1&lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;Experienced Java developers will answer: (byte)-1 will cause overflow, so you might expect something like 65535 on the very end. C# gets obviously the same answer, but by default C# compiler refrains to compile such a mess. You'll be kindly asked to use unchecked option on your own risk:&lt;br /&gt;&lt;blockquote&gt;&lt;br /&gt;unchecked &lt;br /&gt;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;int i = (int)(char)(byte)-1&lt;br /&gt;}&lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;Working with numbers is very messy in Java (I will keep using references whenever I worked with arithmetic operations&lt;br /&gt;Hex number 0xfa1afe11 will output positive result in C#, but negative in Java. The reason is that hex number with leading 1 treat as negative.&lt;br /&gt;Floats can also challenge you: Java expression &lt;br /&gt;&lt;blockquote&gt;&lt;br /&gt;System.out.println(2 - 1.1);&lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;outputs 0.8999999999999999&lt;br /&gt;while in C# &lt;br /&gt;&lt;blockquote&gt;&lt;br /&gt;Console.WriteLine(2 - 1.1);&lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;gets 0.9&lt;br /&gt;&lt;br /&gt;&lt;i&gt;NB: I must admit, that in .Net trouble with floating point operations are not finally resolved (MathLab and Maple in any case do them better)&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;Java has special class BigDecimal to perform operations with additional precision or value, but you might be careful using them either. Don't you know what is the difference between two following expressions in Java&lt;br /&gt;&lt;blockquote&gt;&lt;br /&gt;        BigDecimal dec1 = new BigDecimal(.1);&lt;br /&gt;        BigDecimal dec2 = new BigDecimal(".1");&lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;Can't you guess?&lt;br /&gt;Oh, you might be surprised that first one will output huge ugly number&lt;br /&gt;&lt;blockquote&gt;&lt;br /&gt;0.1000000000000000055511151231257827021181583404541015625&lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;Gurus highly recommend to use constructor BigDecimal(String) and not convert primitives to BigDecimal directly&lt;br /&gt;&lt;br /&gt;Expressions like i = i + k; and i += k; are not equivalent in Java, although many Java developers think they are.&lt;br /&gt;&lt;br /&gt;In any case my way in Java has just begun and it will take couples month until I will be able to cause another overproduction crisis in IT ...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4781353007786153257-3070149990286905585?l=atriplex-on-software.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4781353007786153257/posts/default/3070149990286905585'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4781353007786153257/posts/default/3070149990286905585'/><link rel='alternate' type='text/html' href='http://atriplex-on-software.blogspot.com/2009/03/c-vs-java-slight-differences.html' title='C# vs. Java. Slight differences'/><author><name>atriplex</name><uri>http://www.blogger.com/profile/16799679805742536429</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-4781353007786153257.post-7778958010948852685</id><published>2009-02-20T00:14:00.005+02:00</published><updated>2009-02-20T00:31:18.713+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='challenge'/><category scheme='http://www.blogger.com/atom/ns#' term='management'/><category scheme='http://www.blogger.com/atom/ns#' term='motivation'/><title type='text'>Motivated by challenge</title><content type='html'>&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Today I was meeting a customer as the representative developer. Fact that I was invited against all odds flatters me much: it looks like representatives were carefully selected by our management. I would be probably not frank, if I say that there was either pure truth or barefaced lie. And for sure exposing here what exactly was wrong would be incorrect. But to my surprise all lies became innocent comparatively to one tremendous truth that I heard today.&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Customer representative asked our manager Ron how we keep our people motivated. And the Ron’s reply was like this: our people are usually inclined for challenges. It is like part of our national identity. Our people always want more and more “interesting” tasks. &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Was he wrong? I wish he was. I would like to see my colleagues more pragmatic. This contradicts some values, I used to follow. But I have never heard about IT business dismantled because of some evil will: it is always good intentions which put business on the way to destruction.&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;But he was more right then wrong! In reality every single day I confirm common truth: there are lots of people who are motivated by challenge. You can easily recognize them by their ambitions and deeds: They always commit before estimations, they overtime, they suffer, they estimate, they do, but then ... they commit again.&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dear Ron, I must admit, I’m not a person of that kind, although I still like challenges. Sometimes I can afford to resolve easy task by a difficult approach, just because I like it, but a difficult task will be never resolved by even more difficult approach: I’d better apply easy one for a difficult task. And I argue that challenge motivates people. IMHO, it’s &lt;span style="font-style:italic;"&gt;responsibility&lt;/span&gt; that motivates them. &lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Q&lt;/span&gt;: &lt;span style="font-style:italic;"&gt;But what if people have spoiled sense of responsibility? And what if they not motivated at all?&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;I guess &lt;a href="http://motivatemeright.blogspot.com/"&gt;this book&lt;/a&gt; can be guideline for people who would like to learn more about motivation. Who wants to know will know. &lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Q&lt;/span&gt;: &lt;span style="font-style:italic;"&gt;What about people who are not motivated to learn something about motivation? ;)&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4781353007786153257-7778958010948852685?l=atriplex-on-software.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4781353007786153257/posts/default/7778958010948852685'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4781353007786153257/posts/default/7778958010948852685'/><link rel='alternate' type='text/html' href='http://atriplex-on-software.blogspot.com/2009/02/motivated-by-challenge.html' title='Motivated by challenge'/><author><name>atriplex</name><uri>http://www.blogger.com/profile/16799679805742536429</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-4781353007786153257.post-1182416988917838112</id><published>2009-01-26T00:35:00.004+02:00</published><updated>2009-01-26T00:59:09.840+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='functionality'/><category scheme='http://www.blogger.com/atom/ns#' term='advanced search'/><category scheme='http://www.blogger.com/atom/ns#' term='usability'/><category scheme='http://www.blogger.com/atom/ns#' term='Microsoft'/><category scheme='http://www.blogger.com/atom/ns#' term='advanced user'/><title type='text'>Advanced search for advanced users</title><content type='html'>&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;German language is very famous for giving one-word description for very peculiar things. Advanced search functionality which forces user to fill several controls with different ranges is not exclusion. It can be described by word &lt;span style="font-style:italic;"&gt;benutzerunfreundlich&lt;/span&gt; (User unfriendly). This is very good word because its pronunciation is as unfriendly for English-speakers as substance it describes.&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;About five month ago I’d met introducing this functionality with a great skepticism and finally yesterday advanced search functionality has been finally removed from one of our products called Lupris.&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Lupris is system to perform research in goods data base to mine data for another system called XUT. Main feature of Lupris is browsing large amount of data. It also allows inputting market notes to the goods. Data records about goods are quite inhomogeneous and can belong to one of 16 different types. Some of those attributes like “Price”, “Short Name” and eventually “Type” are ultimate for all. Others like quantity for one type and weight in kilos for another can be treat as the same fields and merged in reports.&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Advanced search pretended to be good addition to existing full text search: product owners decided to create powerful search for advanced users. And eventually this functionality appeared to be poorly tested, badly developed and unused.&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;This is very usual how so called functionality for advanced users terminates. But why advanced search is so unpopular? I'd better explain more generally: why &lt;span style="font-style:italic;"&gt;functionality for advanced users&lt;/span&gt; is so unpopular? During my last visit to customer, I discovered that actually advanced functionality in our system already unknown to end-users! I have several reasons for that:&lt;br /&gt;&lt;ol&gt;&lt;br /&gt;&lt;li&gt;In complex systems even advanced users are often advanced in one direction, but very naïve in another. That’s why advanced users rarely have common definition how things like advanced search should look like.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Advanced users are rare. Unless we are are talking about usual enterprise systems, not something very specific or software development tools. Otherwise they are simply outnumbered by common users, which will find advanced search functionality at least useless.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Among 10 advanced users there should be one even more advanced who will blame functionality in any case.&lt;/li&gt;&lt;br /&gt;&lt;/ol&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;In fact we should not prove why functionality for advanced users won't be used, but vice versa:&lt;br /&gt;&lt;blockquote&gt;Before introducing functionality we should prove that it will be used&lt;/blockquote&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Statement that advanced functionality would be popular one day is implied from very dubious assumption that &lt;span style="font-style:italic;"&gt;every common user wishes to be advanced&lt;/span&gt;. That's not true at all: even for people who uses computer on daily basis.&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;From technical point of view there are even more reasons: E.g. advanced search is very difficult to test and for bug fixing. Practically if your advanced search form has 10 input fields there should be like 100 possible cases just to conduct surface test of happy path.&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;I have good example how quite large and successful company had burned its fingers on that. Microsoft has hundred of millions users and millions of advanced users and probably could count on strong community of advanced users, but their bid was IMHO wrong when they created &lt;a href="http://www.secretgeek.net/ms_search.asp"&gt;search companion in MS Windows XP&lt;/a&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;They were even forced to introduce &lt;a href="http://support.microsoft.com/kb/917013"&gt;Windows Desktop Search&lt;/a&gt; as something more usable. And since then many people still believe that advanced search can be usable &lt;span style="font-style:italic;"&gt;an masse&lt;/span&gt;. XUT and Lupris product owners still appreciate advanced search and promotes it in XUT and other products within our organization. Ironically, they all use Apple, Sun and prefer open source products having apparently strong anti-Microsoft sentiments, but still repeat the same way of thinking. It reminds one of the suggestion about Microsoft &lt;br /&gt;&lt;blockquote&gt;Can’t Live With ’Em and Can’t Live Without ’Em&lt;/blockquote&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4781353007786153257-1182416988917838112?l=atriplex-on-software.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4781353007786153257/posts/default/1182416988917838112'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4781353007786153257/posts/default/1182416988917838112'/><link rel='alternate' type='text/html' href='http://atriplex-on-software.blogspot.com/2009/01/advanced-search-for-advanced-users.html' title='Advanced search for advanced users'/><author><name>atriplex</name><uri>http://www.blogger.com/profile/16799679805742536429</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-4781353007786153257.post-8201116743586286624</id><published>2008-11-27T23:27:00.007+02:00</published><updated>2008-12-02T16:03:12.077+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='metrics'/><category scheme='http://www.blogger.com/atom/ns#' term='management'/><category scheme='http://www.blogger.com/atom/ns#' term='project'/><title type='text'>Project evaluation a la carte</title><content type='html'>&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;I work as support administrator in huge outsourcing company. Team is big and dynamically growing and pretended to be big and happy family. &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;I'm not very ambitions in career, indeed some of my mates are already occupy very prestigious management positions. Normally, I'm trying to avoid responsibility I can't control. I believe that most of people in top management NEVER control things, they are responsible for. But believe that I can do better then they is really phenomenal.&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Story begins in that nasty autumn day when manager said that we supposed to &lt;span style="font-style:italic;"&gt;keep &lt;/span&gt;all tasks estimated planned for &lt;span style="font-style:italic;"&gt;release &lt;/span&gt;in order to improve our &lt;span style="font-style:italic;"&gt;proximity&lt;/span&gt;.&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Looks pretty simple for project you might have been working on, but I would like to bring your attention to terms marked in italics.&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="font-weight:bold;"&gt;Keep&lt;/span&gt; estimated doesn't mean to estimate just once: it means everyday estimations should be file.&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="font-weight:bold;"&gt;Release &lt;/span&gt;means not just single iteration, but all bunch of tasks from all iterations we planned or even didn't yet planned.&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="font-weight:bold;"&gt;Proximity&lt;/span&gt;? I actually didn't catch what the hell is that ...&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;My answer was very rational, but disappointed manager quite hard: he told that I should elaborate way to define alternative approaches and insisted to have meeting dedicated to my response where I should have explained situation to the team leads. Actually my first response provided certain kind of workarounds for this: we can make releases shorter or we can make full estimation just once and then concentrate on support tasks. Otherwise we spend more than 20 hours a day just for estimations.&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;I have conducted the meeting, but and made the same conclusions about situation, all other team didn't have so many issues, they were incoherent and releases where much oftener, but they supported my points and we closed the meeting.&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;I was very surprised when suddenly I saw meeting invitation regarding proximity in my calender scheduled to 6 PM. Oh, God, did you forget how much time I spent on this?&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;The meeting was eye-opener for me about how projects within our corporations are evaluated by customer. You know once per quarter we have so called evaluation questionnaires, where customer put marks from 1 to 5 to 8 different nominations. Proximity is one of those nominations and we get awful mark (2) for it. 2 means less then expected, so our proximity was expected to be better then it is.&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Team was very curious about this issue (in fact we had no other choice) and kindly asked departments head who also attended this meeting what is going on and how do we measure proximity?&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Well, we were explained that main goal of our meeting is to collect ideas how to improve it and our manager has already requested from customer explanation why proximity is was estimated so poor. Here is the letter:&lt;br /&gt;&lt;blockquote&gt;&lt;span style="font-style:italic;"&gt;Dear Donnie,&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Thank you a lot for filling evaluation form of our NTSR project! &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Could you please give us explanation what is proximity and what team is responsible for reducing proximity ...&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;If you give us more extensive information we will put our efforts to find out why proximity is so poor and elaborate plans how to improve it.&lt;br /&gt;&lt;br /&gt;Respectfully Yours,&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Julius Eiche,&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;PM of NTSR project&lt;/span&gt;&lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Ok, people, so what we can do with it? Donnie's reply was quite obscure, so it doesn't help us very much. Let us thing about this.&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Well proximity in Wikipedia gives us certain answer: proximity is ...&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Wait, wait, wait, wait! Do we really have no perception what the proximity is? Evaluation form is standard for all project in our organization! And it's not a first time it was introduced to the customer! Actually our customer put marks for proximity already several times ...&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Our manager was on top: he used so peculiar phrases to explain how important and difficult his job is. But, how about the result? We have no information about thing that has major influence on our project! We have nothing else that has such significant effect on the project destiny.&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Suddenly I realize that anyone can be not worse manager for our project than Julius: he has the same idea about evaluation as we all. Only difference is that he new about them and finding out how those measurements have been performed is primary task for any manager. &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Now I don't believe in managers and believe that if we got mark for any other nomination (tolerance, productivity, proactivity and so on) the reply would be the same: Dear Donnie, we are to stupid to understand what a hell that is. Teach us and hope that we will do better next 3 month.&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Meeting show me how deep problem was. In fact I'm quite anxious about 2 things:&lt;br /&gt;- getting me to find out what are all those values in evaluation table&lt;br /&gt;- requesting what else our managers have concealed that can be strike us so badly.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4781353007786153257-8201116743586286624?l=atriplex-on-software.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://atriplex-on-software.blogspot.com/feeds/8201116743586286624/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4781353007786153257&amp;postID=8201116743586286624' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4781353007786153257/posts/default/8201116743586286624'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4781353007786153257/posts/default/8201116743586286624'/><link rel='alternate' type='text/html' href='http://atriplex-on-software.blogspot.com/2008/11/project-evaluation-la-carte.html' title='Project evaluation a la carte'/><author><name>atriplex</name><uri>http://www.blogger.com/profile/16799679805742536429</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4781353007786153257.post-4531395554015307169</id><published>2008-11-18T00:45:00.007+02:00</published><updated>2008-12-02T16:03:29.342+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='agile'/><category scheme='http://www.blogger.com/atom/ns#' term='ethic'/><category scheme='http://www.blogger.com/atom/ns#' term='corporation'/><title type='text'>Corporate ethics. The guideline or the attribute?</title><content type='html'>Since I have moved from European company to American one, I never experience any cultural shift between two organization. In fact I didn't believe in so called "corporate culture". I'd rather believe in "corporate superstition" meaning by that usual way how people there used to get things done. Only thing that was changed for me was using rather American English than British. So now I write "color" instead of "colour" and try too update my written text and speech accordingly to American traditions. &lt;br /&gt;In the aspect of team behavior nothing was going to be changed: Our team was planned as very agile and egalitarian: no managers, no subordination, no strict policies. We were pretending to the team of well-motivated professionals. And what I had seen there had indeed impressed me: team leaned to be unique within large organization. So I made my final choice voting rather to the team and people there than to organization as a whole.&lt;br /&gt;Soon after my start I was told that our company is well-organized, modern and has some set of things that recognizes it as something special. I didn't pay much attention to this again: all things pretended to be informal, of course any company wants to recognize itself. "We are unique, we are the best". But they look like too isolated from each other.&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_bQLGP3VWnWw/SSH6923AKJI/AAAAAAAADj8/UmcQrAQHtss/s1600-h/islands.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 105px;" src="http://3.bp.blogspot.com/_bQLGP3VWnWw/SSH6923AKJI/AAAAAAAADj8/UmcQrAQHtss/s320/islands.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5269768979605366930" /&gt;&lt;/a&gt;&lt;br /&gt;And indeed it lasted like this about 3 month. Then things started to get changed gradually but steady: now we have at least 2 "pure managers" (who refuse to do any technical tasks) and 2 semi-managers (who supposed to do lesser technical tasks, but essential part of efforts are going to be spent on some sort of management).&lt;br /&gt;I used to overtake some management tasks even at my first job, considering those tasks as inevitable expenses in order too keep whole team free from such routines. And eventually I can see that I'm pretty much successful in that: here I became one of those two semi-manager and unstoppable power pushes me to be even more distant from technical tasks.&lt;br /&gt;Concentrating on management tasks, which include large amount of inbox and outbox items I began to suffer from lack of understanding the corporate principles.&lt;br /&gt;Today the manner how I hold negotiations had been condemned by my boss. , but for me they were to trivial comparatively to things that was done in team by local managers. I was warned to not use informal lexis to not see and was informed about how it is had to be done within organization (oh, God, they spend so much time and efforts to create presentation for newcommers how to do such trivial things like sending mail). I agree with all point&lt;a href="http://labnol.blogspot.com/2006/08/email-etiquette-10-tips-for-better.html"&gt;here&lt;/a&gt;, but anyway there are few points that make me furious about what's happening in our team&lt;br /&gt;* They are breaking moral rules that seems reasonable for me: for instance, it's considered to be correct if higher manager sets responsibility upon lower even if it's not agreed with the latter.&lt;br /&gt;* Those people are to idle to get things done. They will rather delegate to you creating reports even if they can do it more efficiently and faster &lt;br /&gt;* They consider watching somebody meeting rules and sending important mail as attribute of their power.&lt;br /&gt;In my professional life it was more critical to be honest with people and be direct rather to be polite. It doesn't mean to be not polite at all, but there was necessary to be so anxious about that. &lt;br /&gt;Unfortunately my resources are exhausted to change the hierarchy of management that was raised here, I have missed already chance to keep team agile, and only thing to do is too keep Otto von Bismark principle:&lt;br /&gt;&lt;span style="font-style:italic;"&gt;Be polite. Even when you are declaring war.&lt;/span&gt;&lt;br /&gt;That makes sense. So I believe in my talent of automation and self-learning: in a week or two I'll be polite, tactful, friendly and gentle ... at least in outbox :)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4781353007786153257-4531395554015307169?l=atriplex-on-software.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://atriplex-on-software.blogspot.com/feeds/4531395554015307169/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4781353007786153257&amp;postID=4531395554015307169' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4781353007786153257/posts/default/4531395554015307169'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4781353007786153257/posts/default/4531395554015307169'/><link rel='alternate' type='text/html' href='http://atriplex-on-software.blogspot.com/2008/11/corporate-ethics-guideline-or-attribute.html' title='Corporate ethics. The guideline or the attribute?'/><author><name>atriplex</name><uri>http://www.blogger.com/profile/16799679805742536429</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_bQLGP3VWnWw/SSH6923AKJI/AAAAAAAADj8/UmcQrAQHtss/s72-c/islands.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4781353007786153257.post-5627662026840635679</id><published>2008-11-04T21:36:00.004+02:00</published><updated>2008-12-02T16:03:42.927+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='product owner'/><category scheme='http://www.blogger.com/atom/ns#' term='agile'/><category scheme='http://www.blogger.com/atom/ns#' term='fixed-priced'/><category scheme='http://www.blogger.com/atom/ns#' term='risk'/><category scheme='http://www.blogger.com/atom/ns#' term='negotiations'/><category scheme='http://www.blogger.com/atom/ns#' term='project'/><title type='text'>Thoughts about fixed-priced projects</title><content type='html'>Negotiating is domain area, which for most people is much more complicated to deal with, then even the most challenging technical task.&lt;br /&gt;Once during one of our Agile club we have discussed fixed-priced contracts and applying agile methodologies to them.&lt;br /&gt;&lt;br /&gt;This was quite hot topic: audience consisted of mainly agile adepts, but the projects they were involved indeed where fixed-prices.&lt;br /&gt;&lt;br /&gt;In generally that discussion is not worth to retell it entirely, but there were some thoughts that may be very much valuable for me.&lt;br /&gt;&lt;br /&gt;1. Above all, fixed-priced projects are normally more expensive and that means they are potentially more lucrative for executor (for IT company or team that works on them). It's a high price for professionalism. If I were millionaire I would rather have 100% service for 100% price: &lt;br /&gt;&lt;blockquote&gt;&lt;span style="font-style:italic;"&gt;I don't need analysts, testers, QA, IT department from my side to support YOUR development. I don't care if it's 400% more expensive: just give me entire calculation and risks and I will put your proposal under consideration.&lt;/span&gt;&lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;So team has a good opportunity to provide product owner from their side and to make fair product for good price.&lt;br /&gt;&lt;br /&gt;2. Commit or not commit that the question. &lt;br /&gt;And all risks should be calculated before project is started&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style:italic;"&gt;Here I have exposed one more thought: can we reuse that approaches that is used by venture capitalist when they do their business in IT&lt;/span&gt;&lt;br /&gt;Unfortunately not: normally venture capitalists' approach is to be aware and to be acquainted with people: but they have money to take over risk, we don't :(&lt;br /&gt;&lt;br /&gt;3. Fixed price project can be conducted as agile projects, but all necessary infrastructure should be provided by executor.&lt;br /&gt;&lt;br /&gt;One of my colleagues proposed idea to specify if customer is opened or not. So if he ready for communication that better if he is not.&lt;br /&gt;&lt;br /&gt;I also had thought about that: but I'd rather just exclude projects that depend on single non-responsive person as not good for me.&lt;br /&gt;&lt;blockquote&gt;&lt;span style="font-style:italic;"&gt;Just make me happy and don't ask any questions.&lt;/span&gt;&lt;/blockquote&gt;&lt;br /&gt;If your customer is large organization it's not a big problem if they are remote and not responsive. I've seen so many times when customer's representative not provided enough analyst or information about their product or requirements. But I have never seen customer that forbade their coworkers to speak with our coworkers.&lt;br /&gt;Even in the worst case you anyway can talk with them, have discussions, drink bear or date their office managers.&lt;br /&gt;You do have chance take information about how to make them happy (unless your customer is not Jesuits Order).&lt;br /&gt;The costs of all this is a different thing. But since account management has word "presentation costs" normal business used to work with them, so IT business also have to.&lt;br /&gt;So, viva forever! :)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4781353007786153257-5627662026840635679?l=atriplex-on-software.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://atriplex-on-software.blogspot.com/feeds/5627662026840635679/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4781353007786153257&amp;postID=5627662026840635679' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4781353007786153257/posts/default/5627662026840635679'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4781353007786153257/posts/default/5627662026840635679'/><link rel='alternate' type='text/html' href='http://atriplex-on-software.blogspot.com/2008/11/thoughts-about-fixed-priced-projects.html' title='Thoughts about fixed-priced projects'/><author><name>atriplex</name><uri>http://www.blogger.com/profile/16799679805742536429</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4781353007786153257.post-297309787826769374</id><published>2008-10-21T00:32:00.005+03:00</published><updated>2008-12-02T16:03:57.312+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='requirements'/><category scheme='http://www.blogger.com/atom/ns#' term='product owner'/><category scheme='http://www.blogger.com/atom/ns#' term='agile'/><category scheme='http://www.blogger.com/atom/ns#' term='login'/><category scheme='http://www.blogger.com/atom/ns#' term='user management'/><title type='text'>Where to start building up solution?</title><content type='html'>&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;We have passed kickoff negotiations and concluded that we have keep on building new platform from sketch. Our team and customer is leaning to be agile as possible, so we immediately started from elaborating use case. Our initial plan is following:&lt;br /&gt;&lt;ol&gt;&lt;br /&gt;&lt;li&gt; Login to the system&lt;br /&gt;&lt;li&gt; User management tool&lt;br /&gt;&lt;li&gt; other ...&lt;br /&gt;&lt;/ol&gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Is it a dream? Or deja vu? I have seen so many projects which started namely from those two items: login and user management, that I think there must be something enchanted and supernatural in those items.&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;Why login and user management is so important?&lt;/h3&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Although login functionality is in 90% cases are the same (login, password, attempts to login before being locked and forget password, of course: nothing special) everybody wants to start from this. Probably because it's very evident part of the front page of any website. &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;But pay your attention: this is nothing that can distinguish your web solution. In fact if you want to place on front page your logo and news and public speech of your CEO it would be further more recognizable and authentic. Don't you think so?&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Ah! I see: you still not sure what kind of info should you place on the front page. That makes difference: probably let's do easy start with login and password fields&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;What then?&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Yes, sure we have very very sophisticated user management. Here how much roles we have, how to assign roles and groups to user, how to specify and handle rights of them on reading, writing and view profile of the assets?&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Wait a bit! Do we REALLY have &lt;span style="font-style:italic;"&gt;assets&lt;/span&gt; in our system? Or any other &lt;span style="font-style:italic;"&gt;entity&lt;/span&gt;? And do we really know what END-USER should see on our web page?&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;In a second I realized an evidence: we DO NOT KNOW what our final user is going to see, but we already put efforts to build up user management tools ... &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;I have a question: what kind of user do you have in your system? The answer would be (let us imagine a bit):&lt;br /&gt;&lt;ol&gt;&lt;br /&gt;&lt;li&gt; Administrators&lt;br /&gt;&lt;li&gt; Extended users&lt;br /&gt;&lt;li&gt; Normal users&lt;br /&gt;&lt;/ol&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;And what is distribution of those users?&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_bQLGP3VWnWw/SPz_urCO0vI/AAAAAAAADUc/NnbqU34nblg/s1600-h/user_distib.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="http://3.bp.blogspot.com/_bQLGP3VWnWw/SPz_urCO0vI/AAAAAAAADUc/NnbqU34nblg/s320/user_distib.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5259359642153046770" /&gt;&lt;/a&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Can you believe that? Our users are mostly common users and they are community we creating system for! Why do you so anxious about administrator UI, rights, obligations and privileges until you don't know what user should see?&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Well, administrator is a God in system and if we wrote Bible today we probably started from definition of God.&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;This may be a reasonable way to found new religion, but enterprise system is not The Universe and not something we should worship (Sometimes it is really considered to be like this). Let's try to think another way: try to imagine what your usual user should see in your system. Do you have a few arguments why he actually should use the system? And finally if you have perception about&lt;br /&gt;&lt;ul&gt;&lt;br /&gt;&lt;li&gt; what user should be able to get from the system (features and information)&lt;br /&gt;&lt;li&gt; what user should be not able to get from the the system (security)&lt;br /&gt;&lt;li&gt; what is our benefit in the system?&lt;br /&gt;&lt;/ul&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Does it mean that you can find out what is needed from user management, security, automation and so on just if you know aforementioned points?&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;You probably will blame me, but my personal answer on the latter question is YES. Indeed, security rights, user management or any other management exist to allow user to have services they want to have, charge them for those services and to not allow them make harm to other users and system itself ...&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Even if your system is difficult for administrating but very friendly to end-user it can have success, but if it's not friendly to end-user whatever you have in back office it makes no difference for outworld anymore!&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;How should we start?&lt;/h3&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Ok. Let's try to start with very small things ...&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;I have a question: what kind of user do you have in your system? Answer is&lt;br /&gt;&lt;ol&gt;&lt;br /&gt;&lt;li&gt; Normal users&lt;br /&gt;&lt;li&gt; Extended users&lt;br /&gt;&lt;li&gt; Administrators&lt;br /&gt;&lt;/ol&gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Oh! That's much better! Let us think about normal users first :)&lt;br /&gt;&lt;br /&gt;Good luck!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4781353007786153257-297309787826769374?l=atriplex-on-software.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://atriplex-on-software.blogspot.com/feeds/297309787826769374/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4781353007786153257&amp;postID=297309787826769374' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4781353007786153257/posts/default/297309787826769374'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4781353007786153257/posts/default/297309787826769374'/><link rel='alternate' type='text/html' href='http://atriplex-on-software.blogspot.com/2008/10/where-to-start-building-up-solution.html' title='Where to start building up solution?'/><author><name>atriplex</name><uri>http://www.blogger.com/profile/16799679805742536429</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_bQLGP3VWnWw/SPz_urCO0vI/AAAAAAAADUc/NnbqU34nblg/s72-c/user_distib.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4781353007786153257.post-4981930816836710878</id><published>2008-10-15T00:25:00.005+03:00</published><updated>2008-12-02T16:04:09.374+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='customer'/><category scheme='http://www.blogger.com/atom/ns#' term='agile'/><category scheme='http://www.blogger.com/atom/ns#' term='collective opinion'/><category scheme='http://www.blogger.com/atom/ns#' term='negotiations'/><title type='text'>Who should take care about negotiations?</title><content type='html'>Yesterday I was blamed by my boss because of using term "collective opinion" during meeting with customer. How strange, three years ago I blamed myself for thought that "collective opinion" actually exist. I consider this as something very rudimentary inherited from old Soviet times. And my chief actually shares this idea&lt;br /&gt;&lt;blockquote&gt;In civilized society there is no entity like "collective opinion". It would rather be an opinion of your self-important ego&lt;/blockquote&gt;&lt;br /&gt;There was indeed more ado about this, but generally I can assume two basic reasons why "collective opinion" is to be blamed:&lt;br /&gt;* &lt;i&gt;Collective opinion&lt;/i&gt; means someone talks as representative of others, who apparently where excluded from the discussion&lt;br /&gt;* &lt;i&gt;Collective opinion&lt;/i&gt; means that nobody can take over responsibility for what is said.&lt;br /&gt;&lt;br /&gt;My questions I would like to raise are:&lt;br /&gt;* What is collective opinion in "civilized world" in general?&lt;br /&gt;* What is collective opinion in Agile context?&lt;br /&gt;&lt;br /&gt;I concluded that &lt;i&gt;collective opinion&lt;/i&gt; as term should not be so bad surprise civilized world. It accepts terms like collective security and Agile community even sustains having so called collective ownership. Collective opinion not necessarily brings you to chaos of responsibility, like collective ownership does not. In XIX century &lt;a href=http://en.wikipedia.org/wiki/Gustave_Le_Bon&gt;Gustave Le Bon&lt;/a&gt; noticed that collective opinion exists and sometimes brings to very positive (sometimes to very negative :) ) results. The most great distinction was discovering that sometimes collective opinion is biasing from average opinion of people that are "collected". The next great thing Le Bon discovered is that rules how collective opinion (or in general collective mind) is built up can be investigated and used. Since his lifetime there are many different things emerged: &lt;a href=http://en.wikipedia.org/wiki/Dale_Carnegie&gt;Dale Carnegie&lt;/a&gt; practical psychology, people management in XX of &lt;a href=http://en.wikipedia.org/wiki/Peter_Drucker&gt;Peter Drucker&lt;/a&gt;, new approaches in XXI century, public relations (both white and black) and so on: nowadays we have &lt;i&gt;huge&lt;/i&gt; set of methods to bend collective opinion to some certain way and approaches to control collective mind. So even people suffer hearing about collective opinion, we should admit that it exists, it is used and will be used until humankind lives ...&lt;br /&gt;&lt;br /&gt;What about agile? Can it mitigate parasite usage of collective opinion?&lt;br /&gt;&lt;br /&gt;What 2 of 4 principles in &lt;a href="http://agilemanifesto.org/"&gt;Agile Manifesto&lt;/a&gt; declare emphasizing on Individuals and interactions, from one side, and Customer collaboration, from another. So Agile pretty straightforward about who should negotiate with customer: &lt;br /&gt;&lt;i&gt; as many and as much as team member can&lt;/i&gt;. &lt;br /&gt;Agile suggests having egalitarian team with equal rights and possibilities to make a contribution.&lt;br /&gt;&lt;br /&gt;That's very logical: in idealistic situation all team members can ask responsible person about this or that and use his (her) decision to go ahead ... &lt;br /&gt;What about reality? Customer (Product Owner in SCRUM) is indeed very complicated role in Agile: I know few cases when we really had proactive product owner that was &lt;i&gt;able&lt;/i&gt; to answer incoming questions team &lt;i&gt;need&lt;/i&gt; to ask. But in most of cases product owner is not motivated enough or doesn't have enough administrative power/time/resources to make decision or team members are not skilled enough to ask "correct" questions (Correct is not that word, probably to be exact I should have used figure like questions, that bring us to correct decision in the shortest way).&lt;br /&gt;&lt;br /&gt;In our situation when team members are not acquainted with product, distant from customer and have language barrier this trouble is even bitter. More negotiation skill of team members are very different: some people can hardly speak English ...&lt;br /&gt;&lt;br /&gt;One friend of mine says that the key is to have proper people in team. That would resolve the problem.&lt;br /&gt;But people can &lt;i&gt;never&lt;/i&gt; be ideal!&lt;br /&gt;Can we make team better than people we have?&lt;br /&gt;Some people call this synergy (collective benefits prevails the sum individual benefits). Can it be applied here? How do you think?&lt;br /&gt;&lt;br /&gt;Agile team egalitarian, but it doesn't necessary mean that all should have the same activity. One of us is better in DB administration, somebody in designing UI, somebody in investigations, why can't we consider negotiations as one more branch we can play with. What if you have in team guy who probably not so good in developing software but can do following things better than others:&lt;br /&gt;* explaining how software should work to team&lt;br /&gt;* explaining how it actually works and how it can be changed to customer&lt;br /&gt;I would say that it's better to have such team member than to not have. And it's better to keep him more organizing negotiations than to try to smooth distribution of negotiations between different other people.&lt;br /&gt;&lt;br /&gt;Some investigation I would like to do, will show how it works ... &lt;br /&gt;(if it indeed works)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4781353007786153257-4981930816836710878?l=atriplex-on-software.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://atriplex-on-software.blogspot.com/feeds/4981930816836710878/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4781353007786153257&amp;postID=4981930816836710878' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4781353007786153257/posts/default/4981930816836710878'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4781353007786153257/posts/default/4981930816836710878'/><link rel='alternate' type='text/html' href='http://atriplex-on-software.blogspot.com/2008/10/who-should-take-care-about-negotiations.html' title='Who should take care about negotiations?'/><author><name>atriplex</name><uri>http://www.blogger.com/profile/16799679805742536429</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4781353007786153257.post-8219403799899485337</id><published>2008-10-14T14:54:00.005+03:00</published><updated>2008-12-02T16:04:22.853+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='competition'/><category scheme='http://www.blogger.com/atom/ns#' term='skills'/><category scheme='http://www.blogger.com/atom/ns#' term='team'/><title type='text'>Programmers Competition</title><content type='html'>Recently I partook in organization duties in All-Ukrainian Software Programmer Competition called &lt;a href="http://www.programmania.com/"&gt;Programmania&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;&lt;img src=http://www.programmania.com/img/Programmania_2007.jpg&gt;&lt;br /&gt;&lt;br /&gt;This event pretend to be ultimate for all kinds of developers in this country. Spectrum of tasks indeed very wide: from high low level languages to logical tasks, from very specific languages like &lt;a href="http://www.1c.ru/"&gt;1C &lt;/a&gt; (development environment for accounting management in CIS countries) to generic questions about project management. We were lucky to have good sponsors and adequate anchors (thank you so much, Leviza :)) and that was impressive that competition was conducted in 3 different location. But by the same causes we had troubles:&lt;br /&gt;&lt;br /&gt;There were too many "bugs" in tasks, as I was watcher during competition(not only preventing cheating was my duty, but also suggesting what we were intending to mean by very confusing statements in task bulletin. The bulletin itself was also very wide: there was no chance to finish up it all before time is over.&lt;br /&gt;&lt;br /&gt;The most annoying for me was one candidate, that was pretended to be keen in project management and I was often asked by him to interpret what was written. Oh, no this time it was not failure of our authors and experts, that created bulletin, but there reason was quite complicated language that was used in PM tasks to knock out potential cheaters ...&lt;br /&gt;&lt;br /&gt;How do we assess participants and their work? &lt;br /&gt;Sum of all chapters (say all programming languages and tasks)&lt;br /&gt;Average scores for all touched topics?&lt;br /&gt;The most successful chapters?&lt;br /&gt;&lt;br /&gt;In any case test doesn't reflect skills of participants in being team members. In fact, it was rather the fest of egoism ...&lt;br /&gt;&lt;br /&gt;Although competition is used to attract potential candidates to our job offers, it's very naive to think that competition would estimate people in proper way ...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4781353007786153257-8219403799899485337?l=atriplex-on-software.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://atriplex-on-software.blogspot.com/feeds/8219403799899485337/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4781353007786153257&amp;postID=8219403799899485337' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4781353007786153257/posts/default/8219403799899485337'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4781353007786153257/posts/default/8219403799899485337'/><link rel='alternate' type='text/html' href='http://atriplex-on-software.blogspot.com/2008/10/programmers-competition.html' title='Programmers Competition'/><author><name>atriplex</name><uri>http://www.blogger.com/profile/16799679805742536429</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4781353007786153257.post-5487034582118839984</id><published>2008-05-14T08:28:00.004+03:00</published><updated>2008-12-02T16:04:35.146+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='management'/><category scheme='http://www.blogger.com/atom/ns#' term='motivation'/><category scheme='http://www.blogger.com/atom/ns#' term='project'/><title type='text'>Motivation and demotivation</title><content type='html'>&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Since one month I didn't touch my blog. This can probably misguide people who watch it planting feeling that I became more idle than I used to be. This is not true, indeed within last month besides my trip to Crimea peninsula on Black See (see the picture) I have understood many things regarding my psychology.&lt;br /&gt;&lt;a href="http://3.bp.blogspot.com/_bQLGP3VWnWw/SCp6QxLLSrI/AAAAAAAAA4k/wherJiwqLp8/s1600-h/IMG_0129.JPG"&gt;&lt;img style="float:right; margin:0 0 10px 10px;cursor:pointer; cursor:hand;" src="http://3.bp.blogspot.com/_bQLGP3VWnWw/SCp6QxLLSrI/AAAAAAAAA4k/wherJiwqLp8/s320/IMG_0129.JPG" border="0" alt="I'm in Crimea"id="BLOGGER_PHOTO_ID_5200103148249369266" /&gt;&lt;/a&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Oriental wisemen say that all wisdom starts with self-knowledge. The recent crucial question for me here is:&lt;br /&gt;&lt;p&gt;&lt;i&gt;what is the major factor why I am staying for more than 3 years in one company against all odds of rapidly changing IT world?&lt;/i&gt;&lt;p&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;And accordingly to all customs, I am coming to the final conclusion when debates are getting closed …&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Before February 2008 my negotiations with all other people were based on following principles:&lt;br /&gt;&lt;ul&gt;&lt;br /&gt;&lt;li&gt;keep yourself busy and useful for team as possible as you can without loosing self-confidence&lt;/li&gt;&lt;br /&gt;&lt;li&gt;whenever you evidently asked for something by your team member consider this as opportunity to do something for team, i.e. small and urgent deals has higher priority than ongoing tasks&lt;/li&gt;&lt;br /&gt;&lt;li&gt;always be responsive, friendly and polite to all people. Consider idling and ignoring as something worse than being unfriendly or refuse&lt;/li&gt;&lt;br /&gt;&lt;li&gt;to people disliking you be as good and friendly as for others, just don’t tip them for that: conciliate this with people you like better&lt;/li&gt;&lt;br /&gt;&lt;li&gt;never look for reasons why do you dislike somebody or something&lt;/li&gt;&lt;br /&gt;&lt;/ul&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Although I knew there were always few people that dislike me in ANY environment, but I can go long with this, as long as I have enough possibility to choose whom I speak to and negotiate with i.e. vary my closest environment. This position became very distinguishing for me especially in IT crowd: since most of people are introverts they won't pay much attention on you as long as you initiate it personally. And there are many ways how to avoid evident conflicts, since work is rather incoherent.&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;But situation got changed quite dramatically when the boss of all it has been changed: the slight but very important difference between new and old one is following: the latter allowed me behaving like I’ve described above. Beside this there are very many other differences: they might be (and I’m sure they are) fatal for team, but not for me being in the team. I clearly understand that living in not at all prosperous country with underdeveloped economy I still can make my life happy. Why then I can’t be happy in unfriendly environment?&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Yes, I can indeed! The key is to give me responsibility I can hold and control on 100% and chance to develop it i.e. to make comfortable world for me and make it extendable (at least make me believe that it’s extendable). This is not obligatory large responsibility, but somewhere near should be potential for self-development.&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;This motivates me still more than salary and career: it just makes me fun. The money is a fair price balancing between employers that tend to pay less and employees that tend to get more. I work primarily not for money, but for having time of my life.&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;This is the most important motivating factor. But what is the most demotivating? Try to reveal them as direct opposition of motivating factors.&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Boss’ inconsistency demotivates me much: when he defines my responsibilities every day penetrating and changing them all time, he uses me at least ineffectively: instead of giving me right job forever he needs to control my job. Otherwise soon he won’t understand what I’m doing and what I have to do, which is even worse. Are you scared that job given at the first day not the most correct? Never mind, make sure that it’s useful at least even if it is not the most useful.&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Non responsiveness demotivates me much: IMHO, all people should be ready to accept feedback, it is not effectiveness, but it’s mathematical derivation of the effectiveness, so it’s a power to improve it.&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Professional ignorance demotivates me much. Man who doesn’t improve his skills regularly should not expect that his subordinated people will improve them. I know that project manager is quite challenging position: he ought&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;1) to know how to work with software development;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;2) to know how to work with software developers;&lt;br /&gt;In real life it is so complicated that no one can do both things, that normally your are stronger in one area and weaker in another. Ring-bouy for this situation is awareness of your skills: if you know how weak you are in one thing or another, or at least you are tending to understand this, you may find proper assistance in your team. &lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Facing all this together my position is getting very unpleasant for me: people I would like to work with still exist but they are more distant than people I have to work with. It’s even more unpleasant than if I was surrounded with ignorant people with no aware of some alternatives are there. So from now I refused to meet my aforementioned principle #5 (never look for reasons why do you dislike somebody or something).&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Now I dislike people that make decision made by own “exclusive” experience. It is a root of all evil even if decision was right at some particular point. But I judge people not for their decision, but namely for the way how they had been done: In rapidly changed world you should not call your predecessor’s decisions ridiculous, because one day your today’s decisions might seem ridiculous to your successors.&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;One day a good decision may be considered as bad or a bad decision may be considered as good ... But the way how decision was made stands still ...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4781353007786153257-5487034582118839984?l=atriplex-on-software.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://atriplex-on-software.blogspot.com/feeds/5487034582118839984/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4781353007786153257&amp;postID=5487034582118839984' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4781353007786153257/posts/default/5487034582118839984'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4781353007786153257/posts/default/5487034582118839984'/><link rel='alternate' type='text/html' href='http://atriplex-on-software.blogspot.com/2008/05/motivation-and-demotivation.html' title='Motivation and demotivation'/><author><name>atriplex</name><uri>http://www.blogger.com/profile/16799679805742536429</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_bQLGP3VWnWw/SCp6QxLLSrI/AAAAAAAAA4k/wherJiwqLp8/s72-c/IMG_0129.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4781353007786153257.post-4926254557416503703</id><published>2008-04-07T23:33:00.007+03:00</published><updated>2008-04-08T00:27:30.780+03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='agile'/><category scheme='http://www.blogger.com/atom/ns#' term='management'/><category scheme='http://www.blogger.com/atom/ns#' term='project'/><category scheme='http://www.blogger.com/atom/ns#' term='presentation'/><title type='text'>Agile experience in complex projects</title><content type='html'>&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Recently I've taken small break to rearrange my knowledge and experience gained in quite difficult projects that I have last 2 years. The mainstream of this period is continuous attempts to apply agile approachs in our team. Upon a time my endeavour ceases to look endless: We really indeed can be agile! (it's not obligatory so popular SCRUM).&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Recent XP camp in Kyiv (Thanks so much to &lt;a href="http://www.agilefaqs.com/nareshjain.html"&gt;Naresh Jain&lt;/a&gt;) and works of &lt;a href="http://gojko.net/2008/03/28/fitnesse-workshop-mdash-key-ideas/"&gt;Gojko Adzic&lt;/a&gt; (I wish I knew that man earlier) made me strong believe that even our heavy project can be more "agilized".&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Presentation &lt;a href="http://www.slideshare.net/borys/agile-experience-in-complex-projects/"&gt;"Agile experience in complex projects"&lt;/a&gt; is an excerption of ideas I embrace about software development and particularly about project management. Of course, it was technically infeasible to look so broad topic through all aspects, but my purpose was to give an overview of subject, since I met so many IT people that never experienced problems like that, especially if they never participated big teams.&lt;br /&gt;&lt;p&gt;&lt;br /&gt;&lt;i&gt;&lt;b&gt;Q&lt;/b&gt;: How did God manage to create the world in 6 days?&lt;br /&gt;&lt;b&gt;A&lt;/b&gt;: Well ... there were no previous versions to maintain backward compatibility with.&lt;/i&gt;&lt;br /&gt;&lt;/p&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;My presentation's focus is so called complex project. I've introduced this term myself, meaning following:&lt;br /&gt;&lt;ul&gt;&lt;br /&gt;&lt;il&gt;Distributed enterprise application&lt;/il&gt;&lt;br /&gt;&lt;il&gt;Distributed team in locations and cultures&lt;/il&gt;&lt;br /&gt;&lt;il&gt;No solid corporate culture&lt;/il&gt;&lt;br /&gt;&lt;il&gt;No men, who know entire system&lt;/il&gt;&lt;br /&gt;&lt;/ul&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Few people among our community have already investigated problems and got the conclusions pretty close to mine.&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Although I've caught chill 2 days before, I hold presentation confident and quite successful. Questions of attendies discovered even more topics for future research. &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;I heard question requesting patterns and antipatterns for agile-oriented project management. Although I like antipatterns very much (It was my first presentation at my host company) I didn't intend to discover "patterns" in this presentation. But the question is still very leading indeed: probably next post I'll devote to discovered antipatterns for project manager in my model. I do have a plan.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4781353007786153257-4926254557416503703?l=atriplex-on-software.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4781353007786153257/posts/default/4926254557416503703'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4781353007786153257/posts/default/4926254557416503703'/><link rel='alternate' type='text/html' href='http://atriplex-on-software.blogspot.com/2008/04/agile-experience-in-complex-projects.html' title='Agile experience in complex projects'/><author><name>atriplex</name><uri>http://www.blogger.com/profile/16799679805742536429</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-4781353007786153257.post-4164743589865516337</id><published>2008-03-14T00:05:00.008+02:00</published><updated>2008-11-19T09:01:19.184+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='analysis'/><category scheme='http://www.blogger.com/atom/ns#' term='Architecture'/><category scheme='http://www.blogger.com/atom/ns#' term='management'/><category scheme='http://www.blogger.com/atom/ns#' term='requirements analysis'/><category scheme='http://www.blogger.com/atom/ns#' term='team'/><title type='text'>Self-managed teams</title><content type='html'>&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Recently, project manager in our team has been changed. My new boss is quite diligent in applying strict software development process. It's wanted and needed indeed: it's a really good thing when you know that some certain functionality will be delivered before certain date. At least management can sleep well in this case. But what chance of the dreams to become true in the team that steadily delivers many unexpected things, both good and bad. In complex projects work of developers are pretty much research work: everything brings piece of chaos to the complex system. &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;So all costs should be put under consideration not only in aspects of men-hours, but also in some very human-based and subjective opinion about increasing entropy. To be simple: each time you add new functionality you should think about chaos you make to your application. I will probably talk more about this effect later. So if we know that men-hours are not scalable (special thanks to Frederick P. Brooks), entropy increment is something even unmeasurable. In environment when nobody knows system, each development task means investigation, design, coding, testing, testing and testing ...&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Ideal developer for this is good motivated specialist that can "keep himself busy":  he commits whole cycle from task specification to integration and he does not disdain to use any technologies due to solve any tasks. Although division of labour market still has people like that:&lt;br /&gt;&lt;a href="http://3.bp.blogspot.com/_bQLGP3VWnWw/R92ZM2nUf3I/AAAAAAAAAzo/ulS_LC0CFm0/s1600-h/DeveloperRole.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="http://3.bp.blogspot.com/_bQLGP3VWnWw/R92ZM2nUf3I/AAAAAAAAAzo/ulS_LC0CFm0/s320/DeveloperRole.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5178463592643854194" /&gt;&lt;/a&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;I don't know exact reason for that. Probably IT are still very attractive not for just welfare, but also for self development.&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Such developer can be not so keen in each of his things he does, but he is much better for developing some kind of software than team from several people engaged in separated things:&lt;br /&gt;&lt;ul&gt;&lt;br /&gt;&lt;li&gt;he consumes less management resource than team of specialists of many sorts. It is really cool - the management resource is is inclement deficit. &lt;/li&gt;&lt;br /&gt;&lt;li&gt;he tends to self development and quickly embraces knowledge of applied system&lt;/li&gt;&lt;br /&gt;&lt;li&gt;he and people like that provides good base to create self-managed teams&lt;/li&gt;&lt;br /&gt;&lt;/ul&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;If you have more than 40% percent of people like that in your team, team becomes more or less self-managed: they able to distribute tasks themself, coach people who are not skilled enough. Broad specialists can also maintain whole development cycle protecting software from ambitions of others.&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;There are also some disadvantages:&lt;br /&gt;&lt;ul&gt;&lt;br /&gt;&lt;li&gt;There are might be lack of people that likes formal management (with burndown charts, timelogin, issue tracking, road mapping and so on)&lt;/li&gt;&lt;br /&gt;&lt;li&gt;They like too engage themselfs with tasks they want. Remember that common developer designs only that things that he can and wants to create&lt;/li&gt;&lt;br /&gt;&lt;li&gt;They start fighting windmills when face challenging problems&lt;/li&gt;&lt;br /&gt;&lt;/ul&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;This means that team still need force that leads the development. This not always can be done by customer or head of developer. Customer and head masters can be so distant from development team that team doesn't feel leadership from that side. As it was recently discovered manage IT people is similar to herding cats (Last year I'd got this &lt;a href="http://www.amazon.com/Herding-Cats-Primer-Programmers-Lead/dp/1590590171"&gt;amazing book&lt;/a&gt;).&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Usually good developer asks somebody if he needs extra information about what to do and also he asks if he needs to make decision how to do. Many developers that are still with strong technical background doesn't like others to asks. So on one hand we need two roles:&lt;br&gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;1. Somebody who knows what to do and prevent to do things developers supposed to not do.&lt;br&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;2. Somebody who knows how to do and prevent to do things in incorrect way.&lt;br&gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;So on the following scheme I establish two more roles - architect and analyst:&lt;br /&gt;&lt;a href="http://3.bp.blogspot.com/_bQLGP3VWnWw/R92ev2nUf4I/AAAAAAAAAzw/58WLaaCPtF4/s1600-h/ArchitectRole.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="http://3.bp.blogspot.com/_bQLGP3VWnWw/R92ev2nUf4I/AAAAAAAAAzw/58WLaaCPtF4/s320/ArchitectRole.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5178469691497414530" /&gt;&lt;/a&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Analyst is pretty close to the meaning of analyst in all other models of development cycle. But destinctive features of architect that he is not just IT specialist that creates architecture or (even worse) designs software, but man who can reply on question how to make software. This not obligotary means that he should no everything, in fact this would be insecure for enterprise, and doesn't mean that he should create development document accordingly to standards himself, but he gains role of the knowledge base moderator. His artifacts is every document that helps to define how development team suppose to resolve their tasks, including guidelines, solutions, designs of crucial units in system, description of used technologies, that are not necessarily created by him, but in the good environment carefully selected by him from sketches created by team, external sources and self experience.&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Architect doesn't response for design anymore: it should be responsibility of people that creates software (the team). But he should be very responsive on questions that helps team to make decision. And the most important thing is that architecture not more process that bound to specific time or stage in project: &lt;em&gt;architecture as development document should be steadily updated as new experience is incomming to the people that make software&lt;/em&gt;. This is very distinctive, because this means that we are not able to say "Oh, men! Congratulation - you have successfully passed the architecture stage, let's come for planning!". Because there is no more stage of architecture, it's continuous activity.&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;What impact has aforementioned approach on analyst?&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Quite similar to one that has on architect: in complex project we can expect surprises of inconsistency of requirements or infeasibility of them analyst at &lt;em&gt;any time&lt;/em&gt; within period of development. So architect is one who not only creates documents, but also use them to explain others what things are expected from software. Like architecture, requirement analysis is not more determined stage, but more or less continuous process. Analyst comparatively with architect should have probably longer gap between his start and start of the development itself, but boundaries between pure requirement analysis and support requirements are anyway obfuscated ...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4781353007786153257-4164743589865516337?l=atriplex-on-software.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4781353007786153257/posts/default/4164743589865516337'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4781353007786153257/posts/default/4164743589865516337'/><link rel='alternate' type='text/html' href='http://atriplex-on-software.blogspot.com/2008/03/self-managed-teams.html' title='Self-managed teams'/><author><name>atriplex</name><uri>http://www.blogger.com/profile/16799679805742536429</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_bQLGP3VWnWw/R92ZM2nUf3I/AAAAAAAAAzo/ulS_LC0CFm0/s72-c/DeveloperRole.jpg' height='72' width='72'/></entry><entry><id>tag:blogger.com,1999:blog-4781353007786153257.post-8054158146715310532</id><published>2008-03-02T16:06:00.003+02:00</published><updated>2008-03-17T00:53:54.438+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='IDE'/><category scheme='http://www.blogger.com/atom/ns#' term='Visual Studio'/><category scheme='http://www.blogger.com/atom/ns#' term='macro'/><title type='text'>Macros in Visual Studio</title><content type='html'>I was stumbled by some trouble in Visual Studio 2008 today:&lt;br /&gt;&lt;strong&gt;arghhh! macros refused to run!&lt;/strong&gt;&lt;br /&gt;Even the simplest code in VB demonstrates that VS doesn't run the code (Even if you put break-point on the single line):&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;    Sub HelloWorld()&lt;br /&gt;        DTE.ActiveDocument.Selection.Text = "HelloWorld!"&lt;br /&gt;    End Sub&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;Only thing I did recently was that I installed several Windows Updates on my machine. And the same happends to my Visual Studio 2005.&lt;br /&gt;Only post in &lt;a href="http://support.microsoft.com/kb/317417/en"&gt;MS Support knowledge base&lt;/a&gt; was not up-to-date. At least I had different symptomatics with this. In an hour cursing policy of continuous updates I run Visual Studio 2008 installation and forced it to repair.&lt;br /&gt;&lt;br /&gt;Indeed that helped for VS 2008, but not for VS 2005&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4781353007786153257-8054158146715310532?l=atriplex-on-software.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4781353007786153257/posts/default/8054158146715310532'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4781353007786153257/posts/default/8054158146715310532'/><link rel='alternate' type='text/html' href='http://atriplex-on-software.blogspot.com/2008/03/macros-in-visual-studion.html' title='Macros in Visual Studio'/><author><name>atriplex</name><uri>http://www.blogger.com/profile/16799679805742536429</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-4781353007786153257.post-2598326202229119833</id><published>2008-03-02T15:42:00.006+02:00</published><updated>2008-03-17T00:53:33.219+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='IDE'/><category scheme='http://www.blogger.com/atom/ns#' term='Visual Studio'/><title type='text'>Challenging Visual Studio</title><content type='html'>After three month of silence I returned to my blogspot with fresh ideas. The most essential reason for this is that I was preparing special courses for our internal team and was busy with this as well as with managing our development process.&lt;br /&gt;&lt;br /&gt;Recently I've discovered .Net framework 3.5 and Visual Studion 2008 for me. Thank God and Microsoft that irrespective to dynamic UI changes in popular Microsoft products development environment is kept conservative: It will cut down at least efforts put on getting used with new IDE.&lt;br /&gt;&lt;br /&gt;So, what we have here:&lt;br /&gt;&lt;ul&gt;&lt;br /&gt;&lt;li&gt;&lt;a href="http://msdn2.microsoft.com/en-us/netframework/aa663326.aspx"&gt;WPF &lt;/a&gt;(Windows presentation foundation) - something that can make development of UI in web and on the desktop faster and more flexible&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;a href="http://msdn2.microsoft.com/en-us/library/ms735119.aspx"&gt;WCF &lt;/a&gt;(Windows communtication foundation) which can be used for transmitting data from one location to another&lt;/li&gt;&lt;br /&gt;&lt;li&gt;New language features (LINQ, anonymous classes, &lt;a href="http://msdn2.microsoft.com/en-us/library/bb397951.aspx"&gt;expression trees and lambda-functions&lt;/a&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;many features for ASP.NET&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Office and Sharepoint integration features&lt;/li&gt;&lt;br /&gt;&lt;/ul&gt;&lt;br /&gt;&lt;br /&gt;To some negative clues I can put following:&lt;br /&gt;Reduction of Composite UI and Microsoft Enterprise Libraries. Sounds like vendor set 2nd priority for these technologies.&lt;br /&gt;&lt;br /&gt;In next posts I'll put more attentions at the new technlogies, but right now my general conclusion after overviewing new development environment is following: &lt;br /&gt;&lt;i&gt;Microsoft tends to move accent to Web-development, but maintaining strong position in desktop application by providing easy passages to integrate .Net applications to the Office, Sharepoint and other business solutions&lt;/i&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4781353007786153257-2598326202229119833?l=atriplex-on-software.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4781353007786153257/posts/default/2598326202229119833'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4781353007786153257/posts/default/2598326202229119833'/><link rel='alternate' type='text/html' href='http://atriplex-on-software.blogspot.com/2008/03/challenging-visual-studion.html' title='Challenging Visual Studio'/><author><name>atriplex</name><uri>http://www.blogger.com/profile/16799679805742536429</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-4781353007786153257.post-1008358149026490111</id><published>2007-11-16T10:57:00.000+02:00</published><updated>2008-11-19T09:01:19.751+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='clipboard'/><category scheme='http://www.blogger.com/atom/ns#' term='keyboard'/><category scheme='http://www.blogger.com/atom/ns#' term='mouse'/><category scheme='http://www.blogger.com/atom/ns#' term='synergy'/><title type='text'>Much better than one</title><content type='html'>&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;I have noticed one tool that I use rather often. &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;I have laptop used both at home and at the office. Both at work and at the office I have desktop computer. Whenever I run some automated process on one machine I intensively work with another. It increases efficiency: Instead of waiting until NAnt and MSBuild will do their job and let me go ahead, I able to read, write, send/receive e-mails, prepare presentation and even develop on other machine. That's can be really big advantage for you, if you're already disappointed to have strong beliefs in multitasking OS. &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Until I installed &lt;a href="http://synergy2.sourceforge.net/"&gt;synergy&lt;/a&gt;, it was very annoying to transfer some small amount of data between my computers (for instance, URL or connection string from PC to laptop). Even if you have instance messenger on both or well organized set of shared folders. My hands where getting tired because I should work with two keyboards and two mice. &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;So, let's start with small practical introduction: So you have you're laptop (in my case PC-BORYS) to the left side of your desktop PC (BORYSDESK) with network connection established between them. Synergy is installed on both PC and laptop. &lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_bQLGP3VWnWw/Rz1hICec3yI/AAAAAAAAAOI/Rt0svqvHouI/s1600-h/working_place.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="http://4.bp.blogspot.com/_bQLGP3VWnWw/Rz1hICec3yI/AAAAAAAAAOI/Rt0svqvHouI/s320/working_place.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5133365941003673378" /&gt;&lt;/a&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;It's convenient to share PC's keyboard and mouse, so consider laptop PC-BORYS as client and BORYSDESK as server. Here is main screen of synergy:&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_bQLGP3VWnWw/Rz1gZyec3vI/AAAAAAAAANw/iBSgau3O6aE/s1600-h/synergy_client_configure.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="http://3.bp.blogspot.com/_bQLGP3VWnWw/Rz1gZyec3vI/AAAAAAAAANw/iBSgau3O6aE/s320/synergy_client_configure.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5133365146434723570" /&gt;&lt;/a&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;On client all you need is to specify server name (either network name or IP), see figure above. On server you should set adjacent screens configuration. In my case it's two screens connected side-by-side like on figure below:&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_bQLGP3VWnWw/Rz1ggiec3wI/AAAAAAAAAN4/sReXZPwWTaU/s1600-h/synergy_server_configure.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="http://2.bp.blogspot.com/_bQLGP3VWnWw/Rz1ggiec3wI/AAAAAAAAAN4/sReXZPwWTaU/s320/synergy_server_configure.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5133365262398840578" /&gt;&lt;/a&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Press start to share keyboard, mouse and clipboard on two PC's!&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;You can't expect synergy to transfer windows and support drag-and-drop operation between PC's, but there are anyway quite useful features ...&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Advantages:&lt;/span&gt;&lt;br /&gt;&lt;ul&gt;&lt;br /&gt;- synergy can work with any amount of PC's (imagine if you have 2 laptops and one PC)&lt;br /&gt;- clipboard buffer is also shared. You can copy-paste from one PC to another&lt;br /&gt;- configuration is saved&lt;br /&gt;- synergy doesn't require administrator rights on PC and perfectly works under normal user&lt;br /&gt;- clipboard buffer can be transferred with any kind of data (pictures, doc files and so on)&lt;br /&gt;- tray icon with connection status is provided&lt;br /&gt;&lt;/ul&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Disadvantages:&lt;/span&gt;&lt;br /&gt;&lt;ul&gt;&lt;br /&gt;- when server is very busy, mouse and keyboard can freeze&lt;br /&gt;- It incorrectly works with different keyboard layouts and functional key (so it's good when you use one variance of latin alphabet)&lt;br /&gt;- It gets stuck if you place large amount of data in clipboard buffer&lt;br /&gt;&lt;/ul&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;NB:&lt;/span&gt; &lt;span style="font-style:italic;"&gt;It's open source, freeware project, which hasn't been changed since 2006. The latest version is 1.3.1&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4781353007786153257-1008358149026490111?l=atriplex-on-software.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4781353007786153257/posts/default/1008358149026490111'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4781353007786153257/posts/default/1008358149026490111'/><link rel='alternate' type='text/html' href='http://atriplex-on-software.blogspot.com/2007/11/much-better-than-one.html' title='Much better than one'/><author><name>atriplex</name><uri>http://www.blogger.com/profile/16799679805742536429</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_bQLGP3VWnWw/Rz1hICec3yI/AAAAAAAAAOI/Rt0svqvHouI/s72-c/working_place.jpg' height='72' width='72'/></entry><entry><id>tag:blogger.com,1999:blog-4781353007786153257.post-3040142973321090693</id><published>2007-11-08T22:55:00.000+02:00</published><updated>2008-11-19T09:01:20.207+02:00</updated><title type='text'>dotProject experience</title><content type='html'>&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href="http://www.dotproject.net/"&gt;dotProject&lt;/a&gt; is light weight, free web-based team collaboration tool. &lt;br /&gt;Hosting where I have tried it first was linux-based with cPanel X v2.3.0 as primary remote control. I'm not very good in administrating Linux server, but &lt;a href="http://cpanel.123-web-host.nl/fantastico/"&gt;Fantastico tool&lt;/a&gt; installed dotProject in a few clicks. Of cause, I wasn't able to install specific version (I &lt;span style="font-weight:bold;"&gt;&lt;/span&gt;had experimented with , but as for me, it is extremely important that installation can be so easy. Anyway, team collaboration system is something customers don't pay for. And if you're collaboration tool don't demand your efforts, it's big advantage both for development and management.&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;It's free, web-based and written in PHP. There are some entities you need to know about if you work with dotProject:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;company &lt;/span&gt;- your team&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;projects &lt;/span&gt;- your global tasks, that make sense for management&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;tasks &lt;/span&gt;- your local tasks, that do not make sense for management&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;files &lt;/span&gt;- heterogeneous project documentation&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;forum &lt;/span&gt;- place where we can discuss something&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;tickets &lt;/span&gt;- some notes, that can either trigger discussion or task&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;events &lt;/span&gt;- calendar events&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;user &lt;/span&gt;- project contributor&lt;br /&gt;&lt;br /&gt;dotProject has module structure. Each module can be represented as tool bar item (or hidden for convenient or security reason). &lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_bQLGP3VWnWw/RzX9NJBEI6I/AAAAAAAAANY/AtZEyD0OpVY/s1600-h/overview.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="http://4.bp.blogspot.com/_bQLGP3VWnWw/RzX9NJBEI6I/AAAAAAAAANY/AtZEyD0OpVY/s320/overview.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5131285752659059618" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Basic installation include following modules: Companies, Projects, Tasks, Calendar, Files, Contacts, Forums, Tickets, User Administration, System Administration, Departments, Help.&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;For project like ours some of them are in fact surplus, so first I did is getting rid of Companies (we operate just one), Departments and Help. I was about to remove projects also, but realized that no task or event can be created without activating this panel. That's really strange, because logically I expected that like file can be created in &lt;span style="font-style:italic;"&gt;files panel&lt;/span&gt;, or user in &lt;span style="font-style:italic;"&gt;User Administration&lt;/span&gt;, tasks should be created on Tasks panel. This is little disadvantage: you can't set user rights to let them create tasks without removing or adding projects. Another inconsistency I have noticed is that user should have rights to operate forums to have right at least to post their message. Administrator can set although rights to create entities, and restrict to remove, but I think in most cases it's not a good solution.&lt;br /&gt;&lt;br /&gt;&lt;center&gt;&lt;b&gt;&lt;u&gt;dotProject in use&lt;/u&gt;&lt;/b&gt;&lt;/center&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;How to create user users in dotProject?&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Each user has rich profile with contacts (even ICQ is available), but which can not be extended with &lt;span style="font-style:italic;"&gt;custom fields&lt;/span&gt;. To create user you should use User Administration panel and you can actually fill whole necessary information about them&lt;br /&gt;Users should have role to be active. I reduced rights for &lt;span style="font-style:italic;"&gt;project worker&lt;/span&gt; (by default project worker has all rights except administrative panel (User Admininstration and System Administration). dotProject proposes few standard user roles for different project contributors.&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;User can be united in departments, project and companies, but I found this functionality somewhat surplus for me.&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;There is a confusing field in user's profile called user type: it has no impact on rights or settings, but used only for information.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Tasks and tickets&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;dotProject is not much convenient for doing this, but indeed that's good that tasks are more "heavy" than ticket, so tasks should be created from panel (there are 3-4 clicks needed. There are some attributes in tasks and projects that are not necessary: project can have states, tasks can be different types, and set of those states and types can be only changed by intruding to DB. Both tasks and project have budget, it's good that dotProject has this feature, but this field can be hidden for different roles, which makes this feature not very good for practical usage. In general all entity attributes in dotProject is not &lt;span style="font-style:italic;"&gt;objects of administration&lt;/span&gt;, so you can't grant access to some entity with concealing some data for them.&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Tasks can be distributed by multiple people, but this requires from manager to see percentage of contribution, so probably it is reasonable to agree with team how to use percentage, otherwise it will be a mess.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Tickets &lt;/span&gt;supposed to be used as trouble reports, but can be used for "offline brainstorming" - people can express their proposals here.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Forums &lt;/span&gt;- are not very special discussion placeholder. Each forum has moderator, which has the same rights as anybody else, so this is not role, but just administrator&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Files &lt;/span&gt;- that's really cool that dotProject has storage for homogeneous documents (in any format). It supports versions (and check in/check out operations) and allows to view the documents directly from browser.&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_bQLGP3VWnWw/RzYNa5BEI8I/AAAAAAAAANo/yF7Im4FKiMA/s1600-h/versions.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="http://4.bp.blogspot.com/_bQLGP3VWnWw/RzYNa5BEI8I/AAAAAAAAANo/yF7Im4FKiMA/s320/versions.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5131303581068305346" /&gt;&lt;/a&gt;&lt;br /&gt;Any version can be reviewed and all versions are kept in file system on the server. With mySql database which can be exported from server, it makes dotProject quite portable. File can be attached to certain task and project or not attached to any.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Calendar &lt;/span&gt;- good for organizing events. Events can be created by users in project pane and notification will be sent if needed. Actually after fanstastico installation notification works! Like most of entities events can have also web URL (for collaboration with Wiki) and bound to certain task&lt;br /&gt;&lt;br /&gt;&lt;center&gt;&lt;b&gt;&lt;u&gt;dotProject tuning&lt;/u&gt;&lt;/b&gt;&lt;/center&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Other settings&lt;/span&gt; - there are plenty of settings, in System Administration panel even color scheme can be set, but there are anyway many properties that can be easily changed: for instance although you can set Saturday and Sunday as working day in calendar, you can't make Sunday in the end of week. Settings for notification and mail server can be set here,&lt;br /&gt;custom fields can be attached to companies, projects, tasks and events, but unfortunately not to tickets and contacts. &lt;br /&gt;&lt;br /&gt;It took 3 hours to install dotProject domestically on my Windows machine, but I'm lucky I did it: I have deployed our team DB on my machine and made my experiments even more thoroughly. DB include some significant settings that can be useful for dotProject customization (for example task and document categories and user types). They are represented as rows in certain columns of mySql database.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Other features&lt;/span&gt;&lt;br /&gt;&lt;ul&gt;&lt;br /&gt;&lt;li&gt;Contacts can be imported and synchronized with LDAP&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Translation manager can be used for localization&lt;/li&gt;&lt;br /&gt;&lt;li&gt;User logs allow tracking user activity in project (Good feature for paranoiac managers)&lt;/li&gt;&lt;br /&gt;&lt;li&gt;There are more modules like search, history, install and so on available in System Administration&lt;/li&gt;&lt;br /&gt;&lt;/ul&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Let's briefly resume problems in dotProject&lt;/span&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_bQLGP3VWnWw/RzYMWZBEI7I/AAAAAAAAANg/jJqnEw5KJ1o/s1600-h/bug.jpg"&gt;&lt;img style="float:right; margin:0 10px 10px 0;cursor:pointer; cursor:hand;" src="http://2.bp.blogspot.com/_bQLGP3VWnWw/RzYMWZBEI7I/AAAAAAAAANg/jJqnEw5KJ1o/s320/bug.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5131302404247266226" /&gt;&lt;/a&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;There are some trouble with Cyrillic characters, which can make impediment for export/import DB or incorrectly rendered in PDF reports.&lt;br /&gt;&amp;nbsp;&amp;nbsp;I have found SQL injection error (discovered when I included to company name apostrophe character, see figure to the left)&lt;br /&gt;&amp;nbsp;&amp;nbsp;Calendar can't be set to European standard&lt;br /&gt;&amp;nbsp;&amp;nbsp;Initial color scheme is ugly, IMHO&lt;br /&gt;&amp;nbsp;&amp;nbsp;Fast localization and some attributes choice require changes in DB&lt;br /&gt;&amp;nbsp;&amp;nbsp;dotProject provides no integration with CVS systems, probably connection with development workflow should be conducted by filling some custom fields to tasks or making direct reference&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Main conclusion:&lt;/span&gt; dotProject provides really good start for small and medium IT projects with good team collaboration platform which can be extended or in far future transferred to something and can be easily used together with Wiki or other CMS system.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4781353007786153257-3040142973321090693?l=atriplex-on-software.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4781353007786153257/posts/default/3040142973321090693'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4781353007786153257/posts/default/3040142973321090693'/><link rel='alternate' type='text/html' href='http://atriplex-on-software.blogspot.com/2007/11/dotproject-experience.html' title='dotProject experience'/><author><name>atriplex</name><uri>http://www.blogger.com/profile/16799679805742536429</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_bQLGP3VWnWw/RzX9NJBEI6I/AAAAAAAAANY/AtZEyD0OpVY/s72-c/overview.jpg' height='72' width='72'/></entry><entry><id>tag:blogger.com,1999:blog-4781353007786153257.post-7059023895991728967</id><published>2007-11-04T00:53:00.000+02:00</published><updated>2007-11-04T01:39:54.444+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='management'/><category scheme='http://www.blogger.com/atom/ns#' term='team'/><title type='text'>Can team spirit be automated?</title><content type='html'>&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Two weeks ago the remarkable workshop was conducted at our company: about different tools that may be used in different aspects of the IT projects. I was presenting &lt;a href="http://confluence.public.thoughtworks.org/display/CCNET/Welcome+to+CruiseControl.NET"&gt;CruiseControl.Net&lt;/a&gt; as build server and continuous integration tool. Other report was about &lt;a href="http://notepad-plus.sourceforge.net/uk/site.htm"&gt;Notepad++&lt;/a&gt; - actually very good editor to amend configuration files. The third report was an overview of team collaboration tools given by our the most experienced consultant.&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;His task was really challenging: web is flooded with different solution regarding team collaboration and managing IT-projects. It's really difficult to come up with something the top most convenient on this. IMHO, this tendency took unstoppable power from banal wish of every two from three developers to become a project manager. Another reason is that there is no good solution for managing IT-project indeed. Not all projects that have the modern infrastructure for collaborating have success. Among this, I have seen couple of successful projects were neither team collaboration nor bug tracking nor even source control systems were used. Accordingly to our gurus Tom DeMarco and Timothy Lister the most valuable thing is team spirit, which can not be replaced by tools or methodologies. Their book about &lt;a href="http://en.wikipedia.org/wiki/Peopleware"&gt;peopleware&lt;/a&gt; is issued in 1987 and against all odds still lives after many collaboration tools are dead ...&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Day by day, moment by moment I am being persuaded there is no way to replace team spirit by some tool, like poor architecture can not be replaced by superb UML designing.   &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Well let's turn back to our workshop: then only one tool attract my attention - &lt;a href="http://www.dotproject.net/"&gt;dotProject&lt;/a&gt; - it was said to be free, light-weight and full functioning. With &lt;a href="http://trac.edgewall.org/"&gt;Trac&lt;/a&gt; that also is very remarkable (our company once had it as default tool for IT-startups), it is going to be something I'm gonna start future investigations.&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;I felt I badly needed some place where I can see myself evolution of the team and evolution of the team collaboration. &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Two weeks after I suddenly get an opportunity to set some experiment with both Trac and dotProject. The first in line was dotProject, so in next post I am going to share experience about this ...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4781353007786153257-7059023895991728967?l=atriplex-on-software.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4781353007786153257/posts/default/7059023895991728967'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4781353007786153257/posts/default/7059023895991728967'/><link rel='alternate' type='text/html' href='http://atriplex-on-software.blogspot.com/2007/11/can-team-spirit-be-automated.html' title='Can team spirit be automated?'/><author><name>atriplex</name><uri>http://www.blogger.com/profile/16799679805742536429</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-4781353007786153257.post-5453375167591821501</id><published>2007-10-11T16:51:00.000+03:00</published><updated>2007-10-12T12:02:00.614+03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='agile'/><title type='text'>The real goal of Agile.</title><content type='html'>&lt;P&gt;    &lt;strong&gt;The 3rd Agile Gathering&lt;/strong&gt; was conducted by &lt;a href="http://www.agileukraine.org/"&gt;Agile Ukraine&lt;/a&gt; in Kyiv on 9/10. I was participating as humble developer from our team listening to people who have already achievements (or at least pretended to have) in implementing agile technologies.&lt;br /&gt;&lt;/P&gt;&lt;P&gt;    Being a participant of previous two gatherings I feel some remarkable symptoms, which probably may cause me to review agile technologies in different manner.&lt;br /&gt;&lt;/P&gt;&lt;P&gt;    Organization crew strongly wants to sell certifications. So, they encourage everybody to become SCRUM certificated master (SCM), to have affiliation of the international agile community. Then you probably gain SCRUM Certificated practitioner. And the third stage of that is to become SCRUM Certificated trainer to be able to provide certification for other people. Capacities are growing: soon one more battalion of SCMs will appear in Kyiv. IMHO, it rather makes SCM devalued than increase percentage of successive projects, but let's see it together in the future.&lt;br /&gt;&lt;/P&gt;&lt;P&gt;    Reporters lean to tell about their projects and how effective they are with agile. That's great, but why main accent is made "How to make your business applied for agile"? They prefer to answer question: "What kind of project should you manage to implement agile?", not "How to apply agile on some project?":&lt;br /&gt;&lt;i&gt;- How about deadlines? How can you check if you are meeting deadline or not, implied from your estimations?&lt;br /&gt;- We do not operate with term "deadline". We have workflow, sprint, backlog, but do not use deadlines.&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;&lt;/P&gt;&lt;P&gt;    Well done. Thanks! Only challenge is to find such brave customer, that doesn't care about deadlines!&lt;br /&gt;&lt;/P&gt;&lt;P&gt;    As for me, it's pathetic point of view: instead of appling process to business, let's make your business applied to the process. Bringing business to agile is even more ridiculous thing then bringing agile to agile software tool.&lt;br /&gt;&lt;/P&gt;&lt;P&gt;    Accordingly to &lt;a href="http://www.slideshare.net/adambyrtek/story-of-code-sprinters"&gt;report of Adam Byrtek&lt;/a&gt; about his company Codesprinters agile techologies can be applied for small teams developing web-based solution on languages like Python. Unfortunatelly, that doesn't impress me much, because I can't drive out requirement of my customer and say: "Dear sirs, instead of delivering desktop client-server application based on Win32, we offer you web portal developed in Java". &lt;br /&gt;&lt;/P&gt;&lt;P&gt;    Indeed, the most crucial thing is how to convert methodology to something worth to decision making people: would it be customer, headmaster, sales or owner you should represent your approach in his values.&lt;br /&gt;&lt;/P&gt;&lt;P&gt;    I remember very remarkable book &lt;a href="http://www.amazon.com/Critical-Testing-Processes-Prepare-Perform/dp/0201748681"&gt;Critical Testing Processes&lt;/a&gt; by Rex Black. It impressed me very much because author managed to convert his technology to business benefits. Actually this is essential point of his thinking. Look at the first frame of his presentation &lt;a href="http://www.rexblackconsulting.com/publications/Critical%20Testing%20Processes.pdf"&gt;here&lt;/a&gt;: his approach serves to save money. His listers don't even think what business values will be spent on implementation such QA-driven development. Because his approach is business value itself!&lt;br /&gt;&lt;/P&gt;&lt;P&gt;I can see community is progressing comparatively with last year: among people bedazzled with some extra-special-new-super-cool methodology appears essential community of pragmatic specialists, who will probably reenforce agile stronghold. Askhat Urazbaev from Luxsoft Moscow emphasized that agile is implemented not for agile, but to make project successful (in the meaning of business). I strongly belive in that and I also believe that agile will make software industry more successful, but for now I didn't get any good ideas how to make agile benefits evident for business. And this is very disappointing ...&lt;/P&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4781353007786153257-5453375167591821501?l=atriplex-on-software.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4781353007786153257/posts/default/5453375167591821501'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4781353007786153257/posts/default/5453375167591821501'/><link rel='alternate' type='text/html' href='http://atriplex-on-software.blogspot.com/2007/10/real-goal-of-agile.html' title='The real goal of Agile.'/><author><name>atriplex</name><uri>http://www.blogger.com/profile/16799679805742536429</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-4781353007786153257.post-2559487713298868711</id><published>2007-10-11T12:32:00.000+03:00</published><updated>2007-10-12T12:05:20.727+03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='antipatterns'/><title type='text'>Antipattern introduction seminar</title><content type='html'>&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;On Monday (09/10/2007) I was holding workshop about Antipatterns in our host company &lt;a href="http://www.ciklum.net/"&gt;Ciklum&lt;/a&gt;. Attendance was quite low, but anyway I know start can't be easy.&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;The topic is quite interesting, but since workshop was going to be mainly based on single book &lt;a href="http://www.antipatterns.com/"&gt;"Antipattern" by W. Brown and company&lt;/a&gt;, I strongly decided to brighten up it with my own experience. Project I'm involved in is all geographic map of Antipattern, so I had enough examples to make presentation pretty close to reality.&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;I have found one peculiar thing: some people are really appreciate commiting to the main topic of presentation: they were steadily asking question and sharing their experience or opinion. Once I thought it's not good that reporter is frequently interrupted, but I really like it now. Only suggestion, that he (reporter) should be adequate on interrupting: to not argue very much and to know when to stop paying attention on the active listener.&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Next time I would rather have something like technical club, where all participants will be more or less equal ...&lt;br /&gt;&lt;P&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;And I believe I already have some ideas ...&lt;br /&gt;&lt;/P&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4781353007786153257-2559487713298868711?l=atriplex-on-software.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4781353007786153257/posts/default/2559487713298868711'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4781353007786153257/posts/default/2559487713298868711'/><link rel='alternate' type='text/html' href='http://atriplex-on-software.blogspot.com/2007/10/antipattern-introduction-seminar.html' title='Antipattern introduction seminar'/><author><name>atriplex</name><uri>http://www.blogger.com/profile/16799679805742536429</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-4781353007786153257.post-1932914120057482354</id><published>2007-10-01T23:48:00.000+03:00</published><updated>2007-10-02T00:04:16.616+03:00</updated><title type='text'>Windows 2000 must survive!</title><content type='html'>&lt;div align="left"&gt;    3 years ago I have switched from Windows 2000 to Windows XP. It's already year since WinXP is issued, but I have surprise intention to return to Windows 2000 again.&lt;br /&gt;    Today I have successfully compiled Outlook Integration solution in VS2005 based on new VSTO. And to my own surprise it was done without any VS extentions, w/o .Net framework 3.0 and even without Visual Studion itself. The secret?&lt;br /&gt;    Oh... There is no secret at all: VS2005 uses msbuild.exe to compile own solutions. It adds some tolerance to it, but my general build engineering approach is too keep build server and development as lean as possible. The thing I dislike most of all is when somebody updates list of prerequisites of our software and particulary preinstalled software necessary for development. My will would be to be able to compile everything in commandline without any additional tools.&lt;br /&gt;    In next post I'd like to describe this process in detail, but today I would like to concern attention on main principle: &lt;/div&gt;&lt;div align="center"&gt;&lt;br /&gt;&lt;strong&gt;Build process should be environment independent&lt;/strong&gt;. &lt;/div&gt;&lt;div align="left"&gt; &lt;/div&gt;&lt;div align="left"&gt;I.e. irrespective to environment that exists on build server the result should be invariant.&lt;br /&gt;    Some days ago we have established new build server and I accidently realized that it works different in testing environment. I swear to avoid situation like that in the future.&lt;br /&gt;    Seems to be like we are striving to a catastrophe?&lt;br /&gt;    Oh, yeah, we are: it happens when we try to deliver our soft built on new server to customer who has version of the old prerequisite ...&lt;br /&gt;&lt;/div&gt;&lt;div align="right"&gt;&lt;em&gt;Somebody thinks that update is some kind of Tivoli. Oh, dear sirs, you are mistaken, it is some kind of Ragnarok!&lt;/em&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4781353007786153257-1932914120057482354?l=atriplex-on-software.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4781353007786153257/posts/default/1932914120057482354'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4781353007786153257/posts/default/1932914120057482354'/><link rel='alternate' type='text/html' href='http://atriplex-on-software.blogspot.com/2007/10/windows-2000-must-survive.html' title='Windows 2000 must survive!'/><author><name>atriplex</name><uri>http://www.blogger.com/profile/16799679805742536429</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-4781353007786153257.post-7244340788457722322</id><published>2007-09-23T23:20:00.000+03:00</published><updated>2007-09-24T00:05:15.694+03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Firewall'/><category scheme='http://www.blogger.com/atom/ns#' term='environment'/><title type='text'>Any good reason to have firewall?</title><content type='html'>I have been in trouble with VMWare so many times, that even now, when I'm deeply under  pressure, I've started investigation. So, main question: how to deploy virtual machines host on fresh PC where firewall is used.&lt;br /&gt;    The only thing I know is that firewalls are special tools to control and restrict incomming and outgoing traffic within local network and in Internet. Before that I have used it rarely. That's some kind of phylosophical question: Should I it be used on home PC?&lt;br /&gt;    It is said that there are very manu malicious things downloaded to local PC from internet. But how can tool that requests if application lsass.exe can access address 198.162.1.4 port 443.&lt;br /&gt;    Well done! Challenging question. And what if I say no? Where will I get refuse next time?&lt;br /&gt;    Firewalls are all user-unfriendly. To be honest, they are not for common user. Let system administrators have deal with them. Home PC are buried under junk soft normally because their masters want to download this and that. Strange, how some people can proud with their "downloading". Oh, man, stop downloading that suxx video - you have no time even to see worth things!&lt;br /&gt;&lt;br /&gt;    So, let's come back to my investigation. So I have downloaded version of .&lt;a href="http://www.pctools.com/firewall/"&gt;PCTools firewall+&lt;/a&gt;. Lite and precious thing free of charge. The newest version has some interesting features:&lt;br /&gt;They provide 2 modes of creating rules for the firewall: normal user and expert user.&lt;br /&gt;The latter means that user will be requested for each attempt to connect distinct port and more presice rules will be created. Before that I have tried to use ISA, Kerio, McAfee and this soft looks quite good.&lt;br /&gt;Another advantage is predifined rules that are spread over PC Tools which allow user fast customization with less amount of stupid questions.&lt;br /&gt;    So I have installed PC Tools Firewall on my laptop (Acer TravelMate 2700) with Windows XP SP2. Before that I've installed VMWare workstation 5.5. PC Tools install so called PCTools Driver that apparently used to track hardware activity. To my surprise those drivers are conflicting with VMWare drivers. PC Tools refused to work when 4 Windows Services belonged to VMWare are working. That's suxx! I knew that at my job people also have headache using VMWare and firewall. And even worse, that PC Tools doesn't output any presice info why did it fail! Only message "Failed to initialize firewall drivers, please try to reboot your machine. If the problem persists please contact PC Tools support". This case I have posted to &lt;a href="http://www.pctools.com/forum/showthread.php?t=48940"&gt;PCTools forum&lt;/a&gt;.&lt;br /&gt;Another problem I've encountered and also could not resolve is that &lt;a href="http://www.pctools.com/forum/showthread.php?t=49033"&gt;Firewall don't allow to lock workstation&lt;/a&gt;. This is not so critical for me, since I don't lock my PC, but this might grow up into a great impediment for the team.&lt;br /&gt;    I have anyway registered my copy of PCTools firewall. I hope those guys won't left my suggestions without answer.&lt;br /&gt;&lt;br /&gt;    Although firewall doesn't make much distortion to booting process some of booting process are slowdowned. And I have measurements for &lt;a href="http://www.softpedia.com/get/Tweak/System-Tweak/BootVis.shtml"&gt;Microsoft BootVis&lt;/a&gt;. After installing Office, Firewall, NetBeans and Visual Studio loading windows services take twice longer time then before. &lt;br /&gt;$Sic transit gloria mundi!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4781353007786153257-7244340788457722322?l=atriplex-on-software.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4781353007786153257/posts/default/7244340788457722322'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4781353007786153257/posts/default/7244340788457722322'/><link rel='alternate' type='text/html' href='http://atriplex-on-software.blogspot.com/2007/09/any-good-reason-to-have-firewall.html' title='Any good reason to have firewall?'/><author><name>atriplex</name><uri>http://www.blogger.com/profile/16799679805742536429</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-4781353007786153257.post-7424666535072085489</id><published>2007-09-16T23:32:00.000+03:00</published><updated>2007-11-16T10:56:05.705+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='requirements'/><category scheme='http://www.blogger.com/atom/ns#' term='agile'/><category scheme='http://www.blogger.com/atom/ns#' term='metrics'/><title type='text'>Requirements metrics</title><content type='html'>This week the hotest question among &lt;a href="http://www.agileukraine.org/"&gt;Agile Group Ukraine&lt;/a&gt;) was discussion about approaches how to measure requirement completeness and feature readyness for shipping. There were basicly 2 basic opinions: Are there any defined approaches to detect if you have ready feature or not. &lt;br /&gt;Strange why people things that business value can be measured before you have money flow? &lt;br /&gt;My conlcusion is that there are tracking methodologies to measure development tasks and there are tracking for business tasks also. But there is no methodologies how to correspond business and development tasks ...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4781353007786153257-7424666535072085489?l=atriplex-on-software.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4781353007786153257/posts/default/7424666535072085489'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4781353007786153257/posts/default/7424666535072085489'/><link rel='alternate' type='text/html' href='http://atriplex-on-software.blogspot.com/2007/09/requirements-metrics.html' title='Requirements metrics'/><author><name>atriplex</name><uri>http://www.blogger.com/profile/16799679805742536429</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-4781353007786153257.post-1595178786494547105</id><published>2007-09-10T00:11:00.000+03:00</published><updated>2007-09-10T00:33:01.723+03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Console'/><title type='text'>Web application vs. desktop</title><content type='html'>&lt;p&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Nowadays I can see so many developers leaning to the web development as to something very promising. Being involved in process of development that represented to the end-user as desktop application, once I was quite excited with debates about what kind of application is the best.&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Whenever somebody asks me what kind of application I like to develop, web or desktop, I reply that my style is console application. In fact, lack of moderation became a curse of the modern society. And IT branch is not an exception: Each 2-3 years interface outlook is entirely changing: the most prominent software manifacturer are trying to make people require more and more flashy widgets for the user interface. But I do believe that the basics of all successful systems will be functionality determined by command line. Everything is going to be automated and command line is essential part of this. Look for instance on Perforce - versioning control system that we use. Indeed, P4 has provided very convenient command line that covers &lt;strong&gt;all&lt;/strong&gt; needs of the software developer. Their clients (which are actually 2 desktop and 1 web interface client are secondary. &lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Look at the google: simple interface for basic needs, - that's a formula of success. Gmail is preferrable mailer, google.com is the best search machine. You can be novice or master and use this interface in the same way. Oh, how user friendly it is indeed!&lt;br /&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4781353007786153257-1595178786494547105?l=atriplex-on-software.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://atriplex-on-software.blogspot.com/feeds/1595178786494547105/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4781353007786153257&amp;postID=1595178786494547105' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4781353007786153257/posts/default/1595178786494547105'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4781353007786153257/posts/default/1595178786494547105'/><link rel='alternate' type='text/html' href='http://atriplex-on-software.blogspot.com/2007/09/web-application-vs-desktop.html' title='Web application vs. desktop'/><author><name>atriplex</name><uri>http://www.blogger.com/profile/16799679805742536429</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4781353007786153257.post-5594547990240149222</id><published>2007-09-09T11:15:00.000+03:00</published><updated>2007-09-09T11:26:31.434+03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Introduction'/><title type='text'>Message to IT Gurus</title><content type='html'>Dear IT Gurus!&lt;br /&gt;&lt;br /&gt;      I always used your publication to support my thoughts expressed on different meetings, jobs, simposiums and discussions. Whenever I represent community, but not act as a single man, I become more persuasive. I always suffered from the fact, that I can't thank you for that. And since today I have a new hope that situation is going to be changed. On this blogspot I will share my thoughts in software development, architecture, management and philosophy and I hope one day my marginal contribution to world IT communuty will be positive.&lt;br /&gt;      I don't fear that I'll have lack of material: my cup runneth over with my own thought, that can supply even more than this blog :)&lt;br /&gt;&lt;br /&gt;One day you will know me, why not today?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4781353007786153257-5594547990240149222?l=atriplex-on-software.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://atriplex-on-software.blogspot.com/feeds/5594547990240149222/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4781353007786153257&amp;postID=5594547990240149222' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4781353007786153257/posts/default/5594547990240149222'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4781353007786153257/posts/default/5594547990240149222'/><link rel='alternate' type='text/html' href='http://atriplex-on-software.blogspot.com/2007/09/message-to-it-gurus.html' title='Message to IT Gurus'/><author><name>atriplex</name><uri>http://www.blogger.com/profile/16799679805742536429</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry></feed>
