I write Engineering Topic weekly...?

Blog of web engineer at Tokyo. [Japanese version] http://taichiw.hatenablog.com/

"Align function" on PowerPoint

Power Point has "Align function". It's on very hidden place, but it's very helpful for formatting.

This is example of using "Distribute Horizontally" and "Align Left"



"The God of presenation", Mr. Madoka Sawa said, when he gets new computer, first he adds these function into "Quick access tool bar"


I heard that in this session. (sorry it's written in Japanese)


Regional Scrum Gathering® Tokyo 2014, Keynote speech by Ms. Jutta Eckstein #sgt2014

At 2nd day of Regional Scrum gathering Tokyo 2014, the keynote speech was "Introducing Agility into an Organization or: How to become Agile" by Jutta Eckestein.

This session gave me some great hints. They will help me to introduce something new to my team. This can be adapted to not only agile, also any other things.

Now, I'm trying to let our team members use TDD. So, this session was so useful for that. 

Typical Step of Change

She introduced 2 type pycological model about "Change". Elisabeth Kübler-Ross's one and Virginia Satir's one.

Jutta explained both of them with example of PowerPoint2010.

Elisabeth Kübler-Ross's model

  1. "I don't like UI of new PowerPoint. I'll continuously use old version"
  2. "I have to use new one."
  3. "I used to use new one. I don't hate new one anymore"

Virginia Satir's model

  1. Comfortable. "I like to use old PowerPoint".
  2. Chaos. "Sometimes I feel new one is good, but sometimes feel that is bad"
  3. Make sense. Understanding new one.
  4. Integration & Practice

We should understand  these "change" will cause in persons who are introduced something new.

How to introduce new things

Jutta told us 7 steps to introduce new things.

  1. Preparation (Explaning what we will try)
  2. Retrospective
  3. Readiness/Enabling Workshop
  4. (Customized) Training
  5. Monitoring / Coaching
  6. Sustaining Change
  7. Leassons Learned

Especially I was got strong impression from 3. and 4. So I'll explain them.

Readiness/Enabling Workshop

Classify "new things" to these 4 classes.

  1. What's we already do
    -> We might do some one already. For example, we don't call it "daily scrum", but we do morning meeting every day.
  2. What's easy to apply
  3. What's really difficult to apply
  4. What's impossible to do

Not only classify, also it's important to be clear what is blocker to do them.

In our team's case (starting TDD), No.1 is "Writing test code". Although the timing is after writing production code, anyway, all of us write test code.

(Customized) Training

After we decided to do something new, we will do training of that. But we should not create virtual issue for just the training because we cannot learn the skill to real issue by that.

We should "customize" training, which follow real issue.

3 Roles

Jutta also said, 3 roles should work together to start new things.

  • Passinate change agent
    -> The person who has passion to change something.
  • Project Leader
    -> He / She can construct relation with manager.
  • Architect / Technical leader
    -> The person who has high skill / knowleadge about the team's product. 

I think I'm so happy because now, my team's "Project Leader" & Architect are so collaborative.



 I got great hint to introduce something new to my team! I'm going to use these knowledge to adapt something new.

JavaOne2013 Overview : JavaOne2013 report 2 #JavaOne

This is overview report of JavaOne2013. I'll post each session's repot to here.



Why did I attend JavaOne?

In this year, I'm trying increasing my "technical skill", especialy programing skill. So, I tryed to attend technical conference about programing language.

What did I noticed when I choose sessions?

I had heard there are so many sessions in Java, but I was realy surprised that I need choose my sessions from huge number of them.


Through choosing my sessions, I found I was interested in REST, cloud, and operation. They were related my current tasks.

Since "Java technology" is so wide, and I didn't know which kind of technology was I interested in. But thanks to this "choosing", I could know my favor. This is one of what I learned.

What did I get / know / notice

The most impressive learning from JavaOne is that I realized that I have so many chance to consider and chose components consisting application.
In addition, I also noticed an importance of "practice swing" for choosing them.

Example1. choosing application server

"CON4117:The Adventurous Developer's Guide to Application Servers" gave me great learning.

In truth, I have not thought about application server deeply. I've used tomcat without thinking. But now, I know there are many kind of application servers, in addition, some of them were released in recent years. Now, I can consider which one is the best to each applications which have different strong point.

Example2. considering using Java8

About language, it is good experience that I imagined start of using Java8 on our work. By keynote and some session like "Programing with Lambda Expressions in Java", I could realize that the change to Java8 is so big, that we should adjust to this for readable code, and that every team members (of course, containing me) should learn it preliminarily to start using easily.

Attending overseas conference is realy bang for the buck?

Can't I realize such things without going overseas conference?
This attendance costed my company almost as same as my monthly salary.

Even so, I think going JavaOne is U.S. gave me such graet things.

Motivation of studing English

Since I could not understand each session well from my poor English skill

Realization my interest from tons of session theme

As I already told it, I could find my interest by chosing my session from unbelievable number of sessions.

Time for "practice swing". Training camp

In truth, I spent more time to "looking back" of sessions than hearing them. It means I sit down near the outlet, and learned more about session's theme, wrote program code, and posted blog.

It seems these things don't require going abroad. But actually it's very difficult to create enough time for that in daily life. Thanks to I was in another country, I could concentrate only technology. I thought it is like training camp of a sport.


This time, I could get those realization. I deeply appreciate this global opportunity.

Logo is so important for your community: JavaOne2013 report 1 #JavaOne #UGF10588

Now, I'm participating JavaOne2013.

My first session was "Organizing Your Local Community" by Mr. Ryan Cuprak.
I was interested in how bay area's guys organize their community because here is hometown of technical meet up.

Mr. Cuprak has organized a JUG (Java User Group) named CTJAVA since 2002. In this session, he talked about what he has learned, what was difficulty, and how he improved his community. He mainly talked about JUG, but I think those way is commonly useful to other kind of community.

To wrap up, I felt wherever difficult things is almost same. We need spent our time for organizing community, in addition it's required management skill, which is different from coding skill. At that, gathering people is so hard.
On the other hand, he could get that important skill, knowledge of current technical trend, and connection out of his work.

Well, he spoke the one of important stuff of community is "Logo". A log of community can illustrate a visual images of the community, and left that to other persons.

I strong agree that. I organize "10% rule" in my company. One day, I asked to design that's logo to my colleague. After that, I have been able to use it to presentation slides, sticker, and my desktop's back ground. I sometimes show my PC's screen as "advertisement" at meeting.

However, creating logo is difficult.
If you don't have good colleague, how can you get nice logo? Mr. Cuprak said (also, it's said generally) almost coder is not good designer.
He recommended 2 ways.

