Solved

Experience of Knowledge-Sharing on large Software Projects

Posted on 2013-06-07
10
372 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
Free Trending Threat Insights Every Day

Enhance your security with threat intelligence from the web. Get trending threat insights on hackers, exploits, and suspicious IP addresses delivered to your inbox with our free Cyber Daily.

 
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

Do You Know the 4 Main Threat Actor Types?

Do you know the main threat actor types? Most attackers fall into one of four categories, each with their own favored tactics, techniques, and procedures.

Join & Write a Comment

Suggested Solutions

You can provide a virtual interface for remote stakeholders in a SWOT analysis through a Google Drawing template. By making real time viewing and collaboration possible, your team can build a stronger product.
Since upgrading to Office 2013 or higher installing the Smart Indenter addin will fail. This article will explain how to install it so it will work regardless of the Office version installed.
This tutorial will introduce the viewer to VisualVM for the Java platform application. This video explains an example program and covers the Overview, Monitor, and Heap Dump tabs.
In this fourth video of the Xpdf series, we discuss and demonstrate the PDFinfo utility, which retrieves the contents of a PDF's Info Dictionary, as well as some other information, including the page count. We show how to isolate the page count in a…

744 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

12 Experts available now in Live!

Get 1:1 Help Now