1日程度の遅れで問題視してはいけない2017年09月23日 10時48分52秒

ある会社の社長さんの言葉。

「1日の進捗遅れでも叱らないとダメ」

最近の若い人は叱られ慣れていないし、仕事の厳しさを教えるためにそのように思っているようです。
また、若い世代は怠けることを先に考えるという先入観を持っているようで、「遅れるのは」「怠けている」「本人の問題」だと決めつけているようでした。

この社長さん、別に高齢者の昭和の社長さんではなく、IoT関連のビジネスを展開しようとしている人です。

しかし、ここにはいくつか疑問があります。

(1) そのスケジュールは適正なのか(誰がスケジュールを立てたのか)
(2) 遅れている背景を探る必要はないのか
(3) 担当者の認識と依頼側の認識はあっているのか

例えばAという課題があった時にある人はAならB、BならCという段階的な課題の連鎖を考えてAという課題には複数の課題をクリアしてZまでの作業工数を見積もってスケジュールを立てるでしょう。
でも経験の少ない人はAという課題に対してBまでの作業しか想定しておらず、Bまでの作業工数でスケジュールを立てます。
Zまで考えられる人とBまでしか考えられない人とでは作業量も品質も全く異なります。

担当者本人にスケジュールを立てさせていざ作業を始めてみたら本人も「あ、Bまでではだめだ。Cまで考えないと」と思ったら、当然当初のスケジュールからは遅れます。しかもZが本当のゴールだとしたら結果も依頼者とは食い違うので、Cまでの結果で「出来ましたぁ」とか言おうものなら叱られることになります。

このような認識の違いがあるということを前提にしてそれを俯瞰した上で全体スケジュールを管理するような認識ができない人はマネージメントの立場になったらだめです。
技術がよくわかっている人が依頼者の場合はこの乖離は大きくなりますので、十分なすり合わせは必要だと思います。

一律に冒頭の言葉が出るようだと論外だと思います。
さぞ、息苦しい会社なのではないでしょうか?


svnリポジトリダンプスクリプト2012年02月11日 08時21分53秒

KURO-BOX/Debian Lenny環境でSubversionリポジトリを管理するようにしています。 自動でsvnadmin dumpを使ったリポジトリバックアップ運用も既に行っていたのですが、1週間に一度単純なdumpを日付のフォルダを作って保存する形でした。

でもその形だと以下の問題があります。

  1. 更新がなかったリポジトリも毎回バックアップしてしまう
  2. 途中でリポジトリが壊れた場合差分loadで復元したい

ということで以下の機能を追加

  1. バックアップ時点のリポジトリのレビジョンを保管
  2. 保管したレビジョンとその時点のレビジョンに差分がある場合のみバックアップ実行
  3. 差分がある場合はフルバックアップと差分バックアップの両方を実施

念のためですが「自動」の部分はcronで実施で、ここで紹介するのは単なるスクリプトです。

なお、バックアップ元のディレクトリと保存先のディレクトリはスクリプト内で指定する形。引数(第一引数)で指定するのはリポジトリの名前(相対パス)。 オプション(第二引数)で更に他のディレクトリに最新のバックアップをコピーします。

#!/bin/sh
##########################################
#      svn repository dump
##########################################
# setting path
rtop="/mnt/svn"
svnbackupdir="/mnt/backup/svndump"
#
if [ "$1" = "" ]; then
       echo "Usage $0 repository-name"
       exit
fi
repo=$rtop"/"$1
if [ ! -d $repo ]; then
       echo "$repo not found"
       exit
fi
echo "## $repo dump start ##"
logger "## $repo dump start ##"
datedir=`date +%F`
echo "today is" $datedir
if [ -d $svnbackupdir ]; then
       echo "already exist" $svnbackupdir
else
       echo "mkdir" $svnbackupdir
       mkdir $svnbackupdir
fi
backupdatedir="$svnbackupdir/$datedir"
backupbase=`echo $1 | tr "/" "_"`

