チームスピリットデベロッパーブログ

チームスピリット開発者のブログ

【今更ながら】JaSST'19 Hokkaido 登壇レポート

こんにちは、会社のブログを書くのは半年ぶり、QAチームの生井(id:riririusei99)です。
今更ながら、8月30日に登壇したJaSST'19 北海道の登壇レポートです。

オフィスの引っ越し大名をやったり、カスタマーサクセスサポートの仕事をしたり、お披露目パーティの幹事をやっていたら登壇レポートが延び延びになっていました。

adventar.org

この記事はチームスピリットアドベントカレンダー2日目の記事です。

きっかけ・JaSSTとは

NPO法人ソフトウェアテスト技術振興協会(ASTER)が全国各地で開催しているソフトウェアテストシンポジウム(JaSST : Japan Symposium on Software Testing)で、QAエンジニアであれば大抵名前を知っているシンポジウムです。

TeamSpiritのQAチームの活動を認知してもらうために、実例発表の公募に応募したりしていたのですが残念ながら不採択になったりしていた所、前回発表した勉強会(Agile QA Night!!登壇レポート - チームスピリットデベロッパーブログ)で東京以外の開催についての情報を教えていただきました。

ということで、当時一番開催が近かったJaSST'19 北海道を目標に定め事例発表を活動を始め、この度登壇する運びとなりました。

実際の発表

speakerdeck.com

「アジャイル開発✕品質保証」については、様々な企業が取り組んでいるテーマだと思っていて、チームスピリットでは2017年から取り組んでいます。
短いながらもこれまでの経験が貯まってきたこと、またそれを発表することで、これからスクラムを始めるQAの方に向けて気づきになる部分があるのではと思い、この度事例発表という形で登壇しました。

発表では、スクラム開発が始まっていたものの上手く行っていなかった・品質保証のプロセスがなかった状態に対して、QAとスクラムマスターの観点から改善を行ったこと、チームの成長に伴い課題感も変わったときの対応について発信しました。

実際の発表では詰め込み過ぎて、思った通り発信できなかった実感がありましたが…その後のブース等で個別に疑問点を答えることができたかなと思います。

発表で伝えたかったこと

当日緊張しすぎ&詰め込み過ぎたため、
自分の想いみたいなのを乗せられたか怪しいので、ココで補足しておきます。

地道な積み重ね

当然といえば当然ですが、スクラムチーム内でも所属する人や状況によってチームの課題感は異なると考えています。
今回の事例発表は一つの例なので、課題の設定の仕方やどのようなアプローチを選択したかについて着目してもらえればと思います。

発表でとりあげた施策は個別に着目してみると、どれも当たり前だったり小さな施策が多いように感じるかと思われます。
私達のチームではスクラムのルールに則り、目指すべき姿に対して異なっている部分・足りない部分を一つ一つ改善・解決していくことにしています。
なぜなら、基礎や小さな改善の積み重ねた先に、強いチームがあると考えているからです。

ISTQBのテストプロセス

チームスピリットのQAチームではISTQBの知識体系を大切にしています。
主な利点としては、新メンバー含めた共通認識として使えること、チームやプロジェクトが増えた時にも転用しやすいことがあげられます。
共通の知識体系を使うことは意見の拠り所や楔になるので、変化が激しいチームには必要だと思います。オススメです。

おわりに

今後もチームスピリットのスクラム開発は継続していきます。
いろんな失敗をして、新たな気づきを自分のものにしながら強いチームに成長していけたらなぁと思います。

個人としては来年はもう少し、ブログ等で発信を頑張りたいと思います。

おわり

Salesforce Webinar 「Salesforce DX の始め方とパートナー様成功事例」(後編)

こんにちは、倉谷(id:a-kura)です。

「Salesforce DX の始め方とパートナー様成功事例」の発表内容を紹介した前編に引き続き、そこで挙がった課題に対して解決できた「DevHub移行」について紹介します。

teamspirit.hatenablog.com

DevHub の移行

当時の課題として、DevHub を開発者組織からプロダクション組織に移行することが残っていました。 ここでは、自社組織 PBO (Partner Business Org)の DevHub に移行したので、その際に検討した点や注意点についてまとめておきます。

検討事項:PBO とすべきか?それとも別の組織とすべきか?

当初、PBO (Partner Buisiness Org) では管理権限の問題で利用制限がかかったりする可能性があると考えて、別組織を購入しようと考えていました。 しかし、セールスフォース・ドットコム社とやりとりをする中で、PBO を利用する決断をしました。その決断をした経緯について、少しふりかえってみたいと思います。