1. Asked to professional
Logo by professional has value than $2000.

2. Online logo services.
CT Java's log was created by this site.

As he said, both way can provide "iterative ideas" to you.

So, the logo is very important for your community.

“Demand Technical Excellence” by James Grenning Agile Japan 2013 #agilejapan

(This blog is English version of this Japanese blog)

I heard keynote speech of Agile Japan 2013, by James Grenning. He is a programer of embedded program. Recently, his book
has been translated in Japanese, and published.

【送料無料】Test-Driven Development for Embedded C [ James W. Grenning ]

Test-Driven Development for Embedded C [ James W. Grenning ]

And another thing he is the person who invented "Planning Porker"!

Today's speach's theme was "Demand Technical Excellence". We, developer needs to learn new things continuously. He explained us that by using TDD case as an example.

Bad Case

According to his speach, "someone still uses development method which was used in 1979". When James started programing in 1979, developer did "printf debug". It means, when they tried to debug, they wrote many printf statement, and checked each lines. And unfortunately, currently some developers still has been doing "printf debug". According an investigation, there are guys who spend much longer time to debugging than coding. Although coding is only phase to make value for customers. James called such development style DLP, "Debug Later Programing".

Let's TDD

So, what should we do?
We need to try TDD, which is much better than DLP. We can prevent from spending long time to debugging by repeating cycle of writing unit test and production code.

