Wednesday, January 28, 2009

The process vs. experience paradigm: Establishing the PMO and managing the change

Establishing the PMO ,especially a process for product introduction is a challenge. Any established company trying to establish a new process is "running the trains and laying the tracks" at the same time.
Any process that does not match with intuition (experience based) is discounted as a poor process. Similarly, any new process that does not throw new insights is also discounted as a heavy process for doing something intuitively or from experience. Hence, establishing benefit of a new process is balancing the fine line.
We have also heard common complaints that there is no spirit in the templates and deliverable. People are churning the wheels without the spirit - so what is the "spirit". There are also numerous form vs. content debates
A proposed methodology is
1. Fill the forms/templates/deliverable
2. Check with common sense, get feedback on the content from experts
3. Create a conclusion from the deliverable
4. Highlight issues and closure plans, force learning's from the team (and incorporate in process)

The benefit of the process is only if we can ramp-up learning and standardize across programs to get the benefits of experience standardized.

Every one of these steps must be orchestrated for key programs by the PMO. Hence, while PMO strives for training members on the deliverables, it is crucial to drive debate on the content and signoff on outputs.

Saturday, January 24, 2009

How I maintain my mp3 library using python

I use a combination of iTunes , iTunes updater and Media Monkey . Use media monkey to update the tags, and iTunes updater to read it into iTunes. I use iTunes since I like the interface to listen to my music.


This was after cleaning up with my own scripts for the folders that I inherited. I use a python file MP3Xplor.py to read the directory and the tags into a excel file (using pipe separated txt). I then correct it and send it back using the MP3Change.py file. 
MP3Xplor.py
#!/usr/bin/env python
#coding=utf-8
import ID3Writer
import id3reader

fIn = open('in.txt','r')

sStr= fIn.readline()

while sStr:
lStr = sStr.split("|")


fN = lStr[0]
id3r = id3reader.Reader(fN)
tr = id3r.getValue('track')
try:
tr = int(tr)
except:
tr = 1
art = id3r.getValue('performer')
tit = id3r.getValue('title')
yr = str(id3r.getValue('year'))
lbl = id3r.getValue('label')
ttltr = id3r.getValue('totaltracks')
try:
ttltr = int(ttltr)
except:
ttltr = 1

id3w = ID3Writer.Writer(fN,tr,lStr[2],lStr[3],lStr[1],yr,lbl,ttltr)
sStr = fIn.readline()

MP3Change.py
import os
#from tagger import *
import id3reader
fOut = open ("out.txt", 'w')
mp3attribs = ['album','performer','title','genre']
sStr = ""

for roots,dirs,files in os.walk(r'H:\Karthik\Music\Carnatic Music\Ariyakudi'):
for f in files:
if os.path.splitext(f)[1]=='.mp3':
fN = os.path.join(roots,f)
id3r = id3reader.Reader(fN)
i=0
sStr = sStr + roots+"|"+ f +"|"+fN
while i < len(mp3attribs):
sStr=sStr+"|"+str(id3r.getValue(mp3attribs[i]))
i=i+1
sStr = sStr + "\n"
fOut.write(sStr)
## i3 = ID3v1(fN)
## print roots,"|",f,"|",i3.album,"|",i3.artist,"|",i3.genre

Thursday, January 22, 2009

Know your boss to profit


Attention span and learning differ. What you need to do to get your point across cannot be one formula fits all.

Readers - Reads everything/ Does not believe that it is work unless it has prose beyond 250 pages
Skimmers - Can retain 3 points. Needs to be 1 page and should be understood by all. Try the cabby first
Tearers - Cannot read until they criticise it
Discussers - Cannot read or understand unless explained. Usually prolonged discussions
Writers - Most difficult to get the point across - need to contribute to understand

You can do MBTI and other tricks to type cast your boss, but gettng your OWN fundamental definition of the boss is critical to get YOUR message across.


Sunday, January 18, 2009

The need for support in a PLM implementation

The need for support in a PLM implementation

Typically training for PLM implementations involve users accessing online training material or classes. The real need for training is however, when they start using the system. Any training material placed when keying in details and availability of a person at hand greatly enhances success of PLM implementation.(The latter being the MOST effective)

Some tips when supporting users:

1. Take them from their current system to the new system - what this means? - The support staff need to be trained on the legacy system PLM is replacing. Users will continue to ask you for "How to's" in the context of their current systems

2. Distribute adequate online training material and handouts before training

3. Ensure all process owners are trained atleast once before go-live

4. Provide additional buffer support personell for (a) Retraining users who missed out training (b) enhancements that need to be compleed immedeately after go-live

5. For complex user problems, instruct support staff to say "I dont know" and ask the L2 / L3 support members rather than complicating the situation wherein user has to rework information

My experience with major module go live has been that call logs come down by around a sixth in about 4 months.


The "perfect data migration"

The "perfect data migration"

Data migration from any legacy system to PLM involves substantial work especially if the legacy is quite large

Most data migrations suffer loss and inconsistsncy theat can be quite dangerous and often involve substantial rework

The typical sources for data loss are

1. Lack of corresponding attributes (often attributes in relationships)

2. Lack of emphasis at the time of data migration since the history and use of the attribute is not known to several members

3. Incorrect and inconsistent use of attributes in the legacy system leading to problems in splitting and assigning to correct attributes

4. Unstructured information (Textual and pictorial) information in legacy systems

Some solutions

1. My experience is that it is better to migrate the data even if unstructured to reduce reliance on legacy systems.

2. Further converting common reports from legacy systems and attaching to parts/BOMs may also be useful

3. Ensure that all major data migration activities are complete before starting usage and not just the bare minmum to work. Usually, the development team has to work on quick enhancements to support users and hence, time for subsequent data migration is not there.

 

 

My new Sony Vaio

My office gave me a Sony Vaio VGN-TX37GP - Sony Vaio VGN-TX37GP Weighs about a kg and is one of the slickest I have seen!