Large IT services companies are probably having golden times these days.
“In 2004, the computer industry entered a new phase of growth, characterized by steady annual budget increases. As a result, the period 2004 to 2006 witnessed a recovery for the IT recruitment industry. Since early 2004, there has been a significant improvement in the market for permanent, and temporary and contract recruitment, spurred by new projects from firms to enhance their systems, in terms of both applications and infrastructure. Consequently, there was an increase in demand for developers and project managers throughout 2005 and 2006.” (Keynote 2007)
Developers involved along with project managers and customer representatives may be called as a distributed team or a social group as more and more often they are geographically located in different regions. Geographic distribution also influences time zone offset and cultural differences. However it must be said that their cooperation is coupled with project being success or a failure.
Nevertheless it must be outlined that IT companies face several challenges to be overcome which are tightly connected to company’s fast growth. One of the biggest problems is the knowledge sharing among developers, quality assurance people and project managers. Also knowledge persistence is important part of a sharing knowledge.
It seems to that majority of IT projects can be consolidated as having bad documentation. Also a common trait of IT project is that their scope and implementation details tend to change constantly during all stages of software lifetime. It causes the knowledge of the system behavior and reasons behind it to be consolidated in developer’s mind only, not customer representative or a project manager.
Keynote (2007) indicates that developers in their turn tend to forget technical details, moving from project to project, some of them change their role, some – change employer due to a high demand on competitive salaries offered. Each gone developer means not only smaller human capacity but also a lost in valued tacit knowledge.
Restoring lost knowledge is often a time-consuming and challenging process. Frequently it requires other developers digging into code, trying to restore workflow and design solutions, which takes time and is a tedious occupation.
Attempts have been made to solve this issue. The probably obvious choice for an IT companies was to develop or apply existing IT solutions. Companies implement different kinds of social software: knowledge bases, frequently asked question (F.A.Q.) pages and commit regular meetings along with forcing developers to write documentation papers. It must be admitted that mentioned techniques usually fail due to lack of developers time or developers being a poor documentation writers.
As a result, the only one way to find out how system is built is face-to-face question asking session with developer which consumes developer precious time. Extracted knowledge is not persistent as well, so next time the same information is needed session is repeated and time is wasted again.
It can be argued that knowledge sharing attempts have failed mainly because of their complexity – single idea recording takes too much time and effort. A simpler and less time-consuming approach of knowledge sharing should be applied.
In order to produce simpler model, the knowledge sharing problem itself should be split into two major sub-problems:
• Knowledge recording
Representation of the knowledge units is a key problem when designing a knowledge base engine. It should be flexible to hold different kind of knowledge as text and multimedia, where text in turn can be divided for instance into facts, rumors, ideas and documentation
• Knowledge search
Knowledge searching is a fundamental problem which has been researched since a first knowledge collection has been born. Search results are expected to be relevant and sorted by relevancy, limited to provide only useful results – thus make some semantic analysis. Also knowledge can be represented by different media and search should be done across them.
It is believed that both problems can be solved by implementing innovative social software approach – mapping and connecting knowledge in the visual way reflecting how it is mapped in human mind. A code name Brain will be further used to identify abstract implementation of such software.

