- by Zimana, Blogger
- 1/17/2013 7:38:57 PM
Kicheko, Discussing code responsibility also opens the discussion with clients as to what it takes to execute an analytics-related project. I am not sure it is a bad thing for one person to manage code if the person undertands the project and its scope for a client. But there is a breaking point where a team needs to be responsible rather than a single source. The need to understand scope is a challenging discussion - some things are unknowns - but it's a worthwhile discussion to set expectations as much as possible.
- 12/18/2012 11:03:49 AM
MNorth - great piece and on target. Like in the Wizard of Oz - 'don't look behind the curtain!' There are sociological and psychological dimensions to analytics - in a nut shell - we are insecure beings - collectively and individually. Hope we can move toward transparency and trust. As in the film - Wizards can be useful even when we are completly open and honest. Until then - its still a 'numbers game'.
- 12/18/2012 10:58:09 AM
Agree wholeheartedly! But in this day, it still happens. This is very risky, but some shops become so comfortable with the flow of activity over a number of years that they forget that sudden and unexpected transitions can happen. Some people want to be the keeper of the secret code and their managers will let them. After all - what could happen????
- by Nnanci, Blogger
- 12/17/2012 8:43:31 AM
Brian, - IMO it is always a bad idea to be the single person that knows and understands your code. The best code is written in teams. Even as a customer i wouldn't go for one-man code that is undocumented because when the programmer dies(worst case scenario) or is out of country and we have an emergency, that will be it with that system.
- by mnorth, Blogger
- 12/14/2012 3:03:30 PM
In my piece on the Bowl Championship Series last week, I mentioned that one of the greatest criticisms is that the BCS formula uses computer models that are not open for public scrutiny. The computers analyze the data and spit out these rankings, but no one can determine what happened in the code to decide if the rankings mean anything useful.
- 12/14/2012 1:33:37 PM
The standard IT answer is - 'it depends'. Typically a coder will/should internally document the program (header template with in-line and block comments); but this is assuming that s/he works in a structured environment where there is turn-over and that someone else may maintain the code down the road. In shops where a coder is 'fire-proof', works alone and assumes s/he will stay/live forever, there may not be as much internal coding because the functionality is committed to memory. And as long as you are the only person who understands the code, your job is safe. You protect your knowledge of the code as a Jedi protects a lightsaber.
A coder may also do the end-user or technical documentation, but it depends if this is a small company where the coder does the work of three people, or a company that can afford a business analyst or tech writer. If the company is a contractor, they will have a separate person for external documentation - each additional person represents revenue. If they are smart, they will bill for a business analyst, requirements person, tester and tech writer to create a paper trail outside of the code itself. But beyond the revenue value, it does help to have someone to ensure that the internal and external documentation is useful, usable and used.
Another factor is whether English is the person's primary language. For the sake of revenue enhancement, I have seen staff augmentation with an emphasis on capturing off-shore talent. These employees are not always comfortable writing down comments for fear that their written English skills will expose them or get them labeled as expendable. Hence, being hesitant to provide anything beyond very basic statements does not mean a lack of conscientiousness, but the need to get comfortable in putting one's words in the public square.
So yes Beth 'it depends'.
- by BethSchultz, Blogger
- 12/14/2012 10:34:11 AM
Bryan, interesting advice! Do you find that coders are typically writing the document around their work or working with somebody else who can do that for them? I'm thinking a coder might not always be the best person to communicate that info.