昨今、進捗管理をWebシステムで行うプロジェクトが増えてきたように感じる。
しかし、未だにEXCELやMS Projectを使用しているプロジェクトも多く存在している。
ツールを選択するうえで自分がやりたいこと(重視したいこと)を考慮するべきである。
・進捗管理
・コミュニケーション
・工程の標準化
管理するものは成果物の進捗だけではなく多くのものがある。
・ToDo
・仕様
・変更
・課題
・問題
・不具合
・障害
・環境
・コスト
・品質
・要員
・勤怠
・契約関連
・文書
全てをパーフェクトに管理することは難しい。
以下のツールなどを参考に自分(プロジェクト)に合ったものを選択すべきである。
・Redmine
・MS Project
・Brabio!
・backlog
・Teamoffice
・ジニーフレーム
以上
開発プロジェクト、評価プロジェクト、構築プロジェクト、エンハンスプロジェクト・・・、
我々S/W開発にかかわる技術者は、同じプロジェクトにずっと在籍し、
定年まで同じ技術で飯を食える人は皆無だと思う。
新しいプロジェクトに参画したら知りたいことは、
・プロジェクトの目的
・体制
・役割
・スケジュール
・何を作るのか
・どうすればプロジェクトの成功となるのか
・納品物
・プロジェクトルール
・ノウハウ
・その他(常駐ならハウスルール、端末設定、環境関連)
といった内容であろう。
経験したことのない業種のプロジェクトに参加すると、文化や専門用語に
ついて行くのが大変。
大きなプロジェクトだとナレッジ共有という形でWikiやRedmine、その他ソリューションで
情報を蓄積していく。
運用で考慮したほうがいいこととして、
・情報(ナレッジ)を誰が持っているか
・協力者を作る(サクラ的な)
・全体を見渡せる管理者(情報をくれる人たちに顔がきく人)
・いいね!ボタン的な参加した人への満足感を与えるもの
・荒れないようにする意見サイト
などがある。
単に情報(ファイル)を突っ込むのではなく、他のPJへの流用や
開発・評価プロジェクトならエンハンスでも使えるナレッジを視野に入れた
環境構築が必要である。
以上
こんにちわ、ちかです
Groovy は DSL としてしか生き残れないだろうと
勝手に想像しているちかですが
そもそも JVM 嫌いで自分の PC には JRE も入れたくない私の戯言は置いといて
Java とほぼ互換性のあるスクリプト言語 Groovy は
Java のインタラクティブシェルとして使えると思います。
ということで
まずはインストールから。
私はチョコ好きなので Chocolatey からインストールします。
バレンタインデー症候群の方は yum なり brew なり公式サイトなりからどうぞ。
C:\Windows\system32>cinst groovy Installing the following packages: groovy By installing you accept licenses for the packages. groovy v2.3.6 The package groovy wants to run 'chocolateyInstall.ps1'. Note: If you don't run this script, the installation will fail. Note: To confirm automatically next time, use '-y' or consider setting 'allowGlobalConfirmation'. Run 'choco feature -h' for more details. Do you want to run the script? 1) yes 2) no 3) print 1 Adding 'C:\bin\groovy-2.3.6' to the path and the current shell path Downloading groovy 32 bit from 'http://dl.bintray.com/groovy/maven/groovy-binary-2.3.6.zip' Extracting C:\Users\chica\AppData\Local\Temp\chocolatey\groovy\2.3.6\groovyInstall.zip to C:\bin... 7-Zip (A) 9.20 Copyright (c) 1999-2010 Igor Pavlov 2010-11-18 Processing archive: C:\Users\KAZUTO~1.TAK\AppData\Local\Temp\chocolatey\groovy\2.3.6\groovyInstall.zip Extracting groovy-2.3.6 Extracting groovy-2.3.6\NOTICE.txt Extracting groovy-2.3.6\LICENSE.txt Extracting groovy-2.3.6\lib Extracting groovy-2.3.6\lib\groovy-2.3.6.jar (中略) Extracting groovy-2.3.6\META-INF Everything is Ok Folders: 7 Files: 84 Size: 36558735 Compressed: 32927161 C:\bin 警告: Write-ChocolateySuccess is deprecated. If you are the maintainer, please remove it from your package file. The install of groovy was successful. Chocolatey installed 1/1 package(s). 0 package(s) failed. See the log for details (C:\ProgramData\chocolatey\logs\chocolatey.log). C:\Windows\system32>
インストールできたら
インタラクティブシェル Groovysh を起動します。
C:\Windows\system32>groovysh Groovy Shell (2.3.6, JVM: 1.8.0_66) Type ':help' or ':h' for help. ----------------------------------------------------------------------------------------------------------------------- groovy:000>
Groovy では
java.io.* と java.util.* がデフォルトで使えて
ArrayList や LinkedHashMap がリテラルで記述できるので
Java の標準ライブラリを手軽に試すことができます。
groovy:000> Math.sin(Math.PI / 2) ===> 1.0 groovy:000> [id: '001', name: 'chica'].get('name') ===> chica
さらに
Groovy には Grape と呼ばれる依存関係管理のためのクラス群が含まれていて
Maven Central などにあるライブラリも手軽に試すことができます。
groovy:000> groovy.grape.Grape.grab(group:'org.apache.commons', module:'commons-lang3', version:'3.4') ===> null groovy:000> import org.apache.commons.lang3.StringUtils ===> org.apache.commons.lang3.StringUtils groovy:000> StringUtils.isEmpty(null) ===> true groovy:000> StringUtils.isEmpty('') ===> true groovy:000>
Java 8 のラムダ式は使えません。
代わりにクロージャを使います。
(Groovy ではコレクション操作に Groovy JDK API のメソッド群を使うことが多いと思いますが、 (残念なことに先行評価版しかないし、) 今回は Groovy の機能紹介ではなく Java の機能を試す用途で Groovy を使ってみることが目的なので触れません。)
groovy:000> import java.util.stream.* ===> java.util.stream.* groovy:000> ['abc', 'def', 'ghi'].stream().map({it.toUpperCase()}).collect(Collectors.toList()) ===> [ABC, DEF, GHI] groovy:000>
終了するときは :exit または :x と入力します。
groovy:000> :exit
C:\Windows\system32>
ところで
Windows で Groovysh を使うと瞬時に気付くことなのですが
非常に残念なことに
Windows 版では矢印キーが効きません。
↑↓キーで入力履歴を辿れないばかりか (代替: Ctrl+P / Ctrl+N)
←→キーでキャレットの移動もできません (代替: Ctrl+B / Ctrl+F)
(Groovysh 2.1.9 までは動いていたみたいですね... こんな大きなデグレードが 2 年間も修正されないところに活気のなさが表れているような...)
とてつもなく入力しづらいと言わざるを得ませんが...
ライブラリを試す用途であれば
使ってみる価値はあるのではないでしょうか。
でわでわ。
Excelで実施して欲しい手順を展開し、手順の最後でお名前とメールアドレスを入力していただき、ポチっと押して貰うと
収集している人にメールが送信されるというマクロを作成してみました。
ご紹介させていただきます。
Sub SendMail()
On Error Resume Next
team = Sheets(1).Range("G65").Value
Uname = Sheets(1).Range("G67").Value
sendusername = Sheets(1).Range("G69").Value
'メール送信にSMTPサーバを使用しているので、場合によってはパスワードが必要となる
'が、今回はパスワードを設定せずにメール送信が可能な環境のためにコメントアウト
'sendpassword = Sheets(1).Range("G71").Value
If sendusername = "" Then
MsgBox "メールアドレスを入力して再度実行してください。"
Exit Sub
End If
Set objMail = CreateObject("CDO.Message")
objMail.From = sendusername
objMail.To = "メール収集者のメールアドレス"
objMail.Subject = "メールの件名(Subject)"
objMail.TextBody = "メール本文"
strConfigurationField = "http://schemas.microsoft.com/cdo/configuration/"
With objMail.Configuration.Fields
.Item(strConfigurationField & "sendusing") = 2
.Item(strConfigurationField & "smtpserver") = "SMTPサーバ"
.Item(strConfigurationField & "smtpserverport") = 25
.Item(strConfigurationField & "smtpusessl") = True
.Item(strConfigurationField & "smtpauthenticate") = 1
.Item(strConfigurationField & "sendusername") = sendusername
'.Item(strConfigurationField & "sendpassword") = sendpassword
.Item(strConfigurationField & "smtpconnectiontimeout") = 60
.Update
End With
objMail.Send
If Err.Number <> 0 Then
MsgBox "メール送信に失敗しました。"
ElseIf Err.Number = 0 Then
MsgBox "メール送信が完了しました。"
End If
Set objMail = Nothing
End Sub
ということがありました。
1枚2枚のキャプチャなら手作業で実施してもいいのですが、何百枚、何千枚となると手作業では無理があります。
そのため、色々な方のマクロを参考にさせていただきながら、以下のようなマクロを作成してみました。
ご紹介させていただきます。
'PastePicturesマクロ
Sub PastePictures()
Dim filenames As Variant, filename As Variant
'画像ファイルを指定
filenames = Application.GetOpenFilename( _
FileFilter:="画像ファイル,*.png;*.jpg", _
MultiSelect:=True)
If IsArray(filenames) Then
For Each filename In filenames
'画像間を3行空ける
PastePicture CStr(filename), 3
Next filename
End If
End Sub
Sub PastePicture(filename As String, offset As Integer)
Dim picture As Shape
Set picture = ActiveSheet.Shapes.AddPicture( _
filename:=filename, _
LinkToFile:=False, SaveWithDocument:=True, _
Left:=Selection.Left, Top:=Selection.Top, _
Width:=0, Height:=0)
picture.ScaleHeight 1!, msoTrue
picture.ScaleWidth 1!, msoTrue
'picture.heightはポイント単位
'(ピクセル単位に変換するには96/72を掛ける)
MoveDown picture.Height, offset
End Sub
Sub MoveDown(pt As Double, offset As Integer)
Dim moved As Double
moved = 0
Do While moved <= pt
'ActiveCell.heightはポイント単位
moved = moved + ActiveCell.Height
ActiveCell.offset(1, 0).Activate
Loop
ActiveCell.offset(offset, 0).Activate
End Sub
手作業で実施する手間が省けて、お役立ちでした。