Picture 1: Mind map sketch
(http://en.wikipedia.org/wiki/Image:Guru_Mindmap.jpg, Wednesday 11th April 2007)
On of the main keywords in human mind is association. According to Wikipedia, ideas or thoughts can be considered being associated then the experience of one leads to the effects of another, due to repeated pairing. (Wikipedia, 2007) Picture 1 illustrates the question solving state diagram. The question itself and the context of it trigger associations which in turn can trigger more associations building a chain which could lead to an exact answer or to a similar problem solution.
Human brain is a net of neurons and the same vision could be applied to knowledge they contain. Based more on fuzzy than strict logic it is quite modeled using neuron networks. Such networks are successfully applied in different areas there fuzzy logic is required. One of the examples could be an anti-fraudulent transaction check developed by several banks and IT companies.
The challenge is to build Brain knowledge base which is easy to use and which visually matches common idea of so called “brain picture”.
Based on said above, Brain knowledge base should be:
• visually navigated. This means that user searching for information should be able to navigate jumping from keyword or topic name to another one. When a single keyword comes into focus all association links to other keywords should be shown to let user decide further step.
• built on associations. Every single knowledge unit should be connected to other existing units. “Orphan” units will never be found and therefore are useless.
• consisting only of ideas, keywords and topic names along with people and company names. Each of them in turn should have a link to an external source with more detailed information. This convention will let users add associations and new keyword easily with no time, leaving writing more detailed information for later on.
• accessible by all team members. Wide access will cause database to be more complete and up-to-date.
• with easy, usable and fancy interface. This is an important issue as interface should motivate people to use it.
Such approach could guarantee efficient knowledge management, solving both major problems noted above – knowledge recording and navigation.
The beauty of such social software is being native and easy to use it should inspire involved employees to make their input and share their both tacit and explicit knowledge.
When using such software tool it must be taken into consideration that human mind has its own limitation. A well known limit for object a person can focus on is 7. This is the reason why for instance successful web page designs limit they menu item to this number. The same principle should be applied here as well – every keyword or topic should have up to 7 connections in order to be useful.
It must to be admitted that there are attempts to create software tools with similar idea – MindMap (www.mindmap.com) for instance is the one of the most succeeded ones. FreeMind (http://freemind.sourceforge.net ) is open source software analog to MindMap released under GNU General Public License. However it must be noted that both MindMap and FreeMind have different approach – they offer customer to have centre idea or thought and build knowledge around it. They can be grouped into so called “single idea centric” tools. This is not the way which offers customers easy navigation and does not work well for knowledge which is diverse enough to not to have a central uniting idea.
If compared with existing techniques for knowledge capturing the brain modeling will have advantages and disadvantages listed below:
• Wiki – is the probably the closest match for Brain software. The biggest drawback of wiki is the searching for information. To get relevant search result a person needs to know words used in name of the wiki page. Full text search which if supported by wiki usually gives too many results to be anywhere relevant and useful. Brain modeling software will not have such problem as it is associations oriented – it is enough to start with some more or less close keyword and follow associations.
However it must to be admitted that such way to search will not guarantee the good result and is more time consuming compared to wiki search.
Wiki allows quick change and can hold different media type. Brain could support different media types as well (keyword “Tesco” could have association with Tesco logo) but is more text oriented.
Brain software can be used with conjunction with Wiki, as Brain knowledge base will contain only keywords and topic names with link for more detailed information and documentation stored outside.
Brain knowledge base focuses on capturing the tacit knowledge leaving explicit details to be stored in external engines like wiki.
• Single idea centric software – the biggest disadvantage for using such software for knowledge sharing is that covering diverse topics it will require having several separate models. Brain software does not have centric idea, all keywords and topics are equally important and are connected to net.
Advantage of single idea centric software that is knowledge models are simple and cohesive. They are more applicable than Brain software when a fast research in narrow topic is required. It can be said that such models are subsets of brains knowledge base and can be extracted or imported to it.
• Social network
Social network aims do no match goals of Brain software. Although social networks are association – linkage between profiles – oriented they do not serve as third party knowledge storage. Social networks also usually are publicly accessible and are not suitable for private data sharing.
• Instant messaging
Chats can have different underlying engine – Skype, Yahoo messenger, Google Talk. However their common idea stays the same – many to many sharing. Instant messaging proved to be ideal for quick decision making, information sharing, automatic documentation tool. Nevertheless the information in chat is not persistent and needs to be saved using other tools, wiki for instance.
Instant messaging does not create associations and does not organize knowledge. However it must be noted here, that some instant messaging engines such as Yahoo messenger and Google Talk offer summarizing feature which can be seen as a first step towards knowledge analyze.
As can be seen from comparison above, Brain software does not replace existing solutions but offers a new component which can be integrated into legacy knowledge management systems and cooperate with them.
Implementing such approach will reduce amount of lost knowledge which is common for large IT companies thus saving time and effort spent for knowledge sharing and boosting productivity of such a company.
Technical implementation should not require big investments and does not rely on any risky cutting-edge technologies thus is possible and not resource consuming.
• Key Note, (2007), IT Recruitment – Executive Summary, [Online]. Available: http://www.keynote.co.uk/CnIsapi.dll?fld=X&alias=kn2k1&uni=5759&SetUserType=1&jump=&collapseLevel=0&fromPage=StatAZ&AutoShowFirstRecord=1&search=SY%20=%2014-1887-55128&Browser=NETSCAPE , [Friday 13th April 2007]
• Wikipedia, (2007), Association (psychology), Wikipedia – the Free Encyclopaedia, [Online]. Available: http://en.wikipedia.org/wiki/Association_%28psychology%29 , [Friday 13th April 2007]