PBO を利用する場合のメリット、デメリットを下記のように考えました。

メリット

PBO を利用した場合のメリットは、スクラッチ組織の作成数が増える、SalesforceDX用無償ライセンスが提供される、などのパートナー特典が受けられる点です。詳細はこちら。

developer.salesforce.com

デメリット

PBO を利用した場合のデメリットは、現行業務に影響を与えたり、制限を受けたりする可能性がある点です。PBO では内部統制上の問題もあるので、システム管理者権限は利用できません。この制限により DevHub の運用が滞るリスクがあります。

PBO の DevHub を利用することにした理由

セールスフォース・ドットコム社とのやりとりで、今後の機能拡張によって PBO の DevHub を利用する必要があることがわかりました。第2世代管理パッケージでは、一つの名前空間で複数のパッケージが作成できるようになったり、名前空間を持つ Scratch Org を作成できたりします。そのため、PBO と DevHub の関係が密接になってくるため、依存関係が出てくるようです。

このことが決め手となり、PBO を DevHub として利用することにしました。

PBO を DevHub として利用するために実施したこと

基本的には、こちらのページに記載してある内容で設定していきました。

developer.salesforce.com

組織の DevHub 有効化

情報システム担当の方に PBO に影響がないことを説明して、DevHub を有効化しました。 実際に業務が稼働しているので、影響を与えず利用できることが重要になります。

f:id:a-kura:20191128144538p:plain

Free Limited Access ライセンス取得&専用アカウント作成

CircleCI から接続するために専用のアカウントを作成します。そのライセンスとして無償提供される Free Limited Access ライセンスを利用しました。自動テストの実行などに利用するだけなので無償ライセンスがあるのは非常に助かります。

このライセンスは Partner Community からケースで依頼します。ライセンスの期限が短く設定されていますが、自動的に延長されるため問題ないそうです。ライセンス取得後、プロファイルを手順に沿って作成しました。

接続アプリケーション作成

CircleCI から JWT (JSON Web Token)で接続するために接続アプリケーションを作成しました。

手順通りに進めればよいですが、証明書の作成や秘密鍵の管理が必要になる、など黒い画面(コンソール)を使った対応が必要なため、情報システム担当の方と協力しながら進める必要がありました。

権限付与

こちらも手順通りに進めれば、問題ありませんでした。
設定する項目は多くなく、「API の有効化」とスクラッチ組織に関係するオブジェクトの操作権限を設定します。どのように設定すればよいか手順に書いてあるのでほぼ迷うことはないと思います。

制限事項

上記の設定で、Salesforce DX CLI を利用してスクラッチ組織を使った開発を行うことができるようになります。しかし、一つ制限があることを見つけました。

見つけた制限とは、スクラッチ組織の Limits を参照するコマンドが実行するには追加の権限が必要だとわかりました。

スクラッチ組織の1日の作成数と上限数、アクティブなスクラッチ組織の数と上限数を参照するために、force:limits:api:display を実行したかったのですが、別途「設定・定義の参照 (View Setup and Configuration)」の権限がないとコマンドを実行してもエラーとなってしまいます。

エラーメッセージは下記のものが出力されます。

API_DISABLED_FOR_ORG: limits resource is not enabled
Error: limits resource is not enabled at Object.exports.exitWithMessage(...)

PBO にあるユーザーなので与える権限は最小限にしたいため、弊社ではスクラッチ組織の作成数と上限数を参照することを諦めることにしました。

おわりに

後編では DevHub 移行について体験談を書きました。
ほぼ Salesforce DX 開発者ガイドに書いてある内容で問題ありませんでしたが、スクラッチ組織の作成上限を取得するためには別途権限が必要でした。フル機能で利用したい、継続的インテグレーションでスクラッチ組織の上限が近いときに警告を出したい、などの場合は PBO で権限を付与してもらえるか注意が必要です。

以上、DevHub を PBO に移行しようとする方はご参考にしていただければと思います。

エンジニア募集♪

チームスピリットでは、アジャイルなプロダクト開発を共に推進してくれるエンジニアを募集しています。どんな考えや想いで開発しているのか少しでも興味を持っていただいた方、ぜひご連絡ください!(直接メッセージでも、下記の応募フォームからでも構いません)

https://www.teamspirit.com/ja-jp/recruit/r_d.html

Enjoy DX!

Salesforce Webinar 「Salesforce DX の始め方とパートナー様成功事例」(前編)

