What's brewing

Entries in Devlosophy (9)

Wednesday
Apr062011

Cultural Differences

Agile, scrum, are all principle to get the teams proceed in a steady pace, with great visibility. We plan on what to do in a fixed period of time and re-prioritize things as needed.

But have been running like 6 sprints and yet, we don't see the steadiness expected. Team is working long hours, feeling stressful, cannot deliver quality deliverable.

Come to think of it, I have noticed the following.

1. We keep adding things to the originally planned task lists.

2. We take dead line as DEADLINE

3. Admitting mistake is shameful

Being a Chinese, we are not good at saying 'No' and especially when the request is coming from the boss. It is not a common thing in telling the boss that something cannot be done.

And we are reluctant to change, and enduring an ever changing requirement is something not in our culture. Personally, I disagree to reject things just because we don't want to take changes. Pushing back should only because what's working on is of higher importance.

Also, asking for help is like raising excuses, we don't see it proper to postpone when a mutual consent has been established.

Lastly, admitting mistake is shameful. Cover up, denial or finding excuses is more common. But then, this results in inaccurate judgement, especially on determining task completion.

There are also some simple thing which differs between Chinese and westerner. We take lunch quite seriously, we rarely skip lunch, or do a quick one. Eating an apple as lunch is not our style.

Getting scrum or agile to work for Chinese might need to tweak a few things but the most important thing of all, is to make people understand the principle and follow it religiously.

Wednesday
Mar302011

Code change shouldn't be horrible

Was having a discussion with a developer and came across a topic about code change. Since he is very new in developing java stuff, now after getting thru the jungle for half a year. He looks back and realize many stupid implementation.

He then told me something he learnt from another developer, who has been writing code for some years that if code works, don't fix it.

I am quite surprised when he mention the rationale. It is the risk that the changes might break what works is inhibiting him from doing changes.

I can't help but "educating" this budding developer at the spot. With unit testing framework so widely available, there is no other reason but laziness or unrealistic timeline that no unit test is written.

Automated build and unit tests are so crucial that it should be conducted across the team as early as possible. Once it is in place, all code changes will need to endure through the bunch of test cases, before it is allowed to get into trunk. It is all the little test case that aggregates help us to build the confidence of code change.


Thursday
Mar172011

Stress

Stress - the urge or tension that we felt. We usually feel the stress when we have deadline to meet, or task that has zero tolerance of getting wrong.

Working under these constrain firstly results in a highly focused and very efficient work mode. But when the period of tense is prolonged, it's not only efficiency drops, but also the motivation gets diminished.

That's why setting realistic schedule and priority is so important. But they are usually skipped or poorly done. Lack of time and over ambitious are usually the cause. Ambitious, desire to be a hero or simply don't want to be looked down as obstacle are what leads to un-realistic schedule.

Be honest to oneself, and also to the decision are keys to reduce the un-necessary stress. Get the whole team involved instead of taking it all over by oneself, there's nothing must be done by YOU.

Tuesday
Feb082011

WTF is "Devlosophy"

Developer, or engineer, is not any different from a skillful craftsman. They polish on the code they write, making sure it is robust and reliable.

And like any skillful worker, they possess their own set of tools to do their work. And what's more, they have their set of "standard" in defining what is good, or not.

Me as a veteran in the industry for years. I have also developed my own standard and working approach, towards fulfilling and leading the development.

And I sum this up as "Devlosophy" - the philosophy I believe in software development.


Page 1 2