43 Must Read PHP Articles and Resources

MySQL
PHP is a scripting language that enables people to create dynamic web pages and applications. It is a server side language that is one of the most popular used by developers today. Like any language there is always something new to learn and master.

With a large number of web developers on Twitter, it’s with no surprise that PHP was chosen as this week’s Theme Thursday theme.

Whether it be a new tip to better organise your code or a way to speed up your scripts, this list hopes to be essential reading for both the PHP newbie and the the experienced developer.

For Beginners

——————–

Code Organisation

——————–

Advanced

——————–

Applications

——————–

Tips and Best Practices

——————–

Tutorials

——————–

Security

——————–

Frameworks

——————–

PHP Toolbox

Resources: Grace Smith

All about Kaizen

1. Introduction

Welcome to KAIZEN! One of the most hotly debated topics recently is that of party construction and the role of Jobs. In the spirit of promoting KAIZEN, I am pleased to present to you the last guide you will ever need for creating the ultimate XP-generating machine. These simple and easy-to-use guidelines will help you to maximize your potential, accelerate your characters towards success!

2. What is Kaizen?

KaizenKaizen was created in Japan following World War II. The word Kaizen means "continuous improvement". It comes from the Japanese words 改 ("kai") which means "change" or "to correct" and 善 ("zen") which means "good".

Kaizen is a system that involves every employee - from upper management to the cleaning crew. Everyone is encouraged to come up with small improvement suggestions on a regular basis. This is not a once a month or once a year activity. It is continuous. Japanese companies, such as Toyota and Canon, a total of 60 to 70 suggestions per employee per year are written down, shared and implemented.

In most cases these are not ideas for major changes. Kaizen is based on making little changes on a regular basis: always improving productivity, safety and effectiveness while reducing waste.

Suggestions are not limited to a specific area such as production or marketing. Kaizen is based on making changes anywhere that improvements can be made. Western philosophy may be summarized as, "if it ain't broke, don't fix it." The Kaizen philosophy is to "do it better, make it better, improve it even if it isn't broken, because if we don't, we can't compete with those who do."

Kaizen in Japan is a system of improvement that includes both home and business life. Kaizen even includes social activities. It is a concept that is applied in every aspect of a person's life.

In business Kaizen encompasses many of the components of Japanese businesses that have been seen as a part of their success. Quality circles, automation, suggestion systems, just-in-time delivery, Kanban and 5S are all included within the Kaizen system of running a business.

Kaizen involves setting standards and then continually improving those standards. To support the higher standards Kaizen also involves providing the training, materials and supervision that is needed for employees to achieve the higher standards and maintain their ability to meet those standards on an on-going basis.

=> Kaizen is a system of continuous improvement in quality, technology, processes, company culture, productivity, safety and leadership.

3. Benefits of Kaizen

Kaizen involves every employee in making change--in most cases small, incremental changes. It focuses on identifying problems at their source, solving them at their source, and changing standards to ensure the problem stays solved. It's not unusual for Kaizen to result in 25 to 30 suggestions per employee, per year, and to have over 90% of those implemented.

For example, Toyota is well-known as one of the leaders in using Kaizen. In 1999 at one U.S. plant, 7,000 Toyota employees submitted over 75,000 suggestions, of which 99% were implemented.

These continual small improvements add up to major benefits. They result in improved productivity, improved quality, better safety, faster delivery, lower costs, and greater customer satisfaction. On top of these benefits to the company, employees working in Kaizen-based companies generally find work to be easier and more enjoyable--resulting in higher employee moral and job satisfaction, and lower turn-over.

With every employee looking for ways to make improvements, you can expect results such as:

Kaizen Reduces Waste in areas such as inventory, waiting times, transportation, worker motion, employee skills, over production, excess quality and in processes.

Kaizen Improves space utilization, product quality, use of capital, communications, production capacity and employee retention.