Even if TDD is difficult, we must write unit test because it's critical.
Because the more we proceed development, the more test cases of our product are increasing. By automated test, we don't have to spent long time to testing and debugging.

Technical Excellence

I think he wanted to tell us that  we need to learn new practice like TDD.

There is a practice, "retrospective" in scrum. We should consider about our issues (e.g.  many bugs, never finished test, and so on) by retrospective. And then, it is very important to learning new "technical excellence" for resolving those issues.

Todo of Developers and Scurm Masters

James introduced us todo of developers, scrum masters, and manager. (Since I'm not a manager, let me omit it)

Developers are required to make transparent their tasks. They are also required to learn and try new things. In addition, not only learning, also they should to be "adviser" of the new technology.

Scrum masters are required to help team members to get knowledge of new practices. I got advice from him that the first step is talking with team members how we solve an issue. For example, if our team don't have automation test, we will talk about what kind of technology we should learn.

Actually, currently, I think our team have to improve our team's automated test more and more. Fortunately, I've heard TDD boot camp will be carried out. So I'm going to attend it WITH my team members.

I could had session at RakutenTechnologyConference2012 #rakutentech

I got chance of giving speech titled "10% Rule - Challenge for Making Innovative Team -" at Rakuten Tecnology Conference 2012.

[Here is my slide deck]

It was first time for me having my session at such big conference.

I spoke in English!

It was so big challenge for me, and I could get big experience.
I appreciate everyone who gave me such chance.

So, I reviewed what I felt and wrote down them.

[I could make German laugh]
It was one of my success!

I used my picture which were taken at Oktober Fest, Tokyo for my introduction slide.
(Originaly, Oktober-Fest is a German festival.
 But recently, it takes place in Japan too)


When I showed the photo, a man suddenly laughed.
It seemed He was from Europe or North American continent.

So, I asked to attendee.
"Is anyone from Germany?"
Then, the man raised his hand.

I had never imagined that my photo given me a chance for making German laugh!

[About English]
There were both good things and bad things.
For me, it was not first time giving session in English.
But I had never given speach to attendees outside of my company.
Of course, they were not familiar with my company's internal situation.
I needed explain to such guys in English. It was big challenge for me.

Fortunately, attendee could make sense my presentation.
But, at question and answer time, I felt how my English was poor.
Actually, I couldn't hear someone's question.
I'm so sorry to those attendees.

I need to improve my hearing skill more and more.

[About Question & Answer]
Not only English, also my Q&A skill was not so good.
I sometimes spoke too much as answer.
It was not clear.

Because I want for attendee of my presentation to notice me at beer bash,
I made original T-shirt.


And actually, some guys called to me at beer bash.
Not only Japanese, also in English.
It's my success.

I've gotten grate experience by my presentation.

Thank you!

I felt "Agile is strong to change"

Last year, I was given training of Agile at San Francisco.
After that, I have been trying to use some method of scrum to small project that 1 or 2 people are assigned, for preparing big project it will start at April.

Last week, I progressed a project with my colleague.
This project was estimated it needs 2 month.
We devided this project to each 2 weeks sprint and this week was end of 1st sprint.

But suddenly, by some reason, both of us had been assinged to other project,
and it was decided other guys will progress this project.

The project was finished only quarter of whole.
If such things happend in past days, I couldn't take over remain tasks to other member easily.
Because it was middle of development, the program was incomplete and other guys would feel hard to read it.

But this time was difference.
Since we divided our project to each sprint, our project would be "completed" at the end of week.
It was not enough as service. But it was "perfect" as system.
So we could take over our code to other guys easily.

That time, I felt "Agile is strong to change".