<?xml version='1.0' encoding='UTF-8'?><rss xmlns:atom="http://www.w3.org/2005/Atom" xmlns:openSearch="http://a9.com/-/spec/opensearchrss/1.0/" xmlns:blogger="http://schemas.google.com/blogger/2008" xmlns:georss="http://www.georss.org/georss" xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr="http://purl.org/syndication/thread/1.0" version="2.0"><channel><atom:id>tag:blogger.com,1999:blog-3950834993997310011</atom:id><lastBuildDate>Tue, 02 Sep 2025 08:46:27 +0000</lastBuildDate><category>leadership</category><category>life</category><category>component</category><category>software</category><category>component software</category><category>travel</category><title>Notes on BZ Life and Interests.</title><description>Musings on software development, technology, leadership challenges, and personal interests.</description><link>http://toga-sefer.blogspot.com/</link><managingEditor>noreply@blogger.com (Berhane Zewdie)</managingEditor><generator>Blogger</generator><openSearch:totalResults>13</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><item><guid isPermaLink="false">tag:blogger.com,1999:blog-3950834993997310011.post-3463110787854788953</guid><pubDate>Sun, 05 Feb 2012 22:23:00 +0000</pubDate><atom:updated>2012-04-28T13:05:55.567-05:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">leadership</category><category domain="http://www.blogger.com/atom/ns#">life</category><title>On Being a Cathedral Builder</title><description>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
Nowhere to be seen was the construction site or building that was being built but a group of laborers were working on cutting stones in a quarry.  A noble enlightened man was passing by the area and wondered what these laborers were working on since he could not see the construction site.  Hence, he decided to ask the laborers what they were working on – he approached a certain unmotivated looking laborer and asked:&lt;/div&gt;
&lt;ul style=&quot;text-align: justify;&quot;&gt;
&lt;li style=&quot;font-style: italic;&quot;&gt;What are you doing?&lt;/li&gt;
&lt;li&gt;The stone cutter answered, &lt;span style=&quot;font-style: italic;&quot;&gt;I am cutting stones; can’t you see?&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
The enlightened person, still puzzled, went to another laborer and asked him,&lt;/div&gt;
&lt;ul style=&quot;text-align: justify;&quot;&gt;
&lt;li style=&quot;font-style: italic;&quot;&gt;What are you doing?&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-style: italic;&quot;&gt;I am making my living out of shaping stones&lt;/span&gt;, answered the laborer with dejected emotion and look on his face.  This guy was sure enough counting hours looking forward to go home.&lt;/li&gt;
&lt;/ul&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
Again, the enlightened person wanted to try his luck in quenching his thirst to get an answer and approached a laborer who was singing while cutting stones, smile on his face,&lt;/div&gt;
&lt;ul style=&quot;text-align: justify;&quot;&gt;
&lt;li&gt;&lt;span style=&quot;font-style: italic;&quot;&gt;What are you doing?&lt;/span&gt;  Asked the noble man.&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-style: italic;&quot;&gt;Oh sir! I am a mason and building a cathedral &lt;/span&gt;answered the laborer.  He was about to say more when the enlightened person interrupted him and said – aha, I get it now and left.  The laborer went back to singing and cutting stones, smile on his face, singing, chiseling away for a cathedral …&lt;/li&gt;
&lt;/ul&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
Which laborer resonated with you?  I am sure you have seen these types of people in your work place – whatever type of trade you are involved in.  The cathedral builder is the person that takes his job with purpose, believing in the final result of his work well in advance at the early stage, and looking forward to what he is going to accomplish – even if the final result is years away.  The cathedral builder surely sees the forest from the trees … He/she is the one who gets up in the morning and go to work having the cathedral he/she is helping to build in mind – with purpose, and not much about cutting stones.&lt;br /&gt;
&lt;br /&gt;
For my colleagues (and people in the software development industry), how do you answer the following questions:&lt;/div&gt;
&lt;ul style=&quot;text-align: justify;&quot;&gt;
&lt;li&gt;When you fix a bug, do you think of removing the error (or the symptom) or do you think of the user who would be using your system without encountering any issues? &lt;/li&gt;
&lt;li&gt;When you build a system, do you think of writing methods, classes, components, frameworks or do you think of the final product being used by a user? &lt;/li&gt;
&lt;li&gt;Is your happiness limited to the time when you implement an excellent algorithm, or do you imagine how a user will be able to benefit in doing his job because of your creative solution? &lt;/li&gt;
&lt;/ul&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
I can definitely guess what your answers are.  Actually, I know what your answer is going to be for each of the questions – you would say ‘I am a cathedral builder’.&lt;br /&gt;
&lt;br /&gt;
P.S: The above story is an old story – as many of other old stories, it could have many different versions by now (check it out on the web).&lt;br /&gt;
&lt;br /&gt;
Currently reading: &lt;a href=&quot;http://www.amazon.com/Service-Design-Patterns-Fundamental-Solutions/dp/032154420X/ref=sr_1_1?s=books&amp;amp;ie=UTF8&amp;amp;qid=1328481424&amp;amp;sr=1-1&quot;&gt;&lt;span style=&quot;font-size: 85%;&quot;&gt;&lt;span id=&quot;btAsinTitle&quot;&gt;Service Design Patterns: Fundamental Design Solutions for SOAP/WSDL and RESTful Web Services&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;/div&gt;
&lt;/div&gt;</description><link>http://toga-sefer.blogspot.com/2012/02/on-being-cathedral-builder.html</link><author>noreply@blogger.com (Berhane Zewdie)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-3950834993997310011.post-5728574327282212242</guid><pubDate>Sun, 11 Sep 2011 01:58:00 +0000</pubDate><atom:updated>2011-09-12T20:50:16.923-05:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">leadership</category><category domain="http://www.blogger.com/atom/ns#">life</category><title>On Manichean Perception</title><description>&lt;div style=&quot;text-align: justify;&quot;&gt;Manichean theory or perception of the world started with a Persian by the name Manes/Mani - who founded an ancient religion espousing a doctrine of a struggle between good and evil.&lt;span style=&quot;mso-spacerun:yes&quot;&gt;  &lt;/span&gt;Manichean has an over-simplified view of the world – everything is reduced to a dualistic view of the world, dividing things into good or evil, light or dark, black or white, entertaining no middle or in between states, no shades of gray.&lt;/div&gt;&lt;p style=&quot;text-align: justify;&quot;&gt;&lt;/p&gt;&lt;div&gt;    &lt;/div&gt;&lt;p style=&quot;text-align: justify;&quot; class=&quot;MsoNormal&quot;&gt;Just by taking time to blog about this, you may be wondering about my infatuation on this old religion, which at first glance seemed even not logical in these day and age.&lt;span style=&quot;mso-spacerun:yes&quot;&gt;  &lt;/span&gt;For that matter, the last time I heard an important person, a person with world changing power at that, with this kind of view was some ten years ago when the then American president George W Bush said to the world – ‘You are either with us or against us’ - during the first days of war against terrorism after the sad days of September 11, 2001.&lt;/p&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;    &lt;/div&gt;&lt;p style=&quot;text-align: justify;&quot; class=&quot;MsoNormal&quot;&gt;Even though very sublime, this perception is making a comeback and really out for anyone to see.&lt;span style=&quot;mso-spacerun:yes&quot;&gt;  &lt;/span&gt;Again, I started seeing people involved in American politics, needless to mention the party’s name, espousing the same kind of approach to their view of American ills and the way to get out of the current predicaments.&lt;span style=&quot;mso-spacerun:yes&quot;&gt;  &lt;/span&gt;I started really being afraid of this kind of perception and started seeing the impact it may have on people.&lt;span style=&quot;mso-spacerun:yes&quot;&gt;  &lt;/span&gt;&lt;/p&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;    &lt;/div&gt;&lt;p style=&quot;text-align: justify;&quot; class=&quot;MsoNormal&quot;&gt;I am running into the danger of oversimplifying the issue but here are the obvious sign that I see on people with such perception:&lt;/p&gt;&lt;div&gt;  &lt;/div&gt;&lt;ul style=&quot;text-align: justify;&quot;&gt;&lt;li&gt;Thinking in between such as the good or bad is painful so people jump to make conclusion on one side.&lt;span style=&quot;mso-spacerun:yes&quot;&gt;  &lt;/span&gt;This thinking will make people lazy – forcing them not to think.&lt;span style=&quot;mso-spacerun:yes&quot;&gt;  &lt;/span&gt;It is easy to pick one side without spending time to analyze if there is another way.&lt;/li&gt;&lt;li&gt;For some people, it will compensate for the lack of morality or help them to appear morally high by siding on one aspect that looks ‘good’ to them.&lt;/li&gt;&lt;li&gt;People will make something look bad just because they want to make their side look good.&lt;span style=&quot;mso-spacerun:yes&quot;&gt;  &lt;/span&gt;They do not recognize any good point to be accepted on the other side – this is nihilistic by nature.&lt;/li&gt;&lt;li&gt;Add on top of this lack of basic humanity or civilization, a simple difference between people will lead to killings or war that is difficult to understand by reasoned people.&lt;/li&gt;&lt;/ul&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;Manichean perception is proved to make people myopic and narrow minded. People with small set of yardstick to measure the world will be disruptive to progress and menace to society. When encountered with a tough situation, these people resort back to their yardsticks to see problems. Our world is changing fast – there is a tremendous amount of knowledge in the digital world that people are using now. A lot of people have a superb communication mechanism at their fingertips. With all this advancement, our world is becoming complex – the digital advance will continue to challenge us with its diversity of knowledge coming from all sides of the world. This advancement is unacceptable to Manicheans. Manichean perception should not have a place in this era – it should be dead; dead with old time that we do not want to remember.&lt;/div&gt;</description><link>http://toga-sefer.blogspot.com/2011/09/on-manichaean-perception.html</link><author>noreply@blogger.com (Berhane Zewdie)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-3950834993997310011.post-5454841668489166576</guid><pubDate>Wed, 27 Oct 2010 01:59:00 +0000</pubDate><atom:updated>2010-10-26T21:19:08.360-05:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">leadership</category><category domain="http://www.blogger.com/atom/ns#">life</category><title>On Pragmatism</title><description>&lt;div style=&quot;text-align: justify;&quot;&gt;For most of my careers as software developer and software development manager in the application development area, I tried to be pragmatic in the decisions I made and the paths I follow.  Unquestionably, it served me very well to move forward in project executions and business problems resolutions.  Time and again, I followed my gut and tried to be pragmatic at heart.  I still remember and approve some of the decisions that I made in the past based on pragmatism – for small tactical problem resolution; when time is a big factor to provide solution; when short term gain is appropriate; and so on.&lt;br /&gt;&lt;br /&gt;Various definitions of a pragmatist person includes: &lt;span style=&quot;font-style: italic;&quot;&gt;one who acts in a practical or straightforward manner; one who values practicality or pragmatism; one who acts in response to particular situations rather than upon abstract ideals; one who is willing to ignore their ideals to accomplish goals.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Web dictionary defines pragmatism as:&lt;br /&gt;&lt;/div&gt;&lt;ol style=&quot;text-align: justify;&quot;&gt;&lt;li&gt;&lt;span style=&quot;font-style: italic;&quot;&gt;character or conduct that emphasizes practicality. &lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style=&quot;font-style: italic;&quot;&gt;a philosophical movement or system having various forms, but generally stressing practical consequences as constituting the essential criterion in determining meaning, truth, or value. &lt;/span&gt;&lt;/li&gt;&lt;/ol&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;Based on the definitions above and from my own experience, you may take that I like being pragmatic.  I am indebted to all the benefits I ripped from being pragmatic in the past.  I still believe being pragmatic is appropriate and beneficial in certain circumstances – most beneficial for solving tactical issues.  But, I am realizing that unchecked pragmatism can be dangerous in the long term.&lt;br /&gt;&lt;br /&gt;I am recognizing that pragmatism also:&lt;br /&gt;&lt;/div&gt;&lt;ul style=&quot;text-align: justify;&quot;&gt;&lt;li&gt;limits solutions at an average level since solutions are not well thought out and solution devised as a continuation of what already exists&lt;/li&gt;&lt;li&gt;hinders progress by keeping one to the area that is well known and hence prevent from exploring new ideas&lt;/li&gt;&lt;li&gt;confines one to think in myopic terms or making one to be purposeless as opposed to having a forward looking and drive things toward a bigger goal&lt;/li&gt;&lt;li&gt;justifies short term gains over the long term benefits; as many of software development professional remember, there is a phrase coined in software development called ‘technical debt’ that I believe mostly a product of being pragmatic&lt;/li&gt;&lt;li&gt;limits, above all, one’s ability to innovate.&lt;/li&gt;&lt;/ul&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;Michael Wade in his blog describes &lt;a href=&quot;http://www.execupundit.com/2009/01/pragmatisms-problems.html&quot;&gt;pragmatism’s problems&lt;/a&gt;.  Wade states five problems with pragmatism (Wade provides fair explanations on his post):&lt;br /&gt;&lt;/div&gt;&lt;ol style=&quot;text-align: justify;&quot;&gt;&lt;li&gt;Pragmatism can be a convenient cloak for opportunism.&lt;/li&gt;&lt;li&gt;Pragmatism can lower performance standards.&lt;/li&gt;&lt;li&gt;Pragmatism can encourage a &quot;can do&quot; attitude that sacrifices action for thought.&lt;/li&gt;&lt;li&gt;Pragmatism can be tiring. The rushed nature of pragmatism can be exhausting.&lt;/li&gt;&lt;li&gt;Pragmatism can encourage hubris.&lt;/li&gt;&lt;/ol&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;In conclusion, I am not discounting or ruling out being pragmatic – on the contrary, there are many situations where being pragmatic is applicable.  But, you need to understand also that it limits one to an average status if kept unchecked and continuously applied in the long run.  It limits thinking to be quick action oriented where an average solution is usually the outcome.  It encourages a status quo or limited progress since it is evolutionary by nature. Be aware of these facts – be pragmatic on these facts.&lt;br /&gt;&lt;/div&gt;</description><link>http://toga-sefer.blogspot.com/2010/10/on-pragmatism.html</link><author>noreply@blogger.com (Berhane Zewdie)</author><thr:total>3</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-3950834993997310011.post-3175577299223454232</guid><pubDate>Sat, 27 Mar 2010 18:50:00 +0000</pubDate><atom:updated>2010-03-27T13:54:55.871-05:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">leadership</category><title>On Enlisting Others</title><description>Leadership is said to be influencing others to participate, contribute and reach to a shared goal.  Do not take this as a definition but as one of the many explanations that is out there on leadership.  I have seen this in practice and the below is how I captured the approach.  I know that I am running the risk of oversimplifying what leadership is - but here it is.&lt;br /&gt;&lt;br /&gt;If you are in a leadership position and if you have an idea, share it with others and if necessary repeat it with them so that they have it in mind.  Try to make your idea to be understandable – making it concrete using data or using beautiful explanation.  Try to make your idea visible, put your idea somewhere, and ask people to comment on it.  Then, enlist and ask people to participate in a brain storming session to discuss the idea, and generate next action items.  Try to illicit others to take up on action items and provide feedback.&lt;br /&gt;&lt;br /&gt;At this point, the idea is shared, amended, and possibly accepted and supported by others.  If this is the case then it will cease to be your idea and becomes &#39;our&#39; idea.  You have passed the biggest hurdle and you are on to the next step.  This is where you have to be careful and meticulous - you are getting into the execution step.  Most ideas do not get implemented due to lack of will or participant, among other things.&lt;br /&gt;&lt;br /&gt;Illicit execution ideas the same way from others, especially from those who saw the benefit from your idea - guide on what needs to be done and leave the ‘How’ to do it for participants.  You can count on excellence in execution when people are choosing and allowed to provide feedback on implementation approaches.  The main point here is to make them to feel like they own the idea as well as the implementation.  Once execution is started, your task is to motivate, provide constructive feedback, be active participant – chances are the implementation process will be enjoyed by the participants and success may be achieved.&lt;br /&gt;&lt;br /&gt;Remember - people strongly support what they help to create.  This means they contribute with what they have to the implementation and thus to the success of what they set out to do.  This is true in the case of failure or success.  Credit for success will be shared and failure does not cause finger pointing.&lt;br /&gt;&lt;br /&gt;Currently Reading: &lt;a href=&quot;http://www.amazon.com/Political-History-Peoples-Liberation-1975-1991/dp/1599070413/ref=sr_1_1?ie=UTF8&amp;amp;s=books&amp;amp;qid=1269716002&amp;amp;sr=8-1&quot;&gt;A  Political History of the Tigray People&#39;s Liberation Front (1975-1991)&lt;/a&gt;  &lt;span class=&quot;ptBrand&quot;&gt;by Aregawi Berhe.&lt;/span&gt;&lt;span class=&quot;binding&quot;&gt; &lt;/span&gt;</description><link>http://toga-sefer.blogspot.com/2010/03/on-enlisting-others.html</link><author>noreply@blogger.com (Berhane Zewdie)</author><thr:total>1</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-3950834993997310011.post-7816178178138306261</guid><pubDate>Wed, 28 Oct 2009 13:54:00 +0000</pubDate><atom:updated>2009-10-28T21:40:32.719-05:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">component</category><category domain="http://www.blogger.com/atom/ns#">software</category><title>On Software Quality Factors</title><description>Software Quality can be looked at from different angles in software development. These quality aspects manifest themselves at different situations and usually in combination.  Some of the quality factors are listed below – these are usually referred to as software ‘ilities’ (based on the last five letters of their names).  Some people argue against paying attentions to such factors as all of them may emerge in software development if the project development team uses the proper engineering principles. My take is that these factors provide conceptual clarity on the aspects of software quality at least at the higher level.  I used the IEEE definition of these quality factors.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;&lt;i&gt;Reusability&lt;/i&gt;: &lt;/b&gt;The degree to which a software module or other work product can be used in more than one computing program or software system [IEEE]. It is the ability of a component/module to function and integrate in more than one environment.&lt;span style=&quot;&quot;&gt;  &lt;/span&gt;It is always manifested in and is considered as characteristics of high quality software.  To achieve this quality, component or modules should be designed and implemented so that they can be reused in many different systems.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;&lt;i&gt;Maintainability:&lt;/i&gt;&lt;/b&gt;The ease with which a software system or component can be modified to correct faults, improve performance, or other attributes, or adapt to a changed environment [IEEE].  Maintainability provides a way of measuring the ease with which a program can be corrected if an error is encountered, adapted if its environment changes, or enhanced if the customer desires a change in requirements.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;&lt;i&gt;Flexibility: &lt;/i&gt;&lt;/b&gt;The ease with which a system or component can be modified for use in applications or environments other than those for which it was specifically designed [IEEE].  This concept encompasses the hardware, software and software combination in using a system.  It is the effort required to modify an operational programs when environment of the system where it is running is changed.&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-style: italic;&quot;&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;Testability:&lt;/span&gt;&lt;/span&gt;  The effort required to test a program to ensure that it performs its intended function.&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-style: italic;&quot;&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;Extensibility:&lt;/span&gt;&lt;/span&gt; It refers to the ease with which a program or module can be adopted with newer requirements with out affecting the existing one.  It is the ability or property of a module that allows changes in many aspects such as performance, functionality, etc… within the same existing framework while retaining partial or complete compatibility among systems that belong to the same framework. Extensibility like other qualities can be achieved in varying degrees.  An extensible system allows easy addition of new designs in an exiting one.&lt;br /&gt;&lt;br /&gt;Related Post: &lt;h3 class=&quot;post-title entry-title&quot;&gt;&lt;a href=&quot;http://toga-sefer.blogspot.com/2009/09/on-practices-in-design-modular-design.html&quot;&gt;On Practices in Design:  Modular Design (Modularity)&lt;/a&gt;&lt;/h3&gt;</description><link>http://toga-sefer.blogspot.com/2009/10/on-software-quality-factors.html</link><author>noreply@blogger.com (Berhane Zewdie)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-3950834993997310011.post-2725764028624532826</guid><pubDate>Thu, 24 Sep 2009 23:26:00 +0000</pubDate><atom:updated>2009-09-24T22:16:06.783-05:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">component</category><category domain="http://www.blogger.com/atom/ns#">software</category><title>On Practices in Design:  Modular Design (Modularity)</title><description>&lt;p&gt;Recently, I read an article on Java Modularity on InfoQ (&lt;a href=&quot;http://www.infoq.com/articles/modular-java-what-is-it&quot;&gt;Modular Java: What Is It?&lt;/a&gt;) and forced me to revisit my notes on modularity from the 1990s. As expected, every bit of the principles espoused then are applicable now. The following is what I learned then. &lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;In Modular design, software is divided into separately named and addressable components, called modules, which are integrated to satisfy problem requirement. It implies a system decomposed into “natural” components that can be developed and maintained independently. &lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;Many researchers are advocating the benefit of using a modular design approach. Bertrand Meyer (in his book &lt;a href=&quot;http://www.amazon.com/Object-Oriented-Software-Construction-Book-CD-ROM/dp/0136291554/ref=sr_1_1?ie=UTF8&amp;amp;s=books&amp;amp;qid=1253817750&amp;amp;sr=8-1&quot;&gt;Object-Oriented Software Construction&lt;/a&gt;) came up with a set of criteria to characterize modular design. These criteria provide a first step in formalizing the design practice of modularity. &lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;Meyer’s Five Criteria for achieving modularity: &lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;strong&gt;Decomposability &lt;/strong&gt;- the facility with which a design method helps the designer to decompose a large problem into sub problems that are easier to solve. &lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;strong&gt;Composability&lt;/strong&gt; – the facility with which a design method ensures that program components (modules), once designed and built, can be reused to create other systems. &lt;/li&gt;&lt;br /&gt;&lt;li&gt;U&lt;strong&gt;nderstandability&lt;/strong&gt; – the ease with which a program component can be understood without reference to other information or modules. &lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;strong&gt;Continuity&lt;/strong&gt; – the ability to make small changes in a program and have these changes manifest themselves with corresponding changes in just one or very few modules. &lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;strong&gt;Protection&lt;/strong&gt; – an architectural characteristic that will reduce the propagation of side effects if an error does occur in a given module. &lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;From the above criteria, Meyer suggests five basic design principles can be derived for modular architecture:&lt;br /&gt;&lt;/p&gt;&lt;ol&gt;&lt;li&gt;Linguistic (such as Java) modular units &lt;/li&gt;&lt;br /&gt;&lt;li&gt;Few interfaces &lt;/li&gt;&lt;br /&gt;&lt;li&gt;Small interfaces (weak coupling) &lt;/li&gt;&lt;br /&gt;&lt;li&gt;Explicit interfaces &lt;/li&gt;&lt;br /&gt;&lt;li&gt;Information hiding &lt;/li&gt;&lt;/ol&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;Effective modular design practice always encompasses the well-understood software development principles such as Abstraction, information hiding, and Functional independence. The concepts of abstraction and information hiding help to focus on the relevant element during design and development. The main focus of functional independence is to design modules that serve one function and limit excessive interaction to other modules. The two methods that are used to measure the independence of a module are Cohesion and Coupling. Thus, the main goal of modular design is to minimize Coupling and to maximize Cohesion. &lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;Since Modularity is a process of creating or structuring a system in to manageable size of modules, it may suggest that creating many modules to be an optimal solution. But, there are some principles to be considered here: &lt;/p&gt;&lt;ul&gt;&lt;br /&gt;&lt;li&gt;On what bases is the modularization effort to be conducted, i.e, by functionality or by size? &lt;/li&gt;&lt;br /&gt;&lt;li&gt;When do we know we have crated optimal modules for the solution? &lt;/li&gt;&lt;br /&gt;&lt;li&gt;What are the procedures to achieve modularity?&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Is the process reversible? &lt;/li&gt;&lt;br /&gt;&lt;li&gt;What properties are available to measure the conformance of the modules with? &lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;In order to answer the above questions, I suggest the use of SOLID principles from Robert Martin (&lt;a href=&quot;http://www.amazon.com/Software-Development-Principles-Patterns-Practices/dp/0135974445/ref=sr_1_3?ie=UTF8&amp;amp;s=books&amp;amp;qid=1253817832&amp;amp;sr=8-3&quot;&gt;Agile Software Development, Principles, Patterns, and Practices&lt;/a&gt;). These principles provide two aspects: the first one is that they help in the development activity to attain good design and the second aspect is to evaluate an existing design or during a design review activity.&lt;br /&gt;&lt;/p&gt;&lt;p&gt; &lt;/p&gt;&lt;p&gt;I will continue to revisit my notes and share the interesting ones on the up coming posts.&lt;/p&gt;&lt;p&gt; &lt;/p&gt;&lt;p&gt;&lt;br /&gt;Currently Reading: &lt;a href=&quot;http://www.amazon.com/What-Got-Here-Wont-There/dp/1401301304/ref=sr_1_2?ie=UTF8&amp;amp;s=books&amp;amp;qid=1253817997&amp;amp;sr=8-2&quot;&gt;What Got You Here Won&#39;t Get You There: How Successful People Become Even More Successful&lt;/a&gt; by Marshall Goldsmith and Mark Reiter.&lt;br /&gt;&lt;/p&gt;</description><link>http://toga-sefer.blogspot.com/2009/09/on-practices-in-design-modular-design.html</link><author>noreply@blogger.com (Berhane Zewdie)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-3950834993997310011.post-1377987300674179868</guid><pubDate>Fri, 04 Sep 2009 01:12:00 +0000</pubDate><atom:updated>2010-06-13T14:16:15.327-05:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">leadership</category><category domain="http://www.blogger.com/atom/ns#">life</category><title>On Treating Others</title><description>I am in a software development business and working with immensely talented people. I have been in this business for 15 years and worked for four companies - the talent pool always seems to be the same. As I see it, these talented people come with exceptionally different behavior - some of them do have an elephant-like ego; some of them modest, a few are real geeks that seem to be oblivious to their surrounding, and others ... ok, you get my drift. Working with these talented people taught me a lot on how to respect differences and be able to work with each other. I hope this lesson will stay with me forever.&lt;br /&gt;&lt;br /&gt;Treating people require basic decency and that should be applied to all people regardless of their position in the company hierarchy or by their popularity amongst other people. If you work with a full-time employee and a contractor (temporary employee with short period of contract) you should see both of them the same way. Both of them are human beings and both of them do have feelings and emotions - it is unnatural to consider the contracto to be different or as somebody to be pushed around.&lt;br /&gt;&lt;br /&gt;Early in my career, I was working for a consulting company. I was assigned to different client sites working on specific projects with my own colleagues or working embedded in the clients&#39; development teams. At that time, I was having back pain that was bothering me - the pain was unbearable so I contemplated to have surgery. I told my my colleagues from the client company and they felt my situation. Some of them were very compassionate and even helping me looking for the right doctor. ultimately, the news reached to the team manager. One day when I was about to go home at the end of the day, I met the manager in the lower deck of the parking lot while he was smoking cigarette. He stopped me and asked me when I was going to have surgery. I was sure I did not discuss it with him since I did not make the final decision yet. At the beginning, I was very happy that he was concerned about my situation - so, I thanked him for being concerned. Before I finished my sentence, he waved his hand to signal me to stop and he said he does not care about my surgery. He went on to say that his concern was to get appropriate replacement. Wow - the disparaging hand wave and the words following after that got into me. It was a blow - I went quietly (and probably shaking my head) to get my car on the upper deck (lucky him I did not park my car on the lower level:-) ). How did the lively and seemingly nice guy turn out to be so insensitive? Do not get me wrong - I am not being a cry baby and I understand the situation he had to deal with. But, was this the right way? Would he treat full-time employees the same way?&lt;br /&gt;&lt;br /&gt;The moral is to treat everybody with respect - recognize that we are emotional animals. Actually, We all need to be emotionally intelligent so that we can work with others in the new and continuously changing world. Having an emotional intelligence is one of the main qualities for a leader and it all starts with treating people right. We all do have strengths and weaknesses - working in a team of people requires understanding each other well. Diversity in behavior, culture, interest, and other traits should not be seen as a challenge but as an opportunity. Opportunity that can take us all to a different level; opportunity that can bring about our survival best - it is a healthy relationship to have.&lt;br /&gt;&lt;br /&gt;Currently Reading:  &lt;a href=&quot;http://www.amazon.com/Outliers-Story-Success-Malcolm-Gladwell/dp/0316017922/ref=sr_1_1?ie=UTF8&amp;amp;s=books&amp;amp;qid=1252027095&amp;amp;sr=1-1&quot;&gt;Outliers: The Story of Success&lt;/a&gt; by Malcolm Gladwell&lt;br /&gt;&lt;br /&gt;P.S.: I did not go through surgery - I learned to live with back pain via physical therapy. It was not affecting me for a long time other than occasional hick-ups here and there.</description><link>http://toga-sefer.blogspot.com/2009/09/on-treating-others.html</link><author>noreply@blogger.com (Berhane Zewdie)</author><thr:total>1</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-3950834993997310011.post-6508692869556458224</guid><pubDate>Sat, 06 Jun 2009 04:34:00 +0000</pubDate><atom:updated>2009-06-06T00:02:53.164-05:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">leadership</category><title>On Favoring ‘Why’</title><description>I assume most of you, as a student, studied the 7 Ws – when, what, why, who, where, whom, and how (funny, the last one does not start with W).&lt;span style=&quot;&quot;&gt;  &lt;/span&gt;We have been using all these question formatters all our lives – but, have you ever favored one over the other?&lt;br /&gt;&lt;br /&gt;Last August, I went to Ethiopia (I am originally from there) and did get a chance to catch up with my friends and relatives. I was out of the country for close to two decades.  Eager to know about my life in the US, they have asked me different kinds of questions such as how is life in the US?  How I overcame homesickness? But, one of my friends that I grew-up with asked me why I chose to live in the US.  Why I did not come back to Ethiopia after my studies in the UK?   This question took me off-guard.&lt;br /&gt;&lt;br /&gt;‘Why’ is always fascinating to me and also, I assume, to other people especially kids.  If you have kids, you know what I am talking about.   Let’s see some scenarios on where we use ‘why’ and how crucial it is.   Suppose, at work, some kind of change is to be implemented that may impact many people.   If you are the leader of change, you should have a conceptual clarity on the need for the specific change and be able to communicate the reasons to those people affected by the change.   When you are communicating the need for change, start with the ‘why’ of the change.   People more often start with the ‘what’ of the change and get directly to how the change is going to be implemented.   People, especially professionals, crave to know the impetus for change. Once they understand the reason, it will be easier for them to go along with the change or even to participate in implementing the change.  If they are part of the change process, that means they owned the change.   Remember, people support and stand by a solution that they have contributed to or helped create.   For this to happen, it all starts with understanding the ‘why’ of the change.&lt;br /&gt;&lt;br /&gt;Toyota uses the ‘Five Whys’ (&lt;a href=&quot;http://en.wikipedia.org/wiki/5_Whys&quot;&gt;&lt;em&gt;&lt;span style=&quot;text-decoration: none;&quot;&gt;5 Whys&lt;/span&gt;&lt;/em&gt; - Wikipedia, the free encyclopedia&lt;/a&gt;) approach to get to the bottom of a problem – root cause analysis (RCA).  I found this excellent example involving Jeff Bezos of Amazon finding a root cause of an accident.   He only asked few questions (whys) to get to the bottom of the incident and of course to the solution - see &lt;a href=&quot;http://www.shmula.com/987/jeff-bezos-5-why-exercise-root-cause-analysis-cause-and-effect-ishikawa-lean-thinking-six-sigma&quot; title=&quot;Permanent Link to Jeff Bezos and Root Cause Analysis&quot;&gt;Jeff Bezos and Root Cause Analysis&lt;/a&gt;.    &lt;p class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;There are many cases and scenarios where we can discuss the benefit of answering ‘why’ – but, I hope you get the idea.   The point is - in order to answer the ‘why’ of something, you need conceptual clarity.  Answering ‘why’ needs thorough thinking and clarity in your reasoning.   If you do not have any clarity in your answers, you should expect more questions to follow.   Watch out of people that provide a quick and closed answer for a ‘why’ question.   Such answers as – ‘Because I want to’; “It is not a democracy’; ‘Because I saw it in my dream’; and so on are very shallow.   If you have a boss that is not capable of answering your why questions – run away from him/her.&lt;br /&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;I threw or blabbered some ‘wording’ to my dear friend to the question that he asked me - why I chose to live in the US.   I realized how difficult is to answer the ‘why’ question without conceptual clarity.   I also wonder how good all the answers were to the other questions from my family and friends - thinking that I might not answer the &#39;why&#39; question.&lt;br /&gt;&lt;br /&gt;Why do not you try to ask yourself some kind of why question – like, why do you choose to work for the company you are working for now? Are you sure of your answers?&lt;br /&gt;&lt;br /&gt;Currently Reading: &lt;a href=&quot;http://www.amazon.com/Pragmatic-Thinking-Learning-Refactor-Programmers/dp/1934356050/ref=sr_1_1?ie=UTF8&amp;amp;s=books&amp;amp;qid=1244262536&amp;amp;sr=1-1&quot;&gt;Pragmatic Thinking and Learning: Refactor Your Wetware (Pragmatic Programmers)&lt;/a&gt; by Andy Hunt. &lt;/p&gt;</description><link>http://toga-sefer.blogspot.com/2009/06/on-favoring-why.html</link><author>noreply@blogger.com (Berhane Zewdie)</author><thr:total>2</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-3950834993997310011.post-5888494658136937233</guid><pubDate>Sun, 24 May 2009 11:29:00 +0000</pubDate><atom:updated>2009-05-25T21:09:56.920-05:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">life</category><category domain="http://www.blogger.com/atom/ns#">travel</category><title>On Incredible India</title><description>I just finished my second visit to India – we have two teams in Kochi (Cochin) and Bangalore.  Even though the second time, some of the things that surprised me last time did surprise me again.  I do not think seeing the whole family (up to four), including kids as young as months old, being on the same motor bike in the crowded streets pushing and shoving with all kinds of vehicles is a sight that one can get used to.&lt;br /&gt;&lt;br /&gt;The streets are as crowded (may be worse) as before - pedestrian, autos (three wheelers), scooter, small cars and big cars still walk or drive aggressively.  I do not understand why people are not driving orderly – even on a single lane people seem to enjoy crossing lanes in and out.  I plan to watch my Indian colleagues how they walk – in a straight line or in a ziz zag.  I might get the answer from there.  I believe most of them are driving fast because they are in a hurry – if that is the case, their sense of urgency is understandable.  There is also the noise factor – ‘driving by ears’ seems to be the necessary skill by drivers to be on the street.  Drivers continuously use their horn to signal each other.&lt;br /&gt;&lt;br /&gt;It seems everybody thinks that traffic accidents are to be seen as a risk of doing business.  Accidents do happen - last time I visited, I witnessed an accident between a motor bike and a car.  I did not stay long to learn about the consequence.  Even in my current stay, in one of the offices I visited people were wearing the black band on their shirts.  I learned later, one of their colleague’s spouse was killed in a car accident.&lt;br /&gt;&lt;br /&gt;Apart from the ‘usual’ still India amazes me – the potential the country holds seems to be immense.  Cities are full of people – all these people, what can they achieve?  I believe, the current trend of utilizing the knowledge workers in the IT industry is not going to be enough to lift India to a different level.  I am no economist but seeing the excesses and the poverty level tells you that India needs to do more – a lot more.&lt;br /&gt;&lt;br /&gt;So, where to India?  How fast can you move?&lt;br /&gt;&lt;br /&gt;Are your people only aggressive on the streets?  Will they take you ahead to the future the way they drive on the streets?&lt;br /&gt;&lt;br /&gt;Do your children work to bring you to the next level with the same kind of sense of urgency they show on the streets?&lt;br /&gt;&lt;br /&gt;The future is to be seen – I wish this country to be prosperous and lifting the beautiful, the modest yet poverty stricken lot with her.  I love the people, the culture, the food, the music, and a lot more.  Both of my visits were enjoyable – I continue to admire the beauty of this country.&lt;br /&gt;&lt;br /&gt;Good Luck India!&lt;br /&gt;&lt;br /&gt;Currently Reading: &lt;a href=&quot;http://www.amazon.com/Made-Stick-Ideas-Survive-Others/dp/B0027VT0AQ/ref=sr_1_3?ie=UTF8&amp;amp;s=books&amp;amp;qid=1243163990&amp;amp;sr=8-3&quot;&gt;Made to Stick: Why Some Ideas Survive and Others Die&lt;/a&gt; &lt;span class=&quot;ptBrand&quot;&gt;by Chip Heath and Dan Heath&lt;/span&gt;&lt;span class=&quot;binding&quot;&gt;.&lt;span class=&quot;format&quot;&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;format&quot;&gt;&lt;br /&gt;&lt;/span&gt;</description><link>http://toga-sefer.blogspot.com/2009/05/on-incredible-india.html</link><author>noreply@blogger.com (Berhane Zewdie)</author><thr:total>1</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-3950834993997310011.post-6489977645996741187</guid><pubDate>Sat, 16 May 2009 07:16:00 +0000</pubDate><atom:updated>2009-05-16T02:33:55.011-05:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">component</category><category domain="http://www.blogger.com/atom/ns#">software</category><title>On Component Interface, Specification, and Contract</title><description>Component Interface is a collection of operations that are used to specify services of a component.  It is an abstraction of the behavior of a component that consists of a subset of the interactions of that component together with a set of constraints describing when they may occur.  The interface describes the behavior of a component that is obtained by considering only the interactions of that interface and by hiding all other interactions.  The description of a component interface consists of a signature part, describing the services provided by a component, and a behavior part, describing the component’s external behavior.  Each operation has zero or more input and output parameters and a syntactic specification associates a type with each of the parameters including a return type.&lt;br /&gt;&lt;br /&gt;The specification of a component is different and composed of many parts.  Defining which interfaces the component will offer is just part of the whole component specification.  Components can implement (export) one or more interfaces, called provided interfaces, and they can also use (import) interfaces, called required interfaces, from other components.  The component interface is used both to implement the services and to describe the services so that to allow clients to find suitable services and to understand their purpose, functionality, usage and restrictions.    In short, the interface defines every thing the client needs to know.  An interface does not specify how implementations of this interface must interact with other components to fulfill their responsibilities; that is defined in the component specification.&lt;br /&gt;&lt;br /&gt;While an interface defines a set of behavior, a component specification defines an implementation and deployment boundary.  By specifying a set of interfaces that must be supported, a component specification defines the total sum of capabilities of any component created at run time from the implementation.  This component specification can also define how the implementation must interact with other components.  Knowledge of such interactions does not form part of the interface specification and so cannot be known directly by the client.  We define these interaction constraints somehow in the component specification.  Behavior is defined as a set of interfaces and a component specification is realized as a component implementation.  The basic goal of component specification is to create a set of models that collectively describe externally visible properties of the component and constraint that are applicable to the proper implementation of the component.  This goal makes component specification the ultimate guide for use of the component by clients, and for proper implementation of the component by implementers.  Clients will pick and choose components based on the component interface.  Component implemented based on a specific component specification should exhibit the same behavior regardless of who implemented it, what language is used to implement it, and in what environment it is installed.&lt;br /&gt;&lt;br /&gt;Since components can implement (export) one or more interfaces and they can also use (import) interfaces from other components, at a minimum, component specification should provide a contract that states both the services a component offers and the services that it requires in fulfilling its commitments.  Contract is mainly composed of three aspects: pre-condition, post-condition and invariant.  Pre-condition is a condition that a client must be sure is true; otherwise, it is not legal for the client to use the service.  Post-condition is a condition that should become true when the service is executed.  Invariant is an observable property that does not change throughout the component’s life-time.  Precisely, an invariant property is a property that always has the same value whenever the property is inspected.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Related Blog: &lt;span class=&quot;item-title&quot;&gt;&lt;/span&gt;&lt;a target=&quot;_self&quot; href=&quot;http://feedproxy.google.com/%7Er/NotesOnBZLifeAndInterests/%7E3/XwLBdR9zykU/on-software-component.html&quot;&gt;On Software Component&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Currently Reading: &lt;a href=&quot;http://www.amazon.com/Confessions-Economic-Hitman-Perkins-John/dp/B001GG67CC/ref=sr_1_1?ie=UTF8&amp;amp;s=books&amp;amp;qid=1242458770&amp;amp;sr=8-1&quot;&gt;Confessions of an Economic Hitman&lt;/a&gt; &lt;span class=&quot;ptBrand&quot;&gt;by Perkins John&lt;/span&gt;&lt;span class=&quot;binding&quot;&gt; &lt;/span&gt;</description><link>http://toga-sefer.blogspot.com/2009/05/on-component-interface-specification.html</link><author>noreply@blogger.com (Berhane Zewdie)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-3950834993997310011.post-6928529927425510555</guid><pubDate>Fri, 08 May 2009 02:51:00 +0000</pubDate><atom:updated>2009-05-07T21:58:06.391-05:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">component software</category><title>On Software Component</title><description>The early promises of object-oriented technology to provide reusable software elements did not bear fruit as expected.  One of the main reasons for the failure is that objects are too fine grained for large-scale reuse efforts.  In order to be reusable optimally, objects need to be coarse-grained in the services they provide and should have a published interface of what services they provide.  One of the practices that gained wide spread acceptance in the software development industry through object technology is the practice of reuse using design patterns.  Patterns embody accumulated knowledge about proven reusable design elements for software development.  The use of design patterns has improved the quality of software and reduced the cost of developing software in object oriented technology for more than a decade.&lt;br /&gt;&lt;br /&gt;A business software component is a self-contained and self-deployable (could be third-party composable) software element providing a set of inter-related services described in well-defined and &lt;span style=&quot;&quot;&gt;published interfaces.  As the natural successor of objects, components are being utilized in small and large scale software developments.  Developing software from components promises benefits such as reuse, complexity management, change management, and time-to-market.  The idea of approaching software development using components to imitate its hardware counterpart has been around for a while.  But what makes the use of components for software development more feasible at this time is the use of objects and design patterns for component development.&lt;br /&gt;&lt;br /&gt;Component Based Software Development (CBSD) focuses on development and composition of components through their interfaces.  Composition or integration of components to form a functioning system requires designing collaborative behavior of multiple components to form a system based on a specific component model and component model framework.  The current component based development is different from previous approaches, even with object-oriented technology, in its separation of component specification from implementation.&lt;br /&gt;&lt;br /&gt;I would like to further write some notes on using components.  The above paragraphs can be assumed as simple definition/explanation of components and the need to use them.</description><link>http://toga-sefer.blogspot.com/2009/05/on-software-component.html</link><author>noreply@blogger.com (Berhane Zewdie)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-3950834993997310011.post-7797221104654904058</guid><pubDate>Fri, 01 May 2009 03:37:00 +0000</pubDate><atom:updated>2010-06-13T14:27:29.659-05:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">leadership</category><title>On Taking Charge</title><description>It was a one summer day in 1990 and I was taking driving lesson to take a test for driving in town.  The Learner VW has two breaks, one on the driver side and the other on the passenger side where the instructor sits.  On most previous occasions driving around in town, whenever I need to break the instructor already applied the break and my attempt to break would be in vain.  I did not like his actions and I made it clear to him as such.  Anyways that summer day, we completed our driving around and we were about to park the car.  On the parking spot we were about to use, people were sitting - most of them friends of the instructor probably in the same business as the driving lesson teachers.  When we approached the parking spot, I started slowing down but not applied the break to a stop.  Of course, the instructor applied the break and angrily looked at me.  Even though I do not remember how I felt at that time, my response was like - so what you always applied the break with out waiting for me and what is different today?&lt;br /&gt;&lt;br /&gt;After a while, thinking back on this incident, I felt awful.  I could have run over those people and maimed them or even worse.  I asked my self, why did not I apply the break on my own instead of waiting for the teacher?  I was in charge - but, not acting as such.  On the good side of it, I had taken the lesson to heart.  That lesson changed me for good.  What I have learned then made me independent - probably too independent.&lt;br /&gt;&lt;br /&gt;Now after two decades, I have young kids and assumed a leadership position at work.  At work, I am responsible for a team of engineers engaged in software development.  The lesson I took to heart in 1990 came to question again.  Is it really always good to take charge?  Taking charge or being responsible is good and there is no argument here - let&#39;s see the flip side of it.&lt;br /&gt;&lt;br /&gt;When you are in a leadership position, how do you grow team members you are supposed to lead?  Do you think making all the decision by yourself is the right way?  When you have kids of your own, how do you allow them to experiment with the world?  Do you allow them to figure out things on their own?  The &#39;crime&#39; the driving lesson instructor committed in the above story was to not give me a chance to make decisions on my own.  As a leader, you should allow your teams to take charge on their work making most of the decisions.  Your task is to help them or facilitating the environment for them to make good decisions.  First hand experience in making decisions is the best way to learn.&lt;br /&gt;&lt;br /&gt;So, there are times to take charge and know when to back-off from overly being in charge to allow others to grow.  This is the leadership challenge - to balance your actions.  Encourage your team members to make their own decisions as much as possible - reward them for making an appropriate decision (at least provide a simple Thank You note) or provide a constructive feedback on the decision that did not go well.&lt;br /&gt;&lt;br /&gt;Happy Leading!&lt;br /&gt;&lt;br /&gt;P.S. Currently, I am reading a book titled &lt;a href=&quot;http://www.amazon.com/Social-Intelligence-Science-Human-Relationships/dp/055338449X/ref=sr_1_1?ie=UTF8&amp;amp;s=books&amp;amp;qid=1241363062&amp;amp;sr=1-1&quot;&gt; &lt;/a&gt; &lt;div class=&quot;productData&quot;&gt;            &lt;div class=&quot;productTitle&quot;&gt;&lt;a href=&quot;http://www.amazon.com/Social-Intelligence-Science-Human-Relationships/dp/055338449X/ref=sr_1_1?ie=UTF8&amp;amp;s=books&amp;amp;qid=1241363062&amp;amp;sr=1-1&quot;&gt; Social Intelligence: The New Science of Human Relationships&lt;/a&gt; &lt;span class=&quot;ptBrand&quot;&gt;by Daniel Goleman&lt;/span&gt;&lt;span class=&quot;binding&quot;&gt;.&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;</description><link>http://toga-sefer.blogspot.com/2009/04/on-taking-charge.html</link><author>noreply@blogger.com (Berhane Zewdie)</author><thr:total>1</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-3950834993997310011.post-1797375287963007910</guid><pubDate>Fri, 24 Apr 2009 23:15:00 +0000</pubDate><atom:updated>2009-05-07T21:59:54.425-05:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">leadership</category><title>On Board for Learning</title><description>Recently, I was on the morning express train going to work and wondering what values I espouse in life.  This is not the first time I mused on this thought - it always comes to my mind whenever I read leadership books.  Actually, when I was reading the book titled &#39;The Leadership Challenge&#39;, I almost put pen to paper to document my top five values.  It did not happen but I still have a plan to do that - one day, that is.&lt;br /&gt;&lt;br /&gt;This time the taught was not going away so easily - as it happened many times before.  So, after back and forth, much of it negating and commending myself, I arrived to one of my cherished values - it is learning or to be specific continuous learning.  Hopefully, I will share my other values in due time.&lt;br /&gt;&lt;br /&gt;Now thinking back, it was very apparent - not sure why it took me so long to say it out loud.  All along, my subconscious mind knew this but it was in the &#39;locked door&#39; for my conscious mind.  Just to give you one obvious fact - I have been going to school for a long time; I have done under-graduate and graduate studies; recently, I finished my Ph.D. while working full-time and raising a beautiful family.  What drove me so hard to go through the gruling process of conducting a Ph. D. research?  Now it is clear, right?  It is the quest for learning.  Learning as in preparing myself for the future!&lt;br /&gt;&lt;br /&gt;So, my plan it to continously prepare for the future - continous learning.  Hence, starting this blog.  I am not sure how often I will blog but I will try it out to enhance the learning process.&lt;br /&gt;&lt;br /&gt;Happy Learning!</description><link>http://toga-sefer.blogspot.com/2009/04/on-board-for-learning.html</link><author>noreply@blogger.com (Berhane Zewdie)</author><thr:total>1</thr:total></item></channel></rss>