Kaizen Provides immediate results. Instead of focusing on large, capital intensive improvements, Kaizen focuses on creative investments that continually solve large numbers of small problems. Large, capital projects and major changes will still be needed, and Kaizen will also improve the capital projects process, but the real power of Kaizen is in the on-going process of continually making small improvements that improve processes and reduce waste.

More information about Kaizen:
- Getting Started With Kaizen
- 5S (A 5S Program is often associated with Kaizen)
- Lean Manufacturing (A case study at Mathers Controls)
- KAIZEN! the Art of Efficient Leveling
- Kaizen by VietNamese

BlackBerry Java Application Development Using Visual Studio

I have been using BlackBerry JDE for a while now since I started BlackBerry development. After becoming familiarized with the 4.2.2 API that I am using, I decided to use Visual Studio because of its capabilities and find it very handy. I still use BlackBerry JDE for debugging & signing purposes when required.

Here are the cons and pros before you decide if you want to use Visual Studio:

Cons

  • Debugging
  • Signing
  • RIM BlackBerry API intellisense
  • Error navigation (Cannot navigate to the error line from the output window but could navigate to the file)

Pros (over RIM JDE)

  • Better syntax highlighting, code outlining (CTRL + M, O - collapses everything)
  • Intellisense
  • Code snippets (code snippet name - if, for, and tab + tab)
  • Commenting and uncommenting (CTRL + K, C)
  • Better formatting (CTRL + K, D), better navigation (for functions and classes using the top dropdowns), line numbers - easier to read.
  • Source gear vault integration
  • Better search, replace, and bookmarking capabilities (CTRL + K, K to bookmark, CTRL + K, N to move next etc.)
  • Get to use my customized Dark theme (the best of it)
  • And all other features VS2005 provides

I use VS2005 as J# support is removed in VS2008. Let's consider a Hello World project. You could see this line in the output window when you build the project in the BlackBerry JDE.

Collapse
C:\Program Files\Research In Motion\BlackBerry JDE 4.2.1\bin\rapc.exe
-quiet import="..\..\Program Files\Research In Motion\BlackBerry JDE
4.2.1\lib\net_rim_api.jar" codename=com_rim_helloworld com_rim_helloworld.rapc
warnkey=0x52424200;0x52435200;0x52525400 C:\BBProjects\helloworld\HelloWorld.java
C:\BBProjects\helloworld\img\helloworld_jde.png
C:\BBProjects\helloworld\resource\HelloWorldRes.rrc
C:\BBProjects\helloworld\resource\HelloWorldRes.rrh
C:\BBProjects\helloworld\resource\HelloWorldRes_de.rrc
C:\BBProjects\helloworld\resource\HelloWorldRes_en.rrc
C:\BBProjects\helloworld\resource\HelloWorldRes_es.rrc
C:\BBProjects\helloworld\resource\HelloWorldRes_fr.rrc
C:\BBProjects\helloworld\resource\HelloWorldRes_it.rrc

If your project contains too many files, then the above line would be something like this:

Collapse
C:\Program Files\Research In Motion\BlackBerry JDE 4.2.1\bin\rapc.exe
-quiet import="..\..\Program Files\Research In Motion\
BlackBerry JDE 4.2.1\lib\net_rim_api.jar"
codename=com_rim_helloworld com_rim_helloworld.rapc
warnkey=0x52424200;0x52435200;0x52525400 @com_rim_helloworld_build.files

@com_rim_helloworld_build.files contains all the files included in your project. RIM JDE will automatically create this for you when required.

This is important to build in Visual Studio to check if there are any errors in code. Now, let's open Visual Studio and create a new J# class library project (C# or J# project does not matter, as the file extension is what that matters):

Create the J# project in a different directory, delete the default class1 file, close VS, and move the J# project contents to your existing BlackBerry project so that everything is in one place. Now, open the project in VS and include the necessary files. This will look something like this at this point:

Now that you have included the files, you can code in Visual Studio and would require to build the project to check for the errors. Let's create a batch file to build the Java project from within the Visual Studio. Here is the code for building and showing if succeeded or not:

Collapse
"C:\Program Files\Research In Motion\BlackBerry JDE 4.2.1\bin\rapc.exe"
-quiet import="..\..\Program Files\Research In Motion\
BlackBerry JDE 4.2.1\lib\net_rim_api.jar"
codename=com_rim_helloworld com_rim_helloworld.rapc
warnkey=0x52424200;0x52435200;0x52525400
C:\BBProjects\helloworld\HelloWorld.java
C:\BBProjects\helloworld\img\helloworld_jde.png
C:\BBProjects\helloworld\resource\HelloWorldRes.rrc
C:\BBProjects\helloworld\resource\HelloWorldRes.rrh
C:\BBProjects\helloworld\resource\HelloWorldRes_de.rrc
C:\BBProjects\helloworld\resource\HelloWorldRes_en.rrc
C:\BBProjects\helloworld\resource\HelloWorldRes_es.rrc
C:\BBProjects\helloworld\resource\HelloWorldRes_fr.rrc
C:\BBProjects\helloworld\resource\HelloWorldRes_it.rrc

@echo off
if not exist "com_rim_helloworld.err" goto 20
@ECHO "Build Failed."
goto end
:20
@ECHO "Build Succeeded."
del com_rim_helloworld.cod
:end

Create a batch file using the above code in the project directory and add this into External Tools to run within VS. You could do the same using the menu bar: Tools-->External Tools. Add one and setup the batch file, initial directory etc., as shown below:

You could set a keyboard shortcut like SHIFT + CTRL + F7 and execute it, and you will see the results in output window:

Just change something in the code and build again (using the shortcut or an external tool), and you will see the error details. You could then navigate to the appropriate file from clicking in the output window:

That's it, you are all set up for BlackBerry Java application development in Visual Studio. I use both Visual Studio (for development) and BlackBerry JDE (for debugging and signing) to get the best of both worlds. I have included the J# project with all the files in it.

Also, the BlackBerry build and signing process could be automated using BB Ant Tools, if required.

Hope you find this article useful, happy coding and have fun!

Resources: CodeProject

Các phương pháp phỏng vấn tuyển dụng

Hiện nay có ba phương pháp tuyển chọn nhân sự được các chuyên gia sử dụng thường xuyên như sau:

1. Nghiên cứu, kiểm tra nền tảng học vấn, kinh nghiệm và các lời giới thiệu

Việc nghiên cứu, kiểm tra này thường được áp dụng bao quát từ kiến thức, bằng cấp, kinh nghiệm trong quá trình làm việc trước đây, cũng như kiểm tra độ chính xác của các lời giới thiệu, sơ yếu lý lịch của ứng viên. Nếu cẩn thận hơn, đặc biệt là khi tuyển dụng vào vị trí trọng yếu hoặc nhạy cảm, các công ty còn lấy ý kiến của công an xem ứng viên có phạm tội không, hoặc điều tra gián tiếp thông qua trò chuyện với đồng nghiệp cũ, láng giềng của ứng viên.

Mục đích của việc này là để kiểm chứng những thông tin mà ứng viên cung cấp cho nhà tuyển dụng và phát hiện kịp thời nếu có trường hợp gian dối, khai man.

2. Cho làm bài kiểm tra, sát hạch