こんにちは、倉谷(id:a-kura)です。

今さらな感じですが、Salesforce Webinar にゲスト登壇しました。そこで、前編では発表内容、後編ではその後に取り組んだDevHub移行の課題について紹介します。

はじめに

2019年8月30日に開催されたセールスフォース・ドットコム社主催の Webinar にゲスト出演しました。この Webinar では、Salesforce DX の活用事例を2社、co-meeting 木村さんとチームスピリット倉谷から話しました。こちらから資料と動画を見ることができますので、よろしければご覧ください。

developer.salesforce.com

Salesforce DX の始め方とパートナー様成功事例

f:id:a-kura:20191125125018p:plain

私から Salesforce DX の活用事例として、CI環境構築における活用事例を話しました。 まず、背景として CI 環境が必要となる理由についてです。

チームスピリット社では、AppExchangeのOEMアプリケーションを開発・提供しています。 このB2Bサービスである TeamSpirit は1100社、17万IDに利用されています。

これだけのお客様に継続して利用していただくために開発に関わるメンバーも増えてきています。 そこで、サービスの品質を高いレベルで保ちつつ、チームで開発を進めるための基盤の一つが継続的インテグレーション (CI : Continuous Integration) です。

続きを読む

Dreamforce2019 セッション参加記

こんにちは。エンジニアの田中です。 サンフランシスコで行われているDreamforce 2019に参加しています。 f:id:mh-tanaka:20191122082016j:plain 大変な盛り上がりで、街の至るところがSalesforceです。

二千以上のセッションの中から気になるものを見つけては聞き回っています。

今回一番テンションが上がった話は 「Salesforce で Serverless 」です。リリースは来年2月なので少し先の話ですが、期待しています。

https://developer.salesforce.com/jpblogs/2019/11/introducing-salesforce-evergreen/

また、Einstein (AI) 関係のセッションが豊富でトレンドを感じています。 日本語だと Einstein がうまく利用できないという課題が度々ありますが、AWSとのパートナーシップ強化の恩恵により、かなり近い未来で解決しそうな雰囲気を感じました。 f:id:mh-tanaka:20191122083637j:plain

【Six Pack Report】入社から半年ちょっと経過したのでエントリーブログ書きます

2月に入社しましたQAエンジニアの松本です。
気付いたら半年以上も経過していました、少し遅めですがエントリーブログ書きます。


目次
・自己紹介
・入社後の研修
・チームジョインしたあと
・制度について


自己紹介

30歳男性、2児の父
趣味:子供と遊ぶこと(強制だけど楽しい)、家事(半強制白目)、美術館巡りなど多趣味です

前職ではSESのエンジニアとして、様々なお客さん先に常駐しながら働いていました。
自社製品の開発業務を行うのは初めてなので、とてもフレッシュな気持ちで働けています。

入社後の研修

・各部署からの入社オリエンテーション
・開発チームの開発プロセス、プロダクト説明
・スルーテスト
・開発研修(開発エンジニアのみ)
・Trailhead ⇦ なにこれ?

Salesforce Trailhead とは
Salesforce を楽しく学ぶ方法、それが Salesforce Trailhead です。 たくさんのモジュール(単元)の中から自分の興味に合わせて選択して学んでいく形です。 何からやればいいのか分からないかたは、モジュールを集めたトレイルがあります

弊社の製品はSalesforceのプラットフォーム上にて開発されている為、
仕事をする為にはSalesforceの知識も必要になってきます。

私の場合はSalesforceを触るのも初めてだったので、
このTrailheadは非常に為になる、楽しく(って書いてある)とてもありがたい研修になりました。

チームジョインしたあと

研修後、QAエンジニアとしてチームにジョインしてからは、
通常の手動テストはもちろん、
以前の職場では他の専門のチームに一任されていたような、
ボリュームテスト、性能テストなどもチャレンジする事もできました。
同じチーム内には界隈の有名な方達がいたり、
シンガポールチームとの連携があったりと、
毎日刺激を受けながら仕事をする事ができます。


「ほろよいてっく」という素敵な会もあります。
teamspirit.hatenablog.com

制度について

働き方も比較的柔軟な会社で、フレックス制度や在宅勤務制度があり、
子供を育てながら働くにはかなり働きやすい環境になっています。

例えば、在宅勤務をした際には、
夕方の1時間だけ業務を抜けて子供のお迎えに行ったり、
お昼休み中に晩御飯を作るなど、
なかなか自由度が高い働き方ができます。

もちろん家族からの評判もとても良いです。

まとめ