# history save
hisfile="$svnbackupdir/svn_$backupbase.history"
newrev=`svnlook youngest $repo`
echo "$repo revision is $newrev"
backupfile="$backupdatedir/svn_$backupbase.dump"
if [ -f $hisfile ]; then
       lastbackup=`cat $hisfile`
       echo "$repo last dump revision is $lastbackup"
       if [ "$lastbackup" = "$newrev" ]; then
               msg="## $repo no change ##"
               echo $msg
               logger "$msg"
               exit
       fi
fi

# backup dir create
if [ -d $backupdatedir ]; then
       echo "already exist" $backupdatedir
else
       echo "mkdir" $backupdatedir
       mkdir $backupdatedir
fi

# svndump diff
if [ -f $hisfile ]; then
       lowrev=`expr $lastbackup + 1`
       difffile="$backupfile""_""$lowrev""_""$newrev"
       echo "difffile = $difffile"
       msg="svn dump $repo -r $lowrev:$newrev --incremental  --> $difffile"
       echo $msg
       svnadmin dump $repo -r $lowrev:$newrev --incremental > $difffile
       logger "$msg"
fi

# svndump all
msg="svn dump $repo --> $backupfile"
echo $msg
svnadmin dump $repo > $backupfile
logger "$msg"

# dump history save
echo $newrev > $hisfile

# copy svndump file
if [ "$2" != "" ]; then
       cpdir="$2/$datedir"
       if [ -d $cpdir ]; then
               echo "already exist" $cpdir
       else
               echo "mkdir" $cpdir
               mkdir $cpdir
       fi
       echo "svn dump copy $backupfile --> $cpdir"
       cp -p $backupfile $cpdir
       cp -p $difffile $cpdir
fi
msg="## $repo dump end ##"
echo $msg
logger "$msg"

KURO-BOX/HGにsvnサーバリポジトリ構築2011年05月19日 20時34分10秒

こちらを参考にsvnサーバの環境構築しました。

サーバのハードはKURO-BOX/HG(debian lenny)です。

Windows/Trac Lightningでの運用でもいいのですが、実はこのKURO-BOXはDDNSで外部からアクセスできるようにしているので、外からもアクセスできるsvnサーバとして使うつもり。

なので、svn+sshでのアクセスが可能なようにしました。

ちなみに、svnserveは/etc/init.d/svnserveというようなスクリプトは用意されていないので、fetchmail用のスクリプトを改造しました。

その後、svn+sshでのアクセスが目的であれば、上記のように/etc/init.d/svnserveなどのシェルスクリプトを用意する必要はないことが判明。思い込みって怖い。 詳しくはこちらを参照してください。

みずほシステム障害の真相(想像)2011年03月26日 05時08分49秒

みずほのトラブルですが、ソフトウェア開発「業界」の現状を考えると「当たり前」だと思えます。

以下、羅列します。

  • 頭がいい、悪い、能力がある、ない、とは関係のない次元で決定権を持つ人間の意見が通る
  • いいエピソードはこちら
  • 派遣の横行
  • 擬似正社員の横行
  • 偽装正社員の横行
  • コードが書けない人間がプロジェクトマネージャ
  • コードも書けない人間が設計
  • 派遣エンジニアが中核のコードを書くのでコードの書けないプロジェクトマネージャはレビューしても「瑕疵」を指摘できない。
  • コードが書けない設計者は全体システムを俯瞰してのシステムイメージを想像すら出来ない
  • クリティカルなシステム設計の経験をしている人間がほぼ絶滅

Androidランチャーアイコンの変更問題2011年03月24日 07時12分31秒

Androidのランチャーアイコンですが、その画像置き換えではまっています。半日悩んだけど、保留中。 解決したらここに書く予定。情報提供歓迎。

現象

  1. res/drawable/icon.pngにランチャーアイコンを置く。
  2. 端末に転送
  3. 最初の転送なら上記アイコンが表示される
  4. icon.pngの画像を置き換え
  5. 端末に転送
  6. 元のアイコンのまま
  7. *.apkをzipで解凍して確認しても新しいicon.pngになっている
  8. adb uninstallで一度削除してから転送しても同様
  9. エミュレータ、IS01、IS03で同様。

解決方法

まだなぞ。 再起動で反映される場合もあるが、そうでない場合もある。 当面は変ったのでいいけど、どっかにキャッシュがあるのだとおもうのだが、それをクリアしたい。

一般的なアイコンの情報