Oct 18 2009

AAladdin.com (阿拉丁) is live

AAladdin.com is an agile organization transition framework that was created by me in order to help medium and large size company to transfer from current organization structure to an agile organization.

For details please check AAladdin.com (in English) and AAladdin.com/cn (In simple Chinese)

//

Bookmark on del.icio.us

No responses yet

Jun 15 2009

Why estimate and measure?

Estimation and measurement are two key activities in software development projects. Without them, it would be very difficult to make a project plan. Both Agile and lean use value-driven principle which means anything that are not working software would not add value to business. However if these activities are regarded waste and abandoned, obviously projects would go disaster. Why are they so important to software development projects?

  

Estimation and measurement are key information for project planning. A project plan is used for communication purpose. It puts project stakeholders on the same page so they know what might happen in the near future and what happened in the past. Estimation will give the “project plan users” an ideal time line whilst measurement gave them the real progress.

  

As both estimation and measurement are not working software so they would not add value to business how to spend as less time as possible in these two activities are apparently quite important. PLAN is also like a “product”, KISS(Keep It Simple & Stupid) principle will work here too.  Over design of this “product” will lead to waste.

  

For estimation, it depends on how accurate that business requires. Because estimation is more or less a “guessing number” and influenced by estimators’ skills and experience. So it is not easy to have a team of 20 to agree on each other of the estimation. One of the rules is not to spend more time in order to make estimates more accurate and make it “Just Good Enough”.

  

For measurement, use common unit, such as hour, day, point, profit, $ and etc. and ensure that it is easy to be understood and used.

//

Bookmark on del.icio.us

No responses yet

Apr 26 2009

Design matters – London Marathon

London marathon was held on 26th April 2009 and there were more than 35,000 people participated. Runners dressed up with all kinds of funny costumes, funny as hell. I saw at least 4 spider men, 3 super men, 2 bat men, sunflowers and etc. Of course there were professional athletes, especially women’s game. The winner of 2008, 2007 London marathon, Olympics medalists were all present. Zhou Chunxiu(from China), Olympic bronze medal Olympic 2008, campaign of London marathon 2007 was one of the strongest potential winner who ended up out of top 10. She was in the first group in the first 25km and in very good shape when she passed my front door on Westferry road. Unfortunately she fell behind right after the 25 km point.

There might be a few reasons that she lagged around that point(24 km) where I was. She was not able to pick up the energy drink that was prepared for her and put on a table under a big sign something like “Drink pick up-1″. I guess that she might have moreenergy and get much better result if she was able to pick up that small bottle of drink. I also observed that almost all Japanese athletes had no trouble to grab their drinks. If you look at these two bottle of drinks and read my analysis, you might know why the design of the drink bottle actually matter.

Chinese design drink Japanese design drink

Chinese design Explanation Japanese design Explanation
Easy to be seen Very poor No clear sign, the label was rolled up and too hard to be seen; The colour is not outstanding Very good Two clear sign and one can strongly differentiated against other bottles; Color is obvious and can be seen from at least 20 meters away
Easy to be grabbed OK There is a strap but the material is hard and sharp. It could easily hurt the athlete’s hand Very good Strong and smooth material strap with blue color which is shining. Easy and comfortable to grab
Easy to drink Very poor Has lid; the position of the strap and the bottle is awkward [see the picture below]; very difficult to drink Very good No lid; has straw; very easy to drink
Multi-function None Nothing, but a bottle please and encourage the athlete There are the athlete’s favorite cartoon character, and slogan to encourage the athlete overcome the tiredness. It makes her feel warm and encouragement

Check out the pictures below (demonstrated by my super model – Dapang ) and find out why the Japanese design is much easier to drink.

Dapang demonstrationDapang demonstration

So, you see the design of a simple bottle does matter and maybe matter a lot. Think of the design in auto-motor or IT industry, a small awful design might just ruin your potential big success which was established with millions of dollar and lots of hard work.

//

Bookmark on del.icio.us

No responses yet

Mar 12 2009

Go Time & Material Model

What is time & material model and when it applies