Các bài kiểm tra được phân thành bốn loại để đánh giá khả năng nhận thức, sức khỏe, tính cách, sở thích, hoặc thành tựu của ứng viên:
- Kiểm tra khả năng nhận thức bao gồm các bài kiểm tra tổng quát về mức độ thông minh (IQ), thái độ ứng xử theo tình huống, khả năng lý luận, trí nhớ và khả năng tính toán, sắp xếp. Nếu công việc đòi hỏi khả năng tư duy sắc bén, ví dụ chuyên viên tư vấn quản lý, thì loại hình kiểm tra này giúp đánh giá khá chính xác khả năng làm việc trong tương lai của ứng viên.
- Kiểm tra sức khỏe, bao gồm kiểm tra sức mạnh cơ bắp, độ dẻo dai, tim mạch, khả năng giữ thăng bằng, khả năng phối hợp, phản xạ, sự khéo léo… Đây là các nội dung kiểm tra khi tuyển công an, nhân viên cứu hỏa, thủy thủ…
- Kiểm tra thành tựu để biết ứng viên đã học hỏi, thu thập được những gì từ trường học hoặc công việc. Các chứng nhận, bằng cấp, đánh giá, giấy khen từ một tổ chức uy tín nào đó là bằng chứng tốt nhất.
- Kiểm tra tính cách và sở thích (EQ), bao gồm thái độ, động cơ, sự tận tâm, ngay thẳng, khả năng hòa nhập, thích ứng, thường dành cho các vị trí quản lý. Các bài kiểm tra này được xây dựng dựa trên giả thiết là mọi người đều trả lời thành thật. Có thể các ứng viên biết nhà tuyển dụng mong đợi câu trả lời nào và trả lời cho phù hợp ý nhà tuyển dụng, nhưng về lâu về dài, việc này sẽ gây khó khăn cho họ khi được nhận vào làm một công việc không phù hợp với tính cách cũng như sở thích của họ.
Còn một số cách kiểm tra nữa vẫn được một số công ty áp dụng, tuy hiệu quả khá mơ hồ. Đó là đánh giá thông qua chữ viết, cách phục trang, dùng máy đánh giá...

3. Phỏng vấn

Phỏng vấn là phương pháp giúp nhà tuyển dụng quyết định họ và ứng viên có “tương thích” với nhau về công việc, nhu cầu, và khả năng đáp ứng không, thông qua hình thức hỏi đáp để trao đổi thông tin. Đây là cách lựa chọn, sàng lọc ứng viên được nhiều công ty áp dụng nhất trong tuyển dụng. Có hai phương pháp phỏng vấn:
- Phỏng vấn bằng các câu hỏi tùy ý, không được xây dựng theo hệ thống chuẩn mực nào. Nhà phỏng vấn có thể đặt ra bất kỳ câu hỏi nào chợt nảy ra trong đầu. Về hình thức, phỏng vấn gián tiếp giống như một cuộc trò chuyện ngẫu hứng. Vì vậy, cách phỏng vấn này không giúp nhà tuyển dụng dự đoán được khả năng làm việc trong tương lai của ứng viên.
- Phỏng vấn dựa trên cấu trúc hệ thống câu hỏi, được thực hiện theo hệ thống câu hỏi đã xây dựng sẵn, chủ yếu xoay quanh các vấn đề liên quan đến công việc để đánh giá xem ứng viên có phù hợp với vị trí tuyển dụng hay không. Thông thường, các câu trả lời của ứng viên sẽ được đánh giá theo thang điểm từ 1 đến 5, trong đó 5 là mức độ phù hợp nhất với yêu cầu.
Theo các chuyên gia, có thể chia nhỏ phỏng vấn trực tiếp thành bốn nhóm khác nhau:
+ Phỏng vấn dựa trên tình huống: Ứng viên được hỏi về cách ứng xử trong một tình huống khó khăn có liên quan đến công việc. Ví dụ, ứng viên cho vị trí quản lý cấp trung phải cho biết mình sẽ xử lý thế nào nếu có một nhân viên thuộc cấp đi làm trễ trong ba ngày liên tiếp.
+ Phỏng vấn đo lường hành vi: Ứng viên được hỏi về cách xử sự trong một tình huống thực tế. Ví dụ, ứng viên cho vị trí trực tổng đài có thể phải trình bày cách trả lời khi một khách hàng rất tức giận gọi đến. Cách phỏng vấn này dựa trên logic là hành vi làm việc trong quá khứ để được cách xử sự trong tương lai.
+ Phỏng vấn bằng các câu hỏi duy lý: Ứng viên được hỏi một loạt các câu hỏi có liên quan tới công việc, nhưng không liên quan đến công ty hay vị trí đang ứng tuyển, ví dụ thích môn nào nhất hồi đi học?...
+ Phỏng vấn tạo áp lực: Nhà phỏng vấn cố tình đưa ứng viên vào tình thế khó chịu bằng hàng loạt câu hỏi soi mói, thô lỗ hoặc vô duyên. Ý tưởng là thông qua tình huống này để xác định xem ứng viên có làm chủ được cảm xúc, biết giải tỏa áp lực hay không. Ví dụ nhà phỏng vấn tới tấp tấn công ứng viên bằng các câu hỏi về công việc cũ, công ty cũ, đồng nghiệp cũ, điều kiện làm việc, lương bổng, nguyên nhân rời bỏ chỗ làm cũ… Cách phỏng vấn này khá rủi ro vì ứng viên có thể phản kháng lại hoặc cho kết quả sai.