チームスピリット は「とても働きやすい会社です」
最高にサイコーなのが、フレックスタイム制のコアタイムが16時なので、
業務を調整すれば早めに退社してハッピーアワーのお酒を飲みに行ける事かもしれません。

あとがき

会社の福利厚生や働き方に関しては、
他の方達のエントリーブログにも詳しく書かれていますので、
ビビッと来た方は他のエントリー記事も見ていただけると、
チームスピリットにより興味が湧いてくると思います!

teamspirit.hatenablog.com

teamspirit.hatenablog.com

ほろよいてっく〜社内で秘密の勉強会〜 参加レポート

こんにちは!バックエンドエンジニアの鶴岡です。

8月23日に開催された「ほろよいてっく」に参加したので、その様子をレポートします!

今回はオフィス改装中でイベントスペースが確保できなかったため、社内会議室でのひっそりとした開催になりました。

しかし参加者の熱量はいつも以上にあり、開始前にお酒を飲んで気持ちを高めている人や、別の飲み会でべろべろになってから途中参加する人がいたりと、みんな暑さに負けずやる気に満ち溢れているようでした!

ほろよいてっくとは

チームスピリットではお酒を飲みながら自由なテーマでLTをする「ほろよいてっく」を定期的に開催しています。

社外の方の飛び入りLTも大歓迎です!

前回のほろよいてっくのレポートもぜひご覧ください。

teamspirit.hatenablog.com

乾杯!

今回はデザイナーの松本さんの乾杯の元、スタートしました!

f:id:tsuruoka-ts:20190828175925j:plain f:id:tsuruoka-ts:20190828180106j:plain

1. カーニングの世界

f:id:tsuruoka-ts:20190828181319j:plain

最初のLTはデザイナーの松本さんによる「カーニング」についてのお話でした。

「カーニング」とは文字同士の間隔を調整する技法のことで、テキストの読みやすさを向上させるために用いられるそうです。

普通に文字を打つだけだと、文字と文字の間が空きすぎてしまい、ロゴや見出し等の大きなテキストの場合にバランスが悪く見えてしまいます。

個人的にもパワポで文字サイズを大きくした時に、文字と文字の間に違和感を持つことがありましたが、それのことか!という気持ちになりました。

ちなみに弊社チームスピリットのロゴもカーニング済みでした! f:id:tsuruoka-ts:20190828183004p:plain

2. アンガーマネジメント入門

f:id:tsuruoka-ts:20190828183218j:plain

続いては、QAエンジニアの松本さんから「アンガーマネジメント」について調べたことを発表していただきました!

「アンガーマネジメント」とは、怒り(=アンガー)を知識と技術を使って、マネジメントするという手法のことでした。

ストレス社会の現代において、ついイライラしてしまうことってありますよね。。

そんな時は自分の怒りを客観的に監視して、適切にマネジメントすることが大切なようです。

また、怒りをコントロールすることで年収が2倍になるとかならないとか。。

年収2倍になりたい!!!!と心から思ったお話でした!

3. あるプロジェクトにScrumを導入したい話

f:id:tsuruoka-ts:20190828184616j:plain

バックエンドエンジニア兼Devリーダーの杉山さんからは、社外で活動しているマーチングチームにスクラムを導入しようとしている、というお話をしていただきました。

スクラムのプロセスを開発以外で使用している事例はあまり聞いたことがなかったので、とても新鮮でした!

今回のスクラムに関わらず、仕事で得た知識や経験を他のことに活かせるって素敵ですよね。

4. 最近読んだ本(コンテナ物語)のまとめ

f:id:tsuruoka-ts:20190828190238j:plain

8月に入社したばかりのバックエンドエンジニアの里石さんにも発表していただきました!(キャッチアップの期間にも関わらず、ありがとうございます....!)

里石さんからは、最近読んだ「コンテナ物語」という本についてのお話でした。

「コンテナ物語」はビルゲイツのおすすめ本でもあり、コンテナがない時代から現代のコンテナ輸送が当たり前になるまでの物語が書いてあるようです。

コンテナが流通して輸送コストが下がったことにより、全世界にどんな影響があったかを知ることができました。

ちなみに東京-上海間の輸送費は約3万円らしいです。

Amazonで安く物が買えるのもコンテナのおかげなんですね〜。

5. チームスピリットのアジャイル開発における品質保証

f:id:tsuruoka-ts:20190828192401j:plain

最後は、QAエンジニアの生井さんから「 チームスピリットのアジャイル開発における品質保証」についてお話いただきました。