A simple definition of “Time & Material” Model is that the purchaser exchange “material” with a service provider’s certain quantity of “daily rate”. The material could be a bunch of document which contains advanced management process, intellectual property, a piece of software or one side of well painted wall. The daily rate could vary from £20 to £8000 depends on how precious of the service.

 

This business model applies when scope, specification and implementation plans of a project are not easy to define at the outset, Time & Material Model becomes an attractive option. Under this model, you pay as per use of the hourly development efforts, making it the most flexible of the three models. [From http://www.continuum-systems.com/price-timeandmaterial.htm]. Time & Material business model is developed for long-term projects, where the total effort cannot be estimated in advance and the scope of work can vary during the implementation. [From: http://www.qarea.com/outsourcing-services/pda-time-and-material.php].

 

If compared with Fixed price model, which is ideal for projects with a detailed technical specification, Time&Material model is the best for scalable projects. This business model is highly efficient in case the project is hard to predict in terms of time and creative effort and in case the development process needs control and improvement upon each iteration. Thus, it allows for cancellation at virtually any stage of the development project[From: http://www.qarea.com/outsourcing-services/pda-time-and-material.php].

 

Corporation old procurement process

So Fixed price model is suitable for purchasing of a physical product or something that has fixed scope or feature. While Time & material model is suitable for purchasing of service or something without explicit feature during the contract negotiation stage. If you have a look at most of the corporation procurement process it is not difficult for you to find comprehensive and decent process for fixed price procurement which is for purchasing of a physical facility, a car or PCs. The problem comes along when corporations plan to purchase service such as consulting service or customized software. As they do not have a process that specialized service purchasing, they tended to use the existing one. So things started going completely wrong.

 

They just do not fit!

Think of that you plan to spend money on something which you have no idea what it is or you only know part of it. How could you decide how much you need pay for it. Decision should only be made with necessary concrete information you require. Clearly, there is no enough information for anyone to make a correct decision. Old software procurement model aligns with the old business model.

 

Low technology –> Business not change so much –> Fix scope/feature –> Fixed price model –> Waterfall software development model

 

I believe that you know how fast and unbelievable the technology and business grow. It is almost not possible to oversee and predict how your business look like in 24 months of time. So business requires a suitable model for software development service

 

High technology –> Business change very fast –> Scope can not be fixed or predicted –> Time & material model –> Agile, adaptive software development model

 

Change is inevitable

The world is not odd. Software development industry has grown from design and development of fixed feature product into customized enterprise application in order to provide better service and survive. So it is much more than just producing a physical product. It is service now. If you disagree, I will encourage you to give me one single example that there was no change of requirement in the development of any large scale enterprise application. I bet you can not. Requirement change is inevitable because business is changing. If your business does not change but others does, it is clear that you won’t be able to survive. Also there is no way to predict or imagine the change of requirement. So you need a more flexible and adaptive business model for this kind of procurement.

 

Solution

Probably you have already figure out the solution. Let me recap
  • Upgrade your corporation procurement guideline and process with Time & material model of service purchasing in it.
  • Develop or recruit professionals to manage Time & material project. It does require special expertise.
  • The key of applying this model is risk management and contractor performance management

 

Change it!

If you still use the old procurement model for service purchasing, you will definitely experience argument, displeasure and waste of investment. So why not change it?
//

Bookmark on del.icio.us

No responses yet

Mar 12 2009

Who wants to be a product owner?

Who wants to be a product owner? The answer is “No one”! What a product owner does? In an agile software development project, product owner is responsible for maintaining the Product Backlog by representing the interests of the stakeholders. So this person need work with different project stakeholders who might be from more than one business unit to collect and prioritize the requirement. The typical challenges are  

  • Difficult to coordinate business units and software development service providers to spend time together and figure out the high priority requirement.
  • Difficult to prioritize backlog across business units.
  • Normally corporation does not give enough support to product owner.
  • Business units ALWAYS complain that why their requirement could not be done first.
  • Etc
Ideally product owners should come from business because they are supposed to know business better than IT. Completely concentrating on business value without thinking too much about IT actually leads the whole team’s attention to business value. If a project that involves quite a few business units, ideally there should be someone either in business or IT who knows the business very well and have strong coordination and facilitation ability to take this role. Sometimes, this role was pushed to software service providers, it makes the job even more harder because it is extremely difficult for someone who is not in your corporation to coordinate business units to work properly.
The biggest problem is that because this job is so challenging and not well rewarded in the industry, no one really wants to do it or not so many people have the skills and experience to do it. So, does it mean there is no way out to solve this critical problem? The answer is “NO”. There are
  • Corporate management need understand the challenging of this job and give appropriated reward and support.
  • Business owners need to understand that if you want that your investment is well spent, if you want IT to develop what you actually need, you DO need spend enough time with product owner and software service provider to help them understand your business needs, requirement and problems.
  • Take the ownership, find or recruite someone within your organization to be the chef of your IT investment.
  • Product owner deserves very much respect and appreciation from corporate management and business units because this person is the most important ring of the whole business-IT chain.
After you have done these, there should be more people who want to be product owners who can manage your IT investment much better so that you would get the most return of IT investment.
//

Bookmark on del.icio.us

No responses yet

Mar 09 2009

My driving instructor knows agile

My AA driving instructor Jason actually knows agile even better some IT professionals. I started learning “driving in the UK” from him about a month ago. After several classes, I found that he was a really good instructor and always put safety in front everything else. He even surprised me with his understanding of basic lean and agile principles. Let me tell the story.    

We had a class last Saturday, I was quite tired before driving so I could not concentrate on following every instruction or make necessary changes. So he stopped me and said that   

when you drive from office to home, you don’t need think of what will happen along the whole journey. As long as you go for the right direction you only focused on from where you are to the next junction or roundabout. The reason is that there is going to be change ahead so do not think of too much about too far away. Keep watch out what is happening in front of you. Thinking of mistake that you made would not help you to drive better when you are on the road. Concentrate making it right next time rather than thinking it over.

I was surprised because what he said sounds like an agile training session rather than driving lesson. Let’s have a look at how well his thought matches basic lean and agile principles

 

Jason’s thought Lean/agile principles and practices
Drive from office to home, go for the right direction Goal oriented, see the whole system, set a clear goal and direction
Focus on where you are to the next junction or roundabout Iterative development, focus on one iteration a time
There is going to be change ahead so do not think of too much about too far away. Keep watch out Change is inevitable. Continuously communicate and collect feedback, adaptively project management
Forget the mistake that you made when you are on road, make it right next time. Continuously improve the process and plan

 

It is very interesting when you see people from other industry or lead a complete different life actually have exactly the same understanding of how to do things right. I feel that it was valuable to pay a driving instructor’s rate and also get agile consulting service although I do not really need it :-)
//

Bookmark on del.icio.us

No responses yet

Dec 05 2008

Capital nationalized

If you paid a little bit attention to global finance for the last 3 to 6 months, “credit crunch”, “financial crisis”,” economic recession” and “downturn”, these keywords would not be strange to you. Whatever it was called, your life was less or more impacted by it. If we were only allowed to tell one reason for the financial crisis without mentioning any financial terminology, it could be described as simple as that both banks and consumers  did not have enough cash to pay off their over spending.

There were many reasons that behind it. Financial organization took too much risk in investment; credit rating agencies did not give a correct rates to some products. Governments, especially US was not able to monitor and manage the system strictly. The financial crisis has already caused an economic recession in western european countries and America. Even China and India had paid a huge bill for the lessons learnt. Real economics started going down because of weak demand.  

Even though, all around the world, not every country was so damaged by the credit crunch. I watched a BBC finance show last night, there is a small middle east country called Lebanon (Capital Beirut) whose economic was not impacted almost at all. The treasure minister revealed the reasons that they foresaw the big risk in American and Western european financial system and had pull all their investment from US and Europe since 2007. Meanwhile, they have these very strict regulations for banks, such as

  • Banks must have enough cash otherwise they won’t be allowed to lend
  • Borrowers must paid at least 30% of mortgage and successfully approved that their earning is at least 3 times of their monthly payment.

Government also played a critical role in financial system management and monitoring. All these regulations or rules that they made reminded me some basic principles in in Karl Marx’s Das Kapital that I learned from high school.

So far, US and UK have already nationalized some banks, insurance companies maybe car manufactories soon. In truth, part of the capital were actually owned by government, and nationalized. If there are more business which is danger, would government take them over and invest them? If that happens, the western financial system might look very much like Chinese financial system, which although is under construction from a very beginning stage compared to US and UK.

It seems that when western capitalism economics theory could not solve the problems that would happen anyway, they leaned to capital nationalized which was very similar to what Chinese government or Lebanon government do. Does it mean that Marx’s economic theories are the actually the way out to solve these problems?

It is obviously that China or Japan did much better than US and UK in this credit crunch till now. It does not mean what they did not make mistakes, in reality they did make a lot mistakes. However it might be the time to think of the reasons behind their success and mistakes that they made.

//

Bookmark on del.icio.us

No responses yet

Dec 05 2008

Ramsay’s Kitchen Nightmares

Gordon Ramsay, a famous British food writer, business man and TV star. He stars in the Channel 4 series Ramsay’s Kitchen Nightmares which tells stories how he help some dreadful restaurants to come back to the business and win back customers. I watched the episode this Thursday, which was very impressive because I found that there were so much in common of what Gordon did in his show and what we did in our agile software development projects.

The show started, he walked into this rural Lancashire pub where he had found the landlord laying down the law in the kitchen and doing 120-hour weeks, despite undergoing a quadruple heart bypass, and had debts of £250,000.

It reminds me a failing project that was over spent and had people doing quite a lot over time but still did not seem to make the deadline.

Gordon identified some key problems and found out the root causes very quickly.

Problems Root causes
£250,000 debt Restaurant was running very inefficient, one person was the decision maker for everything.
No one could work in this restaurant more than 6 months Team was forced to taken order from the owner and no motivation and appreciation
There were many fancy plates, decorations that were not necessary and did not match Pub theme food Not customer centered and lack of communication with customer
People did not trust each other, there were huge boundaries between the manager and staffs. Lack of communication and integrity

Does it ring any bell to you? Yes, we had very similar problems in software development projects. Let’s look at a series of ways that Gordon tried to solve above problems.

  • Changed the menu that is simpler and customer centered
  • Kicked the boss out of kitchen and let other chiefs make decisions as a team
  • Got rid of those fancy plates which did not suit for the pub food theme and was not used that often
  • Strengthen what they were good at (Original puddings) as a brand and selling point
  • Encourage communication inside the team and with customers
  • Gathered the whole team to do stand up meeting and asked them to look back what they did right or wrong
  • Motivate the team, show praise and appreciation to the team, build good relationship between the boss and the team members

Gordon Ramsay played a very good project manager role in this game and he demonstrated many good software development practices by using agile and lean principles.

Problems Root causes Solutions and practices Principles/Methodologies
£250,000 debt Restaurant was running very inefficient, one person was the decision maker for everything. Change menu, make it simple and efficient, customer centered KISS, Lean(Eliminate waste), Value driven
No one could work in this restaurant more than 6 months Team was forced to taken order from the owner and no motivation and appreciation Kicked out the boss, team motivation and decision, self-organized team “Walk Out The Door”, People who do the work make decision, Lean (Empower the team), Lean (Build integrity in)
There were many fancy plates, decorations that were not necessary and did not match Pub theme food Not customer centered and lack of communication with customer Got rid off unnecessary stuffs, more communication with customers Lean (Eliminate the waste), User centered design
People did not trust each other, there were huge boundary between the manager and staffs. Lack of communication and integrity Stand up meeting, retrospective Agile, Lean (Eliminate waste), encourage communication

Running a business or managing a project might be very different between different industries and domains. However insight how to solve problems, there are methodologies and principles that could be used in common. Maybe it is because running a restaurant and developing a software are both professional service. I still remember that I benefited a lot from the experience of working in a restaurant when I started my IT career as a technical support engineer.

//

Bookmark on del.icio.us

2 responses so far

Nov 30 2008

Some thought of project change management

I recently watched a BBC show called “Dream homes”, that basically talked about how to help people who had problems to decorate their awful house into a dream land within a limit budget. Normally, from the beginning, the house-owners and the show organizers came out a plan, say “budget 80 grand”. When the procurement and  engineering work started, with some changes happening, the budget always went up dramatically to double or even higher. Then they had to give up something in their original plan in order to cut down the cost. Along with the whole program, there were many changes, such as change of the engineering design, “shopping-list”, construction implementation. Sometimes, money were saved and sometimes lost by these changes. This show made me think of our software development projects that included lots of changes every release, every week even everyday. These changes might be initialized by business owners, end users, project managers, or development team. People in this show did not feel like being good at the change management that touched me off thinking about what good practices that we can use in project change management and how to use them.

Insight a traditional project change management approach, a change typically goes through at least 6-7 steps of a process from it is born to its end.

  1. Change initiation
  2. Change classification/Define
  3. Risk/Impact assessment
  4. Plan
  5. Change approval and notification
  6. Execution/Implementation/Test/Monitoring
  7. Change acceptance/record/closure

This process made sense to me theoretically, and I did went through several times of the whole process when I was an IT manager in a large organization. It certainly “worked”. However, I observed several phenomena that were either waste or dragged the whole thing to the opposite direction of the goal of the change. E.g.

  • People focused on a very detailed plan and it turned out none of the many times of execution actually went step by step following the plan.
  • Documentation maintenance was paid very much attention even than the actually the change itself, however two years later, no one actually went back to see any of those documents. I can tell the main reason behind the concreted documents was that people did not want to get into trouble if there were anything wrong concerned the change.

A process/plan driven management approach might caused the above problems. The underline reasons are that human-beings keen to protect themselves and achieve personal achievement firstly if you do not bind their performance with your organization’s value and achievement. However if people could be trained by value/goal driven thinking align with reactive/adaptive project management approach, those problems would be solved.

In a typical IT change project, however it is big or small, going through with the structure of the process is not a bad idea, meanwhile, put too much assumption or make the plan very much details could kill creativity and flexibility during the implementation of the change itself.

Software development project could be a bit different in change management. It is not easy to achieve the same understanding of cost-efficiency of each change, so it normally came to the situation, business stakeholders and development team went for slightly different direction during the implementation of a change. It might be worse, if there was change during the process of making a change. So, certainly it would be very inefficient to go through a whole process every time.

So what would be a good idea? When there was a change that was initialized, team can regard it as a task and put it into development task list, we can think it as a functional task, or defect or whatever it is easy for the team to understand. Then re-prioritize the task list and rank this new task (change). When team estimate the workload of this task, its impact on the existing system need to be considered. Sometimes, it might be just less costly if a change could be combined into some existing tasks that they have similar priority.

People who manage change plan should consider which option could put more business value into the software application and what the goal was to finally achieve. When people driven by value or goal, with a simple plan in hand, they could be very flexible during the implementation, so that the process and documentation just played a helper role rather commander.

Tips:

  • Sometimes, business stakeholders and development team could not easily have the same understanding the cost of a change. In this case, splitting the change into several tasks could make it easier to understand.
  • Use any chance such as meetings, daily catch up, project Wiki to communicate with the team about the changes that would be made and notify every sponsor and stakeholder.
  • IT need provide enough information for business to understand the cost and impact of a change and co-work to make a correct decision.
  • Make a change plan more goal-driven and not too detailed so that team can be more creative during the implementation.
  • Communicate more if it is possible, maybe development team can demonstrate a completed task that was not the complete change to business, so that team can check if they were going to a correct direction.
  • Risk and impact assessment is necessary however it does not need to be very formal or be written as documents.
  • The closure of a change should be able to be demonstrated in the real application.

Back to the beginning, if the house-owners could manage their changes in this way and well prioritize their task list and considering any change as one of task, their job might not be that painful, they might just get a fairly dream home.

//

Bookmark on del.icio.us

No responses yet

Nov 03 2008

The spring of IT is coming

Dot-com bubbles

Looking back a decade ago, Dot-com bubbles in 1995-2001 especially its climax in 2000 was hardly forgotten. The decline of IT, specifically Dot-come business defeated the confidence of IT investors and employees. The IT industry did not fall over, innovation of hardware and software, Web 2.0, google and new age of Internet started fighting back to the business. Investors and marketing also doted Web business, such as success of SNS. More money came into IT industry. Enterprises invested more in IT in order to develop their business and bring innovation to help business going forward. Probably no one did imagine around 2000 that IT giant would be able to come back so attractively and vivid.

Financial crisis and Economics recession


Finance institutions are always the core of world economic system. Investment banks, funds have innovated a big amount of products and tools to make profit aggressively. IT played a crucial role of building information system to transfer information, calculate risks efficiently and guarantee the continuity of business. Financial system hugely depends on IT system. When the financial crisis spreaded all over the world in 2008, the Wall street experienced a scary nightmare in a coupe of months, Lehman Brother, Merrill lynch and Bear Stearns fell down over night. There were huge impact on other business too rather than financial business itself because lack of liquidity and loss of confidence of investment. Business started cut off cost and save enough liquidity to prepare for even worse economics situation. No one can ignore the fact that world economics recession. The UK chancellor reported that GDP decreased 0.5% in the 3rd quarter which means the economics of the UK, one of the world top 5 economies is recessing. The US is also experiencing a huge pain and injected more than 700 billion dollars into their financial system. Car manufactures, toy makers, and other manufacturing had to shut down their business.

Challenge of IT industry

IT industry can not escape from the economics recession. Unfortunately, the IT investment was hugely cut off. IT industry laid off employees. In people’s mind, IT cost money. I recently attended a economics discussion panel which was held by China Economics Research Center. I clearly remembered that one of the key note speaker said “IT had never produced productivity. 20 years ago, stock market can use telegram to transfer message and make the transaction without IT.” I personally very much disagree with his opinion, although it was not totally ridiculous. So what does IT do to help business? Generally, IT improves the efficiency and reduces the likelihood of making mistakes of business. It looks like that IT does not add value to business directly, however without IT, business can not grow so fast and so efficiently and there would not be such good service without the support of Information system and IT infrastructure. The financial crisis impact real economy directly and slow down the investment on IT indirectly. Now IT is facing a very critical time. Where is the way out? How much should IT industry worry?

Opportunities of financial industry

One of the way outs is to help the business better, faster and more customer focusing. Jamie Dimon CEO of JP Morgan Chase recently was interviewed by CCTV and through the whole conversation, he emphasized several times that the success of JP Morgan Chase was more customer focusing, better product and server, faster responded to the market. From what he believes, how can IT help financial industry more customer focusing, provide better service, product and faster respond to the marketing is one way out. Some real life examples are:

  • Short life-cycle of project delivery.
  • End-user, customer focusing design and continuous improvement
  • Cloud and Grid computing to help transaction faster and efficiently.
  • Business Intelligence to help analyzes customer’s preference etc.

There are definitely more that IT can do in order to help business to achieve their goals. One of the reason that the US learnt from the financial crisis is that lack of effective supervision and Inappropriate regulations. In order to build or reform the existing financial system, a set of new rules, regulations, tools and products would come out. A new system which can lower the risks of investment and make the whole process clear and easy to supervised. All these changes need new information system or business re-engineering of existing system. Only IT can help business to make that happen. It is a great opportunity for IT to server government, industry and business to build good basis of the better financial system  and go forward.

Real economy need IT innovation

During the economics recession, business is in a awkward situation, on one hand, they want to less spend and on the other hand they have to invest and innovate new ways of doing things in order to grow and increase profitability. Whatever primary, secondary industry, they have no choice to get rid of IT and live by their own. A good information system can bring them into the market faster with better service.
So, even it is still cold, it is close to the end of winter and there are more demand floating up and the spring of IT is coming.

So what shall IT do to be prepared for the coming spring?

As Jamie Dimon mentioned in his interview, looking back into the mistakes that we had made, learn from where we fell down. This is definitely one thing that IT should learn from the financial crisis. Reducing the risks of investment, pay more attention to how to help business to generate more productivity is the second aspect IT should be aware of. Be more customer/marketing focusing, better and faster, align with the growth of business, feel what business feel and be responsible for what business is.  More innovated ideas, products and brand new ways of doing things is always a way out. Certainly there are more things that IT can do instead of waiting for the end of the world. I believe that the spring of IT is coming after this short winter. There will be more opportunities than ever.
//

Bookmark on del.icio.us

No responses yet

Next »

Creative Commons License
This work is licensed under a Creative Commons Attribution-Noncommercial-No Derivative Works 3.0 United States License.