Nói chung, mỗi phương pháp tuyển chọn có ưu điểm và hạn chế riêng, tùy vào vị trí và công việc tuyển dụng mà các nhà phỏng vấn thông minh sẽ kết hợp để đạt hiệu quả tốt nhất.

Theo Doanh nhân Sài Gòn Cuối tuần

You 2.0

You 2.0 is a way to unleash a version of your best self. It cuts to the chase to help you quickly find your purpose, your why, your how, your values, your strengths, and your personal success patterns. Once you’ve mapped these out, you have a firm foundation to be your best in any situation. By finding and living your process, you lead a life by design, not by default.

I call it You 2.0 because it’s about renewal and taking yourself to the next level. A few years back, a friend of mine broke his back. You can imagine the extreme scenario. Rather than focusing on trying to get back to where he was, he focused on rebuilding himself to be better and stronger than before. A version 2.0.

Why You 2.0
Here are a some key benefits:

  • Success by design. Rather than luck into success, you’ll know your personal combination for results.
  • Living your purpose. Nothing fuels life like knowing what you want.
  • Living your values. Living your values help you enjoy more moments in your life, a moment at a time.
  • Playing to your strengths. When you play to your strengths, you improve your energy, and you amplify your results. It’s the simplest way to get more impact each day.
  • Improved results. You’ll improve your results. A little self-knowledge goes a long way. You’ll be a better, faster, stronger you for whatever you want.

The real secret is life gets better once you have your personal map.

Download the Free You 2.0 E-Book
The You 2.0 E-Book is a very short (25 pages) guide to help you be YOUR best.

You20

High-Tech Japanese, Running Out of Engineers

"The first signs of declining interest among the young in science and engineering appeared almost two decades ago, after Japan reached first-world living standards, and in recent years there has been a steady decline in the number of science and engineering students. But only now are Japanese companies starting to feel the real pinch.

By one ministry of internal affairs estimate, the digital technology industry here is already short almost half a million engineers."

Read the story - High-Tech Japanese, Running Out of Engineers

English | VietNamese

Perhaps the declining students interest in math, science and engineering is symptomatic of every developed country. As a country becomes more affluent, students are drawn to careers that appear more lucrative, more exciting and easier to attain than engineering and science careers.

Resources: New York Times 5/17/2008

What is Best, Scrum or Kanban?

First I would like to tell you shortly what Scrum and Kanban is.

Scrum in 1 minute
Scrum is about getting back to the time when the company was small and everything was easy and ran smoothly. Back then projects were small, teams were small, releases were small and communication was easy. Best of all, we were efficient.

In Scrum we split our big project into small projects as we work on timeboxed iterations called sprints. We split our big team into small teams (still with all the skills we need) and launch often. If we are more than 20 employees we probably have a problem knowing what the other departments and customers are needing so let's bring someone into the team that can represent them. To help communications from the team to the rest of the company we have our plan and current status visible. The plan is called the sprint backlog and the status is shown on the scrum board. Here is an example:

tb0609-1
The person we brought in to represent all stakeholders is called product owner and is responsible for prioritizing a list with features that will be developed for the product in the future. This list is called the product backlog.
To make Scrum a process we add some small but necessary meetings: a planning meeting, daily synchronizing meeting and meetings to improve product and process. We decide the length of our iterations and aim to deliver something valuable after each iteration.

tb0609-2

Kanban in 1 minute
Scrum is simple but Kanban is even simpler. Just visualizing your workflow and limiting demand to capacity is enough to call it Kanban.

Let's start by looking at the roots of Kanban. It's a way, invented and used by Toyota, to get a good flow of parts to their plants. Kanban is just a card attached to the part and when the part is used the Kanban is sent as a request to the supplier for more parts. The physical card is actually sent to the supplier who is attaching it to the next pert sent. Since the cards are re-used and no new cards are entered in the circulation Toyota limits the number of parts in stock and at the same time make sure new parts are ordered as soon as they are needed.

tb0609-3

In software development Kanban is a limited promise of work. A Kanban board is a number of placeholders for work to be done. A typical Kanban board can look like this.

tb0609-4

Each team has decided their limit and drawn as many squares as the limit allows them to. Whenever a task is done it will be moved to the next group if and only if they have free Kanban squares. Else the task is stuck. If there is nothing more to do we have a problem with the flow and we need to work together to solve what is stopping us.
While Scrum is focusing on delivering on commitment Kanban is focusing on getting a smooth flow.

In common for Scrum and Kanban
There are a lot of similarities between Scum and Kanban. Some examples are:
  • A strict prioritization (it's obvious what to do next)
  • Self-organizing teams (see below)
  • Transparency (show what you've done, your current status and what's next to do)
  • Inspect & adapt (improve your product and process based on facts)
  • Pull scheduling (see below)
  • Good communication and collaboration
Self-organizing teams is when the team themselves are supposed to figure out how to solve problems, remove impediments and optimize their process. They should base their decisions on facts to inspect and adapt accordingly.
Pull scheduling means the team is pulling work instead of having it pushed. This will limit work to capacity and lower stress, which is bad for both health and quality.

This is why I prefer Scrum
So, now that you know what Kanban and Scrum is, it's time to decide which is best.

tb0609-5
I start by putting the Scrum T-shirt on. Look further down if you like to read the part where I love Kanban.
I concentrate on some areas where Scrum and Kanban differ:
  • Iterations - In Scrum you work in iterations. Kanban sees development as a forever ongoing flow of things to do.
  • Commitment - In Scrum a team commits to what they will do during a sprint.
  • Estimations - In Scrum you need to estimate to be able to have a velocity. In Kanban it's optional since focus is on time-to-market.
  • Cross-functional teams - That's one of the pillars of Scrum. For Kanban it's optional.
Efficiency driven by commitment
By asking a team for a commitment they will get a positive stress knowing that people from outside will see if they can do what they committed to. It also gives an energy boost at the end of the sprint when the team has the goal within reachable distance. After the sprint, the team can feel relaxed and gather some new energy for the next sprint. It's psychologically nice to not feel you are in the middle of a never-ending stream of things to do. Instead Scrum concentrates on one sprint at a time and allows you to focus only on those things you have decided to take on in the sprint. By working in fixed length iteration you get a nice rhythm the whole company can feel and adapt to.

The value of estimating
Estimating is not a waste of time since valuable information is transferred from the product owner while the team asks what they need to know to be able to estimate. The same thing applies to commitment. To be able to commit team members need to know what they are committing to. They simply have more interest in getting information from the product owner so they listen more carefully. And they are just asking for the information they need which makes the meeting very efficient.

Even though you can predict when a project is done, just by counting stories left, it is more precise if each story is estimated as well. Prediction is important when more departments, like marketing, are dependent on your work. It gives a more serious feeling.

Slack at end of sprints
If there are some time at the end of a sprint that's valuable even if the time is not big enough to start developing new features. This is time developers can use to improve code quality or the development environment. Both will give better efficiency in the long run.

Build teams with cross-functionality
Working together in a cross-functional team is a psychological thing. You are able to go the whole way from concept to released product together as a team without dependencies. You are not just a cog in the machinery. It's also fun and helps you grow as a person. By helping each other, knowledge is spread which lessens dependencies on each person. It also helps prioritize since features can be built without considering which knowledge is available. To coordinate between people with the same skills who are sitting in different teams you can have virtual team meetings as often as needed.

Scrum is best for beginners
I know, you can do all those things even when doing Kanban but they are optional and since they are optional you might just not do them just because you are too lazy to challenge the usual procedures or structures of your company. If you are new to Agile development it's better to have a method guiding you to do the right things. Just read the book and implement it. Later when you get used to it you can start experimenting and eventually get better performance. If you start experimenting too early you might end up with waterfall or chaos but still calling it Agile. Kanban is more advanced because you need to make a lot of decisions without having many facts.

This is why I prefer Kanban
Now it's time to take off the Scrum-T-shirt and put on my "I love Kanban"-hat.

tb0609-6
Kanban is based on Lean principles
Kanban is Lean and has been around for 50 years and has shown to be successful. Things are seen as a flow without iterations. Not many rules. It's just a focus on reducing work in progress, strict prioritization and limiting demand after capacity. Besides that you have the normal Lean principles of:
  • Quality
  • Just-in-time (decisions and facts just when they are needed)
  • Short lead-time (quickly from concept to cash),
  • Kaizen (continuous improvement)
  • Minimizing waste (everything that is not adding value to the customer)
No meetings if it's not adding value to the customer. Most of those things are fine with Scrum but I can sometimes think Scrum has some waste. Here I will mention some areas where Scrum practices might be waste.

Estimations might be waste
If a product owner knows what needs to be done and the only goal is to have it done as soon as possible, why spend time on estimating? In Scrum, estimations are needed for a team to know how much to commit, to calculate velocity and for the product owner to decide on prioritization. If none of this is needed, it's waste and we shouldn't do it. If you like to measure velocity you can instead count the number of stories done per week or month. While talking about measurement why not look at something the customers are interested in, lead-time. That is, the time it takes for the customer to get what he or she ordered.

Constant flow
If the team is done with a story and there is not enough time left in the sprint to complete the next, it's likely no one works hard the remaining time and that's waste. Kanban is trying to get a steady and non-stressed but high flow of work running through development.

Sitting with people that can help you
In Scrum a team is cross-functional and sits together with the people working with the same project and not with the ones with the same knowledge. Let's say you work with sound effects for a computer game. Then it's not much help to have a java-programmer beside you. It would be more valuable to sit with people doing the same things as you do who can help you with tools and practices.

No possibility to commit
In Scrum, the team commits which does not work very well for a team with support issues. They get a lot of disturbance and commitment is not worth anything since the ones disturbing them don't care about commitment. A commitment you can't control gives either frustration and stress or demotivation.

Kanban for support and operation teams
Support and operation teams are often interrupted. It's part of their job. Frustration comes when interruptions are happening just because there were no time for pre-emptive work. Just by having the pre-emptive work on the board gives focus to fix the hardest problems one-by-one, which gives less interruptions and more time to work pre-emptively. It becomes a good circle.

A Kanban board for an operation team can look like this:

tb0609-7
Most important are the urgent problems that arise. Secondly, daily duties must be done. Then the team members can take care of other projects, usually to improve stability in the operation environment. The limitation on the number of parallel tasks gives focus to be done working on improvements, not just starting them.

Many options gives freedom
Kanban is simple with few constraints, which gives you freedom to change your process step by step. Either you go from waterfall or chaos, your first step is to visualize and limit your flow with a Kanban board. When you have your flow visualized you add whatever work is needed to thrill your customers. Your improvements might be decided during a monthly retrospective meeting or on a daily meeting.

Conclusion
I still can't make up my mind if I like Kanban or Scrum the most. My conclusion is, not very surprisingly, that it depends on the situation. See them as two different tools and find out which tool is the best for your situation. Maybe you start with Kanban and end up with Scrum or maybe you don't. Maybe you'll start with Scrum but change to something more like Kanban. Whatever you do, just make sure you do what is best for your customers.

Resources: AgileJournal