Solved

Experience of Knowledge-Sharing on large Software Projects

Posted on 2013-06-07
10
373 Views
Last Modified: 2013-06-19
First off I guess the project I'm working on isn't huge - 30-40 developers - but the software has been developed over a number of years and is an ongoing project of upgrades, new features etc.

A few issues I find are:
- going into areas of code I'm not familiar with can be daunting particularly when you come across something that doesn't seem to make sense;
- working on new developments where you want to ensure you aren't writing something that doesn't exist elsewhere;
- making sure that the way you are doing something in a standard, common, consistent way of working

To help with these sorts of problems we have a drupal-based knowledge base but I find it difficult to search on and perhaps the information isn't always organised as well as it could be.

I'm curious to know what products are out there to help with these sorts of issues, and what experience developers have of using them.
0
Comment
Question by:purplesoup
  • 4
  • 4
10 Comments
 
LVL 37

Assisted Solution

by:TommySzalapski
TommySzalapski earned 400 total points
ID: 39228830
We use a wiki. Things change constantly, so everyone should be able to edit everything. The built in search is quite good and you can assign categories to pages.
We also create design pages on the wiki for each new feature as we create it so that it's well documented how it is supposed to work.

We have the same problem where the code base has a lot of scary parts in it. Any time I have to fix a bug or add a feature to those parts, I'll also add a wiki page briefly summarizing what I learned.
0
 

Author Comment

by:purplesoup
ID: 39229079
Thanks that's interesting - I think this seems a pretty good example of documenting a technology to make it usable

https://code.google.com/p/autofac/wiki/GettingStarted
0
 
LVL 37

Assisted Solution

by:TommySzalapski
TommySzalapski earned 400 total points
ID: 39229099
Yes. That looks very useful. And it's a wiki.

The other nice thing about wikis is that they are now something that most people (especially programmers) are already familiar with. In fact, many of your engineers probably have edited Wikipedia articles at some point so they already know how to use it.
0
 

Author Comment

by:purplesoup
ID: 39240510
I had hoped this would get a few more comments - no offence Tommy yours were very interesting - so I'm going to click the "request attention".

I guess this is a different type of question - it isn't a closed question with a specific answer, it is open where I'd just like to hear different opinions and experiences.

For example, do some companies have software "librarians" to organize and order technical programmer information?
0
Zoho SalesIQ

Hassle-free live chat software re-imagined for business growth. 2 users, always free.

 
LVL 37

Assisted Solution

by:TommySzalapski
TommySzalapski earned 400 total points
ID: 39241074
No offense taken. I also expected other input. There is no one way to do things.

do some companies have software "librarians" to organize and order technical programmer information?

Absolutely. Many companies have technical writers on staff whose entire job is to organize, write, and maintain documentation. In my opinion, we need more of them.
0
 

Author Comment

by:purplesoup
ID: 39246964
I've known technical writers documenting how to use a product, but the technical documentation for use by programmers has tended to be done as and when programmers get time, and in a fairly ad-hoc manner - it can get out of date or can have important parts missing.

I remember reading about SSADM many years ago which of course has/had huge amounts of technical documentation - I don't know how usable it was and of course was at the design level, I'm not sure it covered programming patterns - but some sort of easily searchable wiki of common coding patterns used in a programme, a big picture of the architecture of a system and with perhaps some record of design discussions - why things were done a certain way - would be a huge help for many projects.
0
 
LVL 37

Assisted Solution

by:TommySzalapski
TommySzalapski earned 400 total points
ID: 39247282
I agree completely.

the technical documentation for use by programmers has tended to be done as and when programmers get time, and in a fairly ad-hoc manner

Unfortunately, that is usually what I see too.
0
 
LVL 1

Accepted Solution

by:
hork earned 100 total points
ID: 39258338
Basically you need project management software (e.g., a platform or a portal) so that your developers and managers can participate in the discussion through your development cycle. These software tools help to facilitate knowledge-sharing (and encourage too) since most of them offer version tracking and posting follow-up discussions etc.

One of the cost-effective software I can think of is the BaseCamp project management tool where you post a comment to a topic and every member related to the project gets an email reminder, so each one never misses or forgets to read the posts.  On the other hand, you can go for those commercial EDMS portals which are full-fledged electronic document management systems that help to manage documentation as well as version tracking of software changes, etc.
0
 

Author Closing Comment

by:purplesoup
ID: 39258733
Thanks for all the comments.
0

Featured Post

Is Your Active Directory as Secure as You Think?

More than 75% of all records are compromised because of the loss or theft of a privileged credential. Experts have been exploring Active Directory infrastructure to identify key threats and establish best practices for keeping data safe. Attend this month’s webinar to learn more.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Whether you've completed a degree in computer sciences or you're a self-taught programmer, writing your first lines of code in the real world is always a challenge. Here are some of the most common pitfalls for new programmers.
In this article, you will read about the trends across the human resources departments for the upcoming year. Some of them include improving employee experience, adopting new technologies, using HR software to its full extent, and integrating artifi…
This tutorial explains how to use the VisualVM tool for the Java platform application. This video goes into detail on the Threads, Sampler, and Profiler tabs.
Viewers will learn how to properly install Eclipse with the necessary JDK, and will take a look at an introductory Java program. Download Eclipse installation zip file: Extract files from zip file: Download and install JDK 8: Open Eclipse and …

895 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

14 Experts available now in Live!

Get 1:1 Help Now