チームスピリットの新製品WSPの開発の歴史を、品質保証という観点から形成期・統一期・現代に分けて、どんな問題にどう立ち向かったのかを聞くことができました。

アジャイル開発における品質保証の立ち上げや取り組みについてはまだまだデファクトスタンダードがない中、QAチームのリーダーとして実践してきたことと、そこから得た学びを共有していただき、とても勉強になりました!

また、生井さんは8月30日に開催された「JaSST'19 Hokkaido」でも事例発表をしました!!すごいです!!

www.jasst.jp

終わり!

f:id:tsuruoka-ts:20190828195846j:plain

いかがだったでしょうか。

今回はオフィス改装中のため、社内会議室でのこじんまりとした開催になりましたが、お酒と発表者のおかげでとても楽しいものになりました!(お酒って偉大ですよね)

次回は改装後のオフィスにて開催予定です!!

とてもオシャレなオフィスになる予定ですので、ぜひぜひ遊びにきてください!(飛び入りLT大歓迎です!)

エンジニア募集

チームスピリットではエンジニアを募集しています。

チームに興味を持っていただいた方、ご連絡ください。(直接メッセージでも、下記の応募フォームからでも構いません)

https://www.teamspirit.com/ja-jp/recruit/r_d.html

Teamspirt first AI-OCR integrated product presentation

 

This is Juno from TeamSpirit Singapore. I'd like to share our latest presentation event held with Salesforce together. 

Mingle Time

A sharing event always starts with food&tea, Mingle time! This time we hold the meetup at our lovely workplace WeWork ARC380, with cosy atmosphere and yummy food, everyone is open and actively communicate with others.

f:id:juno_wang:20190827100356j:plain

We were sharing ideas and food

It's the best time to get first-hand information about market demands, also to share our knowledge and products. Since it was my first time joining such session in company, I was quite nervous at first. Luckily got suggestions from other colleagues, finally, I got up the courage to talk with others, try to understand their business and interests 😁

Salesforce Community 

Salesforce has created a rich and active community culture, where users can constantly exchange their ideas and experience. That night Angie Chng introduced us about Dreamforce, the coming event in San Francisco with more than 2700 sessions and workshops. If I was in US, I would definitely attend this carnival!

f:id:juno_wang:20190827102827j:plain

Angie Chng was introducing Dreamsforce

Also got to know Salesforce MVP from Johan Yu's presentation. MVP is awarded to the person who helps customers thrive by sharing knowledge, leadership and creativity in the Community. Thanks for these passionate contributors. 

f:id:juno_wang:20190827103638j:plain

Johan Yu was sharing his inspiring experience of how to become a MVP

TeamSpirit Time 

Definitely, the climax of this event is our presentation and live demo. We succeeded in applying OCR and AI into our expense product, which greatly facilitates users expense claiming flow and improves efficiency for everyone involved.

f:id:juno_wang:20190827105232j:plain

Go san's introduction about TeamSpirit business and value

Started with Go san's introduction, he shared our value, mission and business to attendees. We have a clear and ambitious vision to make every employee become a creator at work. 🎉 

f:id:juno_wang:20190827110030j:plain

Nino san was presenting our product

Followed by Nino san presenting expense product, our PM, leads team's direction and defines every feature. Because of his clear instruction and investigation, we could accomplish the most demanding and powerful functions. 👏

f:id:juno_wang:20190827112146j:plain

Prashant was running the live demo

Final part presented by Prashant impressed everyone with the integration of OCR and Salesforce Einstein. Given the real story how a user can easily manage expense claim on their daily activities, it shows great market value. Compared with peers, we have a noteworthy speed on image process. Easily switching from PC and Mobile allows users to deal cumbersome expense work on the go. Especially, the use of Salesfoce Einstein, frees customers' expense claim work in the first place. One feedback from an attendee is he was surprised to see the combination of Einstein with visualization.

Teamspirt

At the end, I'd like to express my pride in working with my professional and lovely colleagues. We work as a team, supporting each other and learning from each other. Everyone here exploits their own advantage and make the maximum contribution to the whole team. 

f:id:juno_wang:20190827121457j:plain

Our team is growing

It is worth mentioning that Prashant and Yuhi are invited to the conference 'Salesforce World Tour Tokyo' to share their innovative work of Einstein. Highly recommend you to attend this meeting(free participation fee) to experience their achievements and grasp more about teamspirit's products! 🔥🔥🔥

f:id:juno_wang:20190827122024p:plain

TeamSpirit welcomes to see you