tag:blogger.com,1999:blog-74413082621417659462024-03-14T09:43:06.309+11:00Agile and Lean SpecialistAn agilist who love SCRUM, Agile, Lean and System ThinkingAnonymoushttp://www.blogger.com/profile/08478532303879801170noreply@blogger.comBlogger33125tag:blogger.com,1999:blog-7441308262141765946.post-72199712666336904882014-11-08T08:14:00.001+11:002014-11-08T08:28:37.088+11:00Build Habit, Enjoy Life 3 - Create first milestone, tracking and feedback mechanismWith previous two posts, and with some time thinking, you should have your annual mission statement and annual goals now. My two biggest challenges are:<br />
<div>
<br /></div>
<div>
1. Lose 17.85 Kg to reach my health weight (now I have lost more than 15Kg)</div>
<div>
2. Speak at one conference, I did that in August</div>
<div>
<br /></div>
<div>
What are your first milestone goals? First, I will suggest to pick one hardest and easy to measure goal and don't setup first milestone with other goals. And you should simply set first month as your annual goal for the time period. I choose three months as period because there are too many uncertain just for one month. In my case, I chose weight lose and set first milestone goal as losing 4.5 kg. Your annual goal should be reviewed or updated after every 3 months so that you will have right values and when you start to understand more. </div>
<div>
<br /></div>
<div>
How would you achieve your first milestone? There are many ways to do that. Don't be ambitious and try all of them. Focus more and see whether it works. My weight losing just started with walking 45 minutes minimum each time and minimum 4 hours a week. And it helped me losing 2 kgs in first month. When time goes on, there is a require of different way to keep you on target. But first, it is as simple as just one. It is much better to do with JUST one. </div>
<div>
<br /></div>
<div>
Find a tool for tracking your progress. It make everything visible and easy to understand. I have chosen Run Keeeper for my personal fitness goal setup and tracking. Their web interface is excellent. The only glitch is that logging weight function is buggy and it takes long time to log in their Android mobile app. But I do like the web interface for tracking goals like following. </div>
<div>
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiga7hA8pGD59pFcIDe7kkEA4naXw0giTWahcWAJTtF8YOMp_50sFaBYdQ7oCvo7AWBkHqaPyuJ-yOEhN9RxFyBk1lQO4Zz4XLBgI5ISOGbhjAwzEg8Eepz59-1-GY9H1ADayTyrG4736BB/s1600/goal-1.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiga7hA8pGD59pFcIDe7kkEA4naXw0giTWahcWAJTtF8YOMp_50sFaBYdQ7oCvo7AWBkHqaPyuJ-yOEhN9RxFyBk1lQO4Zz4XLBgI5ISOGbhjAwzEg8Eepz59-1-GY9H1ADayTyrG4736BB/s1600/goal-1.JPG" height="215" width="400" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
And I haven't found a good tracking tools for learning and development. I am building one called "KareerTracker" at the moment. The goal setting and tracking are very convenient and easy to do because it is much faster than RunKeeper. And another advantage of the KareerTraker is that it will give you alert if you are far behind. I love this one a lot because it instantly tells me whether I am on track or not. But it still growing and we are still building social tools and rewards tools around goals using theory around becoming master with 10,000 hours from Outlier. (Follow us at http://www.linkedin.com/company/kareertracker )</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjX-CltwQMnjFeuY6t2QectuBINhneeBeGB-1_RRGgLNp9PNiJu4SixL44wLMEgzETNw51Hc8HJ7YcvFgfZAgJvhQP80uL3Acfeyp4XWNfPfqpgcxRx5cLCCumlwz4Yx0OIGFpPmBgTkr1l/s1600/screenshot_20140809.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjX-CltwQMnjFeuY6t2QectuBINhneeBeGB-1_RRGgLNp9PNiJu4SixL44wLMEgzETNw51Hc8HJ7YcvFgfZAgJvhQP80uL3Acfeyp4XWNfPfqpgcxRx5cLCCumlwz4Yx0OIGFpPmBgTkr1l/s1600/screenshot_20140809.png" height="320" width="305" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div>
</div>
<div>
All these tools give us feedback mechanism and that is why I love those tools. And dont worry if you are behind. Just try and adjust, find new ways to improve if you find yourself stuck. And there always a plateau from time to time. If you see that more than 3 weeks, you should try to find a new way to conquer it and don't give up on old ways in short term. </div>
<div>
<br /></div>
<div>
<br /></div>
<br />
<div>
Previous related posts:<br />
<br />
<br />
<ol>
<li><a href="http://agile2lean.blogspot.com.au/2014/09/build-habits-enjoy-life-1.html" target="_blank">Build Habits and Enjoy Life - 1, Introduction and Setup Missions</a></li>
<li><a href="http://agile2lean.blogspot.com.au/2014/10/build-habits-and-enjoy-life-2.html" target="_blank">Build Habits, and Enjoy life - 2 - Quantify your missions as Annual Goals</a></li>
</ol>
</div>
<div>
Coming Soon<br />
<br />
Time Management with Prioritization and Kanban</div>
<div>
<br /></div>
Anonymoushttp://www.blogger.com/profile/08478532303879801170noreply@blogger.com0tag:blogger.com,1999:blog-7441308262141765946.post-67774182520522721762014-10-09T12:22:00.001+11:002014-10-09T12:23:22.080+11:00"Fail First" Now<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhB_W5rxWUddAd2VeTHcJuGQRSXNGsYfkKhwByqubWI2V22BXehZOP0WZDA-AhDgT37kj0BHOZWFz8LpvweCa3IwszxEf866ci63wzep4yfj-PSQ6ca5Cvlr-V8Y-uR9wE7lMj0w-8sD0yz/s1600/IMG_20140914_100413.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhB_W5rxWUddAd2VeTHcJuGQRSXNGsYfkKhwByqubWI2V22BXehZOP0WZDA-AhDgT37kj0BHOZWFz8LpvweCa3IwszxEf866ci63wzep4yfj-PSQ6ca5Cvlr-V8Y-uR9wE7lMj0w-8sD0yz/s1600/IMG_20140914_100413.jpg" height="320" width="180" /></a>I read "Fail First" concept around 3 years ago. The learning from it was that we need to deploy as often as to test market. But the reality is that it doesn't produce better than before knowing "Fail First". So what is stopping us? <br />
<br />
Around 3 months ago, I started to build my own startup - KareerTracker. It brought me better view about business and product development process. I am using Lean Canvas to iterate my business mode. <br />
<br />
The striking point is about more than 90% of new products and new businesses failed statistically. What does this number mean? If you dont have strong believe of values on your products or businesses, please dont do that. You need an value more than a product to believe in. The value needs to guide through your hard time because we need to go through hundreds failures. Just in three months, I went through several failures, like just can't recruit more than 10 customers for first batch customer interview, one customer group just don't like our product at all and others and many more. But fortunately part is about that if you have "fail first" in mind, you will experiment those ideas with minimum cost (mostly free) and without even programming or writing a script. As normal start-up, we are resources constraint business including both money and time. To minimize risk, we need to be very careful. Otherwise, we gona die very soon.<br />
<br />
And another side of "Fail First" is that you need to understand what to test before and actively learn from it from both business and technical views. Without them, you mostly will take an action to do different things without any evidence.<br />
<br />
Now, looking back, What I will do differently if I knew three years ago. There are many ideas which can be done without programming/developers. And they can be tested and validated before going into development team backlog. While doing development, involving customer in the process is most effective way to "fail first". And code bases will be much nicer and it will save a lot in maintenance costs. <br />
<br />
My understanding of "Fail First" is that "fail" early with minimum cost and learn from it. While I am going through the journey, I believe that my understanding may change again. <br />
<br />
What is yours?Anonymoushttp://www.blogger.com/profile/08478532303879801170noreply@blogger.com0tag:blogger.com,1999:blog-7441308262141765946.post-30458783214302883892014-10-06T21:58:00.003+11:002014-10-06T21:58:43.775+11:00Cutting Corner Every Day - How we change that<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgmmlXheBaoS0KVz4XHWom-3TSNZOMcSv05T4hmAfYQmDmI7HHA1V6pd2Oyiqrb88jF3Zjn1GjZvKGkxEl7l55hgN64fsO3miCIFZMtOvf6hm397y-SMJmiLuokCYe0KGam-brEuNXCrEJF/s1600/IMG_20140914_110332_HDR-EFFECTS.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgmmlXheBaoS0KVz4XHWom-3TSNZOMcSv05T4hmAfYQmDmI7HHA1V6pd2Oyiqrb88jF3Zjn1GjZvKGkxEl7l55hgN64fsO3miCIFZMtOvf6hm397y-SMJmiLuokCYe0KGam-brEuNXCrEJF/s1600/IMG_20140914_110332_HDR-EFFECTS.jpg" height="180" width="320" /></a></div>
I have been thinking about writing about this for long time. But I have been too much focusing on my startup, KareerTracker. But recently, I have been hearing about "cutting corner" almost every week in software development teams. Is that kind of "crap" built into our industry?<br />
<br />
There are two problems that I often have seen:<br />
<br />
1. When we fix problems, teams often take shortcuts and never look back and invest money and time on long term solutions. All our wish is that we won't have the problem again. But they will come back again.<br />
<br />
To fix the problem, I have adopted <a href="http://stackoverflow.com/questions/38066/whats-your-post-mortem-meeting-format" target="_blank">post mortem</a> and <a href="http://jchyip.blogspot.com.au/2009/05/problem-countermeasure-board.html" target="_blank">the counter measurement board</a> idea from Jason Yip. And we implemented monthly board review meeting to make sure that we are make progress on long term solution and prioritize them.<br />
<br />
The outcome is really positive and we got several big improvement done with the help from the board. At start of my journey in a business, there are issues almost every week. After two and half years, there was only one issue for three months and impact was much smaller too.<br />
<br />
The best impact of that is development team have more time focusing on improvement and innovation instead of fixing issue. That is bigger than anything else.<br />
<br />
2. Teams mixed prototype and software development. Teams often either grow prototype into production without architecture design or we just write prototype into existing production code base. And in worse case, business people will sell the prototype as a product and we can't remove them even there is no market demand for that.<br />
<br />
Another similar problem is that business people wants to experiment in production environment but there is NO proper architecture supporting that. Then we HACK and never clean because it has been hard.<br />
<br />
You normally can have a sense of problem at story grooming and sprint planning sessions. The typical symptoms of the problem are that product owners use general word, such as customer, as user for story, or hear "dont have enough money", "dont know whether they gona buy", "there is one customer asking for this", "it will be a big success" without signup paid customers and others which propose there are limited number of customers or unknown number of customers in the coming 3 or 6 months.<br />
<br />
The first thing that we have done is to develop an architecture which will decoupling code between features, "vertical slicing architecture" (I will write more about this in later posts) + <a href="http://99designs.com.au/tech-blog/blog/2012/03/01/feature-flipping/" target="_blank">feature flipping</a>. Each major feature has its own component and we can easily add and remove one feature from production. In experiment and explore stage, we can plugin a new feature / component in with quality just enough.<br />
<br />
But there is another thing must be done. That is educating people about difference between prototype and production. Prototype will be used to discover customer needs, just enough quality is enough. But production code needs an excellent design and easy to use provision.<br />
<br />
I often found that there are more effective ways to prototype without write a piece of software to test customer demanding. Product managers just need to change mindset and be more innovative. If you want to understanding more about prototype, you can read <a href="http://en.wikipedia.org/wiki/Software_prototyping" target="_blank">the wiki post</a>.<br />
<br />
<br />Anonymoushttp://www.blogger.com/profile/08478532303879801170noreply@blogger.com0tag:blogger.com,1999:blog-7441308262141765946.post-38650017509174774492014-10-04T11:18:00.000+10:002014-10-04T11:18:24.202+10:00Build Habits, and Enjoy life - 2 - Quantify your missions as Annual Goals<br />
The blog posts will introduce my experience and learning for past 7 months about course changing of my life. What I have done? Lose 16kg and have a healthier life, find my passion, start a business to pursue my passion, and starting to solve problems instead of ignoring them in workplace.<br />
<br />
If you haven't read my first blog about "Build Habits and Enjoy Life Part 1", you can read at: <a href="http://agile2lean.blogspot.com.au/2014/09/build-habits-enjoy-life-1.html">h</a><a href="ttp://agile2lean.blogspot.com.au/2014/09/build-habits-enjoy-life-1.html">ttp://agile2lean.blogspot.com.au/2014/09/build-habits-enjoy-life-1.html</a><br />
<br />
This blog post is about how I start a journey about my missions and do something which are "impossible" 7 months ago.<br />
<br />
When I was a child, I had a big dream to have my books with my choices. With limited incomes from parents, it has no money left for me buying books after buying essential supplies like food, clothes and stationary. I still remembered my mum bought me a book and parents didn't buy anything for themselves for months. I decided to find a way to earn myself money and buy books for myself. There was a manufacturer who put rubbishes which contained some steel parts at back of factory. I did a hard work to find those and sold that to a recycle center. I earned 2 dollars for first month. But the money was not enough for a book and I felt a very disappointed and try to give it up. But dad told me that, "A book is around 3 dollars. If you continue doing for one more month, you can buy a book." I were happily after that and continued for another month. I bought a book after that. After several months, I had around 20 books with my own choices and rent them to kids around me. <br />
<br />
One biggest learning from the childhood experience is that having a specific and measurable goal can help you going to achieve something hard to be done or even sometimes they are impossible.<br />
<br />
I have applied same theory into my missions. I will talk about setup measurable goal for healthier:<br />
<br />
1. Lose weight so that my BMI (Body Mass Index) back to health one. As my height won't change with my age, I am targeting 70kg util Jan 2015; Now I am at 71kg. At start of of this year, I weighted around 87.5kg. <br />
2. Keep most of blood testing results as now which is healthy and change one of metrics from risk to normal by Jan 2015; Low that metrics to low-risk around July; I just got my blood testing done last week. It is on the track.<br />
3. Back to monthly 10km bush walking between Nov 2014 and Jan 2015. Now I am doing that every quarter. And shorten it gradually. <br />
<br />
The specific and measurable goals have helped me overcoming plateau period and keep focusing on what I need to do.<br />
<br />
<a href="http://1.bp.blogspot.com/-75OdaWahhLA/VCZbUH1eIbI/AAAAAAAAMqg/X6vIeb7OVrA/s1600/IMG_20140927_091343-EFFECTS.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" src="http://1.bp.blogspot.com/-75OdaWahhLA/VCZbUH1eIbI/AAAAAAAAMqg/X6vIeb7OVrA/s1600/IMG_20140927_091343-EFFECTS.jpg" height="180" width="320" /></a>There is a popular SMART goal criteria. Except specific and measurable, a goal needs to be attainable, relevant and Time-bound. Every part of SMART is important.You can read more about <a href="http://en.wikipedia.org/wiki/SMART_criteria" target="_blank">SMART from wikipedia</a>. <br />
<br />
To quantify mission, you definitely need to bound your goals as annual goals or more than one year. If it is not your case, it is not big enough for you to treat it as a mission. <br />
<br />
And I want to highlight the "relevant" part for being healthier, it is very important that people should understand longer benefits come from healthier not from fitter or thinner. Healthier is some degree measurable from medical point of view. Routine check and use that as one of goal settings are essential and important. Bush walking is not only physical exercise, but also mind training to me. You may find other activities will help our mind training and please include that in one of your plan. Your mental health will impact everyone around you a lot esp your family. <br />
<br />
About attainable part of "SMART", feel free to change your annual goal around first and second months from start and but try to stick to that afterwards. You can't create attainable goal if you never try them before, but you need to stick to them to achieve something outstanding. So allowing yourself to modify it at start is as important as sticking to it after 2 months.<br />
Anonymoushttp://www.blogger.com/profile/08478532303879801170noreply@blogger.com0tag:blogger.com,1999:blog-7441308262141765946.post-45905713705835008432014-09-26T21:31:00.002+10:002014-10-03T22:36:30.982+10:00Landing your dream job sooner<div dir="ltr" style="line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Since January 2012, I started using resources on the internet for my career development because of a limited training budget. I felt so excited that I had world-class trainings from Amazon, Twitter, Udemy, edX and General Assembly without a big budget just like friends from big corporates. But I did find there are several roadblocks: </span></div>
<b id="docs-internal-guid-4b8389f9-b1ba-3ed2-2cfb-6abd9ee927dd" style="font-weight: normal;"><br /></b>
<br />
<ol style="margin-bottom: 0pt; margin-top: 0pt;">
<li dir="ltr" style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; list-style-type: decimal; text-decoration: none; vertical-align: baseline;"><div dir="ltr" style="line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">What is next step for my career? I don’t know</span></div>
</li>
<li dir="ltr" style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; list-style-type: decimal; text-decoration: none; vertical-align: baseline;"><div dir="ltr" style="line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Time wasted on low quality resources</span></div>
</li>
<li dir="ltr" style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; list-style-type: decimal; text-decoration: none; vertical-align: baseline;"><div dir="ltr" style="line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Time and knowledge wasted while changing topics</span></div>
</li>
</ol>
<b style="font-weight: normal;"><br /></b>
<br />
<div dir="ltr" style="line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">During the last one and half years, I personally discovered several ways which help me focus and improve effectiveness for informal learning. </span></div>
<b style="font-weight: normal;"><br /></b>
<br />
<div dir="ltr" style="line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">As I am from a software development background there are two choices, either continue being an individual contributor and becoming an architect or improving my leadership and people management skills. As I was not a native english speaker and my communication skills were not great, an easier choice would be to become architect. But I love working with people and helping others grow in their career. So I have been working toward the people management direction with a guide from several good friends and mentors.</span></div>
<b style="font-weight: normal;"><br /></b>
<br />
<div dir="ltr" style="line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">With that in mind, I started cleaning up twitter followings which were my major social resources for learning so that I can keep focused. A great resource I recently found was LinkedIn Pulse which had some great articles, however I did find their recommendation didn’t work well for my learning purpose. </span></div>
<b style="font-weight: normal;"><br /></b>
<br />
<div dir="ltr" style="line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;">
<a href="http://3.bp.blogspot.com/-0Q9hU-dYEfE/VBWGAgJpUOI/AAAAAAAAMgk/i1snZ9em_wY/s1600/Screenshot_2014-09-14-20-42-35%5B1%5D.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" src="http://3.bp.blogspot.com/-0Q9hU-dYEfE/VBWGAgJpUOI/AAAAAAAAMgk/i1snZ9em_wY/s1600/Screenshot_2014-09-14-20-42-35%5B1%5D.png" height="320" width="180" /></a><span style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Since December 2013, I started to create monthly goals for a skill with one or two keywords from books and online courses. I found that works really well to keep me focused and bring up my specific skills. With a goal in mind, I am not so distracted by different topics and interests too. Of course, I can still learn other topics. But those are chosen with more care now.</span></div>
<b style="font-weight: normal;"><br /></b>
<br />
<div dir="ltr" style="line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">This year during Melbourne’s LAST (Lean Agile System Thinking) conference I presented “Agility for Big Data” . This helps businesses deliver big data application into the market with shorter timeframe. </span></div>
<b style="font-weight: normal;"><br /></b>
<br />
<div dir="ltr" style="line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">We are developing a product that defines career paths with mentors, recommends high quality resources and keeps track of your activities toward goals. Even better, we can develop the product with your input to bring an innovative and affordable learning experience. </span></div>
<b style="font-weight: normal;"><br /></b>
<br />
<div dir="ltr" style="line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Please find my contact details below:</span></div>
<b style="font-weight: normal;"><br /></b>
<br />
<div dir="ltr" style="line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Mobile: 0401 651 178</span></div>
<div dir="ltr" style="line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Email: charlie@kareertracker.com</span></div>
<br />
<div style="background-color: white; border: 0px; box-sizing: border-box; color: #4d4f51; font-family: Helvetica, Arial, sans-serif; font-size: 16px; line-height: 24px; margin-bottom: 30px; outline: 0px; padding: 0px; vertical-align: baseline;">
<strong style="border: 0px; box-sizing: border-box; font-family: inherit; font-style: inherit; font-variant: inherit; line-height: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">How to join as our ProUsers (Android App only at the moment, iOS app out around Decmember 2014)</strong></div>
<div style="background-color: white; border: 0px; box-sizing: border-box; color: #4d4f51; font-family: Helvetica, Arial, sans-serif; font-size: 16px; line-height: 24px; margin-bottom: 30px; outline: 0px; padding: 0px; vertical-align: baseline;">
1. Register as our ProUsers by registering to this group:<a href="http://groups.google.com/d/forum/kareertracker-prousers" rel="nofollow" style="border: 0px; box-sizing: border-box; color: #7b539d; font-family: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: inherit; margin: 0px; outline: 0px; padding: 0px; text-decoration: none; vertical-align: baseline;" target="_blank">http://groups.google.com/d/forum/kareertracker-prousers</a></div>
<div style="background-color: white; border: 0px; box-sizing: border-box; color: #4d4f51; font-family: Helvetica, Arial, sans-serif; font-size: 16px; line-height: 24px; margin-bottom: 30px; outline: 0px; padding: 0px; vertical-align: baseline;">
2. After that, wait around 4~5 mins, then access the following URL to confirm as beta testing user for Android App:<a href="https://play.google.com/apps/testing/com.studyisfun.kareertracker" rel="nofollow" style="border: 0px; box-sizing: border-box; color: #7b539d; font-family: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: inherit; margin: 0px; outline: 0px; padding: 0px; text-decoration: none; vertical-align: baseline;" target="_blank">https://play.google.com/apps/testing/com.studyisfun.kareertracker</a></div>
<div style="background-color: white; border: 0px; box-sizing: border-box; color: #4d4f51; font-family: Helvetica, Arial, sans-serif; font-size: 16px; line-height: 24px; margin-bottom: 30px; outline: 0px; padding: 0px; vertical-align: baseline;">
3. There is download link after confirm as testing user, download and you have a KareerTracker in your hand now</div>
Anonymoushttp://www.blogger.com/profile/08478532303879801170noreply@blogger.com0tag:blogger.com,1999:blog-7441308262141765946.post-48964624937378572002014-09-25T22:59:00.000+10:002014-09-25T22:59:29.865+10:00An introduction to KareerTracker - Land your dream job sooner<iframe src="//www.slideshare.net/slideshow/embed_code/39518637" width="427" height="356" frameborder="0" marginwidth="0" marginheight="0" scrolling="no" style="border:1px solid #CCC; border-width:1px; margin-bottom:5px; max-width: 100%;" allowfullscreen> </iframe> <div style="margin-bottom:5px"> <strong> <a href="https://www.slideshare.net/charliecheng1/kareertracker" title="KareerTracker - Land Your Dream Job Sooner (Long Version)" target="_blank">KareerTracker - Land Your Dream Job Sooner (Long Version)</a> </strong> from <strong><a href="http://www.slideshare.net/charliecheng1" target="_blank">Charlie Cheng</a></strong> </div>Anonymoushttp://www.blogger.com/profile/08478532303879801170noreply@blogger.com0tag:blogger.com,1999:blog-7441308262141765946.post-47947344616351515482014-09-23T16:49:00.002+10:002014-09-27T19:42:11.057+10:00Build Habits and Enjoy Life - 1A day in December 2013, my days started with I pushed my little girl going to kinder garden. She cried and I still tried to push because I definitely would be late. And in the office, I faced with many "urgent" issues. It made myself feel important. But there is NOTHING important which has been done. After coming, I read a story to my little girl in a hurry and try to come back either trying to catch-up in technical front or catch-up in people management books. It was a typical day for me in any day in 2013. But luckily, I start listening an audio book "7 Habits of Highly Effective People" (Stephen Covey) from audible.com. The book opens me new view about my life and with my knowledge lean Kanban, I started a journey of changing myself from January 2014.<br />
<br />
With identify my missions, quantify my goals and measuring my progress towards goals, my life has changed a lot.<br />
<br />
In past 7 months, I have lost 16 kg and much healthier than before. Now my day starts with waiting for my girls prepares herself for kinder garden. My job doesn't full of "urgent" things. I starts to focus more value generation instead of just solving problems. And I have more free time to improve myself and start dedicating one of weekend to my family. And I am starting to find out my dream and starting build a startup for that.<br />
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjWKeT5o0br3m9xdrBEjE9nXd2OR5ksaCa3okCi3T8zafKF3nfNNUZZo0CYso5B3FKbPoxoGvMGGYUnDP7hKPuIMyQ_vvxwXAbspUJ6MbsAKKs0oU2hTyXpJju8_THe7Nry55PUewjuk4Q/s1600/Screen+Shot+2014-09-13+at+6.05.17+pm.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img alt="" border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjWKeT5o0br3m9xdrBEjE9nXd2OR5ksaCa3okCi3T8zafKF3nfNNUZZo0CYso5B3FKbPoxoGvMGGYUnDP7hKPuIMyQ_vvxwXAbspUJ6MbsAKKs0oU2hTyXpJju8_THe7Nry55PUewjuk4Q/s1600/Screen+Shot+2014-09-13+at+6.05.17+pm.png" height="155" title="Lose 16 Kg in 7 months" width="640" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjWKeT5o0br3m9xdrBEjE9nXd2OR5ksaCa3okCi3T8zafKF3nfNNUZZo0CYso5B3FKbPoxoGvMGGYUnDP7hKPuIMyQ_vvxwXAbspUJ6MbsAKKs0oU2hTyXpJju8_THe7Nry55PUewjuk4Q/s1600/Screen+Shot+2014-09-13+at+6.05.17+pm.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><br /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjWKeT5o0br3m9xdrBEjE9nXd2OR5ksaCa3okCi3T8zafKF3nfNNUZZo0CYso5B3FKbPoxoGvMGGYUnDP7hKPuIMyQ_vvxwXAbspUJ6MbsAKKs0oU2hTyXpJju8_THe7Nry55PUewjuk4Q/s1600/Screen+Shot+2014-09-13+at+6.05.17+pm.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><br /></a>
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
I want to share my experience with you.<br />
<br />
<h2>
Build Your Mission</h2>
The missions has guided my activity in past 8 months. The biggest benefits that I get from these is that I can prioritize things in my life very easily with these. I personally compared the ordered books from me in Amazon.com. This year's books are all about two topics. But last years, it is around five topics. Although I dont read as many books as last year, I did feel that my skills around two topics have become much better comparing with last year. In the job, I personally tried to involved less in the activities that I don't have in my mission statement. With that, I can focus on the things that I have more interest on.<br />
<br />
And in summary, I have focus things more important for my long term goals.<br />
<div>
<br /></div>
<div>
With guidance from the book, I personally classified my missions into 4 parts. They are:</div>
<div>
<ul>
<li>Career Development and Path</li>
<li>Family and its value</li>
<li>Community (People around you and what is your value to community)</li>
<li>Healthy and other long term goals</li>
</ul>
<div>
All of them are important to my personal growth and feelings. </div>
</div>
<div>
<br /></div>
<div>
There is the tool at Franklin Covey website, <a href="http://www.franklincovey.com/msb/" target="_blank">http://www.franklincovey.com/msb/</a>, which help me a lot on building my personal mission and my family mission. </div>
<div>
<br /></div>
<div>
<i>If you have any question, feel free to let me know. In the following sessions, I will share about my experience in the following topics:</i></div>
<div>
<i><br /></i></div>
<div>
<ul>
<li><i>How to create quantified annual goals from your missions</i></li>
<li><i>Create first milestones for you goals and how to create feedback loop</i></li>
<li><i>Time management with prioritization and Kanban</i></li>
<li><i>Try different solutions but keep focus</i></li>
<li><i>Dont forget about celeberation</i></li>
</ul>
</div>
Anonymoushttp://www.blogger.com/profile/08478532303879801170noreply@blogger.com0tag:blogger.com,1999:blog-7441308262141765946.post-8962804198241957582014-07-10T22:49:00.002+10:002014-07-10T22:51:42.056+10:00A culture of technical excellence and good design - a start postDo you have any idea how to make technical excellence and good design happen in your business? I plan to write a blog this. Please comment below. I plan to finish it by three week with three focus
1. what is technical excellence and good design
2. What are benefits it will bring although it looks like it gona cost a lot
3. How to encourage technical excellence and good design when everything is about survive and money
Please comment with your answer so that I can learn from you guysAnonymoushttp://www.blogger.com/profile/08478532303879801170noreply@blogger.com0tag:blogger.com,1999:blog-7441308262141765946.post-54304504264223763492014-07-10T22:35:00.000+10:002014-07-15T20:28:21.563+10:00Agility for Big DataMy LAST Conference Presentation
<iframe src="//www.slideshare.net/slideshow/embed_code/36831997" width="427" height="356" frameborder="0" marginwidth="0" marginheight="0" scrolling="no" style="border:1px solid #CCC; border-width:1px 1px 0; margin-bottom:5px; max-width: 100%;" allowfullscreen> </iframe> <div style="margin-bottom:5px"> <strong> <a href="https://www.slideshare.net/charliecheng1/agility-for-big-data-20140709-36831997" title="Agility for big data " target="_blank">Agility for big data </a> </strong> from <strong><a href="http://www.slideshare.net/charliecheng1" target="_blank">Charlie Cheng</a></strong> </div>Anonymoushttp://www.blogger.com/profile/08478532303879801170noreply@blogger.com0tag:blogger.com,1999:blog-7441308262141765946.post-15693701351382329022013-09-26T21:50:00.000+10:002014-07-15T20:28:43.142+10:00Three Maturity Levels for Software DeliveyI believe that there are three maturity for software delivery.<br />
<br />
Level One is delivering software as specification;<br />
<br />
Level Two is delivering solution to solve business problem;<br />
<br />
Level Three is delivering solution to deliver customer value;<br />
<br />
To be agile, you need to be at level 3<br />
<br />
<br />Anonymoushttp://www.blogger.com/profile/08478532303879801170noreply@blogger.com0tag:blogger.com,1999:blog-7441308262141765946.post-36963541788490230942013-08-29T21:01:00.000+10:002013-08-29T21:04:11.537+10:00Agile, SCRUM and Lean Overview Slide<iframe src="http://prezi.com/embed/0ruq0fk6xkr7/?bgcolor=ffffff&lock_to_path=0&autoplay=0&autohide_ctrls=0&features=undefined&disabled_features=undefined" width="550" height="400" frameBorder="0"></iframe>Anonymoushttp://www.blogger.com/profile/08478532303879801170noreply@blogger.com0tag:blogger.com,1999:blog-7441308262141765946.post-25986739631654445632013-08-20T21:33:00.001+10:002013-08-20T21:33:10.005+10:00Transition in Agile Project Life CycleAfter some reading of "Lean Startup" and "Scaled Agile Framework", I start to think about to add "Transition" as part of project life cycle into our projects. The problems that we have been experiencing are:<br />
<br />
<br />
<ul>
<li>There is no feedback after projects delivered into production environment</li>
<li>Lots of team members treating deploying into production as end of life cycle</li>
<li>We have lots of features deployed into some of server for early access purpose, but there is no feedback loop into development team</li>
<li>Difference between business values expected to delivered and business values gained, no learning gain from that</li>
</ul>
<div>
From 2 months ago, I have setup portfolio board which outline projects and BAU items in project as a business and start to have in-transition as part of process. What is most important factor we are looking for</div>
<div>
<ul>
<li>Mindset that project is only finished when stakeholders/customers gain values from it</li>
<li>Build learning culture across business about what we have failed and been succeeded </li>
<li>Extend learning culture from Engineering team to other business departments</li>
<li>Early access program which bring a safe-net to delivery team </li>
<li>Help support team and operation team preparing for production </li>
</ul>
<div>
<br /></div>
</div>
<div>
We are still working towards a better transition period. But most of feedback is positive and we will continue and make it better. There are few things that we have done along the way with feedback</div>
<div>
<ul>
<li>Build rhythm for projects in transition too like setting up catchup every week</li>
<li>Setup specific page or websites as communicate tools between customers and business when projects in transition stage</li>
<li>Dedicated communication channels while projects are in transition to make sure problems solved as soon as possible so that business values can be delivered</li>
<li>Stories discovered in transition stage is always treated as highest priority</li>
</ul>
<div>
Please note transition is different from "harden" sprint in many ways. And if you are working towards continuous delivery, you should not have "harden" sprint at all. At the transition stage, solution is delivered what it designed to do. But it may not fulfill customers' expectation fully or the solutions is deployed to test hypothesis. From transition, we need to learn something and business will grow with the stuff learn from it. </div>
</div>
Anonymoushttp://www.blogger.com/profile/08478532303879801170noreply@blogger.com0tag:blogger.com,1999:blog-7441308262141765946.post-6980765709340467402013-08-08T23:39:00.003+10:002013-08-08T23:39:32.723+10:00Stakeholders and Business People in Your Project/Product DeliveryIt has been amazing Agile journey since 2006 when I applied some general agile practice in my own business. And I have seen lots of advantage when business is small and innovative. And it fits with my personal believe that team output can be gain while empowering people. I had been working as owner, project manager and architecture designer at that time. It all works so perfectly because I always brought lead developer with me to talk with customer. As its nature of business, it is easy to get business people and client together with developers. <div>
<br /></div>
<div>
But recent experience with SCRUM has given me headache. Product owner has been go-to person for questions related to business. Product owner decision is representative of both clients and business needs. Communication lost cost is high. And my experience has been that product owner acts as middle man in the case they are accountable for product delivered. I personally believe bring stakeholders including customers into table is one of the solution when product owner has decide priority and core requirement. </div>
<div>
<br /></div>
<div>
What I am doing at the moment? There are few things: </div>
<div>
<ol>
<li>Identify stakeholders from internal and external in project vision statement</li>
<li>Bring stakeholders in grooming sessions to help developers understanding what customer needs</li>
<li>Product can decide whether it is in scope or not if developer think some changes may requires huge amount of work</li>
</ol>
<div>
I have been pushing vision statement and identify stakeholders for projects. It has bring lots of value into business in which we don't such doc before. And I haven't try 2,3 yet. And planning to do soon. </div>
</div>
<div>
<br /></div>
<div>
If you have some way to involve stakeholders in discussion both before development and after development, please send me or leave as comment</div>
<div>
<div>
<div>
<br /></div>
<div>
<br /></div>
</div>
</div>
Anonymoushttp://www.blogger.com/profile/08478532303879801170noreply@blogger.com0tag:blogger.com,1999:blog-7441308262141765946.post-40418749542267868522013-07-12T21:36:00.004+10:002013-07-12T21:36:52.058+10:00My Agile Failures - Deliver Software Frequently without Enough Safenet"Deliver software Frequently" becomes symbol being agile. As my previous post, I am talking about that delivery software to production is not finish line because feedback loop has not finished just with that. This post I will talk about deliver software frequently without building enough safe-net or not enough infrastructure.<br />
<br />
Recently, I have been push software from releasing every week to several times a week. But in the same time, there was an incident happened. Of course, there are many reason behind that. There are always many reason behind an incident. But the most important lesson that I learn from that is safe-net for delivering quickly.<br />
<br />
The basic assumption that a team should have is that if there is a failure, what we can do. How can we achieve rollback without customer notice or with minimal impact. "Fail more often" doesn't mean that you can fail more often. But it is a mindset that<br />
<br />
. We gona to fail and we should have a way and capacity to quickly recover<br />
. We should learn from our failure<br />
<br />
Failure doesn't necessary a system failure, it can be that metrics shows that business hypothesis failed.<br />
<br />
And I personally found "Post Mortem" is a good way keep us learning from failure in real time. Dont let similar bad things happen more than three times.<br />
<br />
What is your failure experience with delivering software more often? Anonymoushttp://www.blogger.com/profile/08478532303879801170noreply@blogger.com0tag:blogger.com,1999:blog-7441308262141765946.post-83688862822096442262013-06-26T22:00:00.003+10:002013-06-26T22:04:35.960+10:00My Agile Failures - Welcome "Changes"<span style="font-family: Courier New, Courier, monospace;">"Welcome Changes" becomes one thing that product owners/managers love most in Agile . Most of time, when you talk with new teams, product owner/managers always come and demand changes; At start of my Agile journey, I did believe that "changes" are important. We should allow "any" changes. The outcome is output of team is unstable and feature delivered were hard to maintain. And from time to time, we missed commitments because of change required. And lots of changes doesn't bring expected business advantage. </span><br />
<span style="font-family: Courier New, Courier, monospace;"><br /></span>
<span style="font-family: Courier New, Courier, monospace;">After years practice, I believe that there should be a line for</span><br />
<br />
<ul>
<li><span style="font-family: Courier New, Courier, monospace;">Whether a change is a new story or changes to existing story</span></li>
<li><span style="font-family: Courier New, Courier, monospace;">Whether changes are the change which bring lots of customer advantage or it is another hypothesis from product owner/manager</span></li>
</ul>
<div>
<span style="font-family: Courier New, Courier, monospace;">And if you frequently experienced any problem related to story change becoming new story, you need to looking at what is the root cause of problem. It is very important to solve root cause of problem. Mostly, I found that lack of either functional requirement or architecture design are mostly root cause of problem. It is highly related misconception about agile doesn't require document. Agile means "communication" over "document". It does NOT mean that you don't need documentation. But from time to time, document, esp design document, are very helpful, but skipped. Although you don't need them in a very formal format. But some sketch on whiteboard and record them in somewhere will help team understand problem and find question earlier.</span></div>
<div>
<span style="font-family: Courier New, Courier, monospace;"><br /></span></div>
<div>
<span style="font-family: Courier New, Courier, monospace;"><br /></span></div>
Anonymoushttp://www.blogger.com/profile/08478532303879801170noreply@blogger.com0tag:blogger.com,1999:blog-7441308262141765946.post-28207602431618250682013-06-18T23:09:00.001+10:002013-06-18T23:10:09.282+10:00My Agile Failures - No or Long Customer Feedback Loop<span style="font-family: Courier New, Courier, monospace;">For agile journey, most of companies focus on engineering practice like TDD, BDD, Automatic Testing, and Continuous Deployment. But the everything in agile is about shorting customer feedback loop time. Without it, agile practice will mean nothing to business. It will only become purely cost side for business.</span><br />
<span style="font-family: Courier New, Courier, monospace;"><br /></span>
<span style="font-family: Courier New, Courier, monospace;">The hardest thing in Agile is about involving customer / customer proxy in every stage of development including analysis, development, UI testing and customer satisfactory survey. Without customer feedback, any decision to change or add feature to a product is gut feeling and guess. Production vision is build from experience and vision. But to build a software product can survive, it is about to build an innovative product which support ever change customer's need. </span><br />
<span style="font-family: Courier New, Courier, monospace;"><br /></span>
<span style="font-family: Courier New, Courier, monospace;">In my agile experience, I have seen similar problems happening from time to time where there is lack of customer interaction and there is no define of success for a story/feature. If the situation continues, it will cause friction between business and development teams. </span><br />
<span style="font-family: Courier New, Courier, monospace;"><br /></span>
<span style="font-family: Courier New, Courier, monospace;">I still in progress build such feedback loop, I am trying following ways:</span><br />
<span style="font-family: Courier New, Courier, monospace;"><br /></span>
<span style="font-family: Courier New, Courier, monospace;">1. Get customers into UAT stage</span><br />
<span style="font-family: Courier New, Courier, monospace;">2. Setup early access environment so that customer can access newly released features</span><br />
<span style="font-family: Courier New, Courier, monospace;">3. Setup monitoring/tracking strip for user actions</span><br />
<span style="font-family: Courier New, Courier, monospace;">4. Involve customers and other stakeholders at grooming sessions</span><br />
<span style="font-family: Courier New, Courier, monospace;">5. Try to change to business culture to understand importance to have customer/customer proxy in house/easier to access while product delivery process</span><br />
<span style="font-family: Courier New, Courier, monospace;"><br /></span>
<span style="font-family: Courier New, Courier, monospace;">Do you have any suggestion for this? </span><br />
<span style="font-family: Courier New, Courier, monospace;"><br /></span>Anonymoushttp://www.blogger.com/profile/08478532303879801170noreply@blogger.com0tag:blogger.com,1999:blog-7441308262141765946.post-89194546283764426882013-06-11T22:08:00.002+10:002013-08-28T12:10:23.793+10:00My agile failures - Deploy to production is a finish line<span style="font-family: Courier New, Courier, monospace;">Agile principle highlight that to be agile, we need to deliver valuable software to customer in continuous way. In practice, it becomes continuous delivery. And we keep forgetting about customer value. </span><br />
<span style="font-family: 'Courier New', Courier, monospace;"><br /></span>
<span style="font-family: Courier New, Courier, monospace;">My experience is that we focus on starting Agile transformation at Engineering/Technical teams is easiest way to do considering popularity of "agile" in software development space. But as soon as you get a team up to certain maturity level, you will be able to deliver a piece of software continuously. I were in a phase like that. And I still didn't see lots of satisfied customer faces. </span><br />
<span style="font-family: Courier New, Courier, monospace;"><br /></span>
<span style="font-family: Courier New, Courier, monospace;">So what has been wrong? There are few things that I found that we can do better: </span><br />
<span style="font-family: Courier New, Courier, monospace;"><br /></span>
<br />
<ul>
<li><span style="font-family: Courier New, Courier, monospace;">Didn't engage customers in story discussion and delivery (we only involve customer proxy - Product Manager in the discussion)</span></li>
<li><span style="font-family: Courier New, Courier, monospace;">Treat deploying to production as full stop, then </span></li>
<ul>
<li><span style="font-family: Courier New, Courier, monospace;">Engineering is disconnected from customer; Small issues are stopping large number of customers adopting</span></li>
<li><span style="font-family: Courier New, Courier, monospace;">Project based methodology has delayed future improvement</span></li>
<li><span style="font-family: Courier New, Courier, monospace;">Support team take over communication even for MVP products</span></li>
<li><span style="font-family: Courier New, Courier, monospace;">Lack of communication between teams and engineering team after software on production</span></li>
</ul>
</ul>
<div>
<span style="font-family: Courier New, Courier, monospace;">What I have done to improve the outcome:</span></div>
<div>
<ul>
<li><span style="font-family: Courier New, Courier, monospace;">Setup a kanban which has "transition" as one of columns; Project/Stories will be only moved to "Party Time"/Finished/Done when it is proved to work for customers;</span></li>
<li><span style="font-family: Courier New, Courier, monospace;">With above Kanban board, we make sure improvement stories related to new projects/stories have highest priority</span></li>
<li><span style="font-family: Courier New, Courier, monospace;">Engage customer directly in "transition" stage so that customer values can be delivered in timely manner; Project can actually become "valuable" product</span></li>
</ul>
<div>
<span style="font-family: Courier New, Courier, monospace;">Some further things to be answered:</span></div>
</div>
<div>
<ul>
<li><span style="font-family: Courier New, Courier, monospace;">Does "Project" stop us from doing better job? </span></li>
<li><span style="font-family: Courier New, Courier, monospace;">Without project, how will you manage budgets? </span></li>
<li><span style="font-family: Courier New, Courier, monospace;">How to engage customers more in execution/in progress stage to shorten transition stage? </span></li>
</ul>
<div>
<span style="font-family: Courier New, Courier, monospace;">If you have any suggestion, please let me know</span></div>
</div>
Anonymoushttp://www.blogger.com/profile/08478532303879801170noreply@blogger.com0tag:blogger.com,1999:blog-7441308262141765946.post-53022112981938850172013-06-07T23:02:00.001+10:002013-06-09T23:33:04.479+10:00My Agile Failures - Customer Value and Failure Demand<div><span style="color: #444444;"><span style="font-family: "Courier New",Courier,monospace;"><span style="background-color: white; font-size: 15px; line-height: 22.5px;">Agile first principle: "<b><i>Our highest priority is to satisfy the customer through early and continuous delivery of valuable software</i></b>."
So first of my thought that means that we should deliver customer value
as quick as possible. As highly experienced developer and architect, a
customer value does not only include function delivered, but also
include non-functional requirements including quality, security and
others. </span></span></span><br />
<br />
<span style="color: #444444;"><span style="font-family: "Courier New",Courier,monospace;"><span style="background-color: white; font-size: 15px; line-height: 22.5px;">But
with monitoring in place, it doesn't seems that our agile delivery
bring more significant sales into business. So which part goes wrong. A
recent read of John Seddon article bring some lights on that. In his
article, he talk about </span><i><b>failure demand</b></i> - "demand
caused by a failure to do something or do something right for the
customer". Most of our "agile" delivery are delivering wrong thing
quickly. </span></span><br />
<br />
<span style="color: #444444;"><span style="font-family: "Courier New",Courier,monospace;">There are few wrong sides for things delivered:</span></span><br />
<br />
<span style="color: #444444;"><span style="font-family: "Courier New",Courier,monospace;">1. Miscommunication and information lost</span></span><br />
<span style="color: #444444;"><span style="font-family: "Courier New",Courier,monospace;">2. Someone else did that and that is valuable to our customers too</span></span><br />
<span style="color: #444444;"><span style="font-family: "Courier New",Courier,monospace;">3. Never analysis root cause of customer business problem; So solution can't solve the most important problem</span></span><br />
<span style="color: #444444;"><span style="font-family: "Courier New",Courier,monospace;"><br /></span></span>
<span style="color: #444444;"><span style="font-family: "Courier New",Courier,monospace;">Sprint
Review has been prescribed in SCRUM as part of process. But our product
delivery and customer value feedback were just skipped after sprint
review. And there were no continuous improvement process related to
product development and provision. </span></span><br />
<br />
<span style="color: #444444;"><span style="font-family: "Courier New",Courier,monospace;">What I am trying at the moment</span></span><br />
<br />
<span style="color: #444444;"><span style="font-family: "Courier New",Courier,monospace;">1. I have setup Kanban to visualize whole product delivery process including MVP provisions </span></span><br />
<span style="color: #444444;"><span style="font-family: "Courier New",Courier,monospace;">2. Plan to have some review meeting like sprint review. But it focuses more on product delivery to customer. </span></span><br />
<span style="color: #444444;"><span style="font-family: "Courier New",Courier,monospace;"><br /></span></span>
<span style="color: #444444;"><span style="font-family: "Courier New",Courier,monospace;"><br /></span></span>
<br />
<br /></div>Anonymoushttp://www.blogger.com/profile/08478532303879801170noreply@blogger.com0tag:blogger.com,1999:blog-7441308262141765946.post-4075712449463708962013-04-09T23:12:00.002+10:002013-08-28T10:55:46.791+10:00Agile PrinciplesEveryone in Software Development knows about Agile Manifesto;<br />
<br />
But I personally believe the principles are more important.<br />
<br />
What is your thought on each of them?<br />
<br />
<br />
<div style="background-color: white; border: 0px; color: #636466; font-family: Helvetica, Arial, sans-serif; font-size: 15px; line-height: 1.5em; margin-bottom: 1em; margin-top: 1em; padding: 0px; vertical-align: baseline;">
We follow these principles</div>
<div style="background-color: white; border: 0px; color: #636466; font-family: Helvetica, Arial, sans-serif; font-size: 15px; line-height: 1.5em; margin-bottom: 1em; margin-top: 1em; padding: 0px 0px 0px 30px; vertical-align: baseline;">
1. Our highest priority is to satisfy the customer through early and continuous delivery of valuable software.<br />
2. Welcome changing requirements, even late in development. Agile processes harness change for the customer's competitive advantage.<br />
3. Deliver working software frequently, from a couple of weeks to a couple of months, with a preference to the shorter timescale.<br />
4. Business people and developers must work together daily throughout the project.<br />
5. Build projects around motivated individuals. Give them the environment and support they need, and trust them to get the job done.<br />
6. The most efficient and effective method of conveying information to and within a development team is face-to-face conversation.<br />
7. Working software is the primary measure of progress.<br />
8. Agile processes promote sustainable development. The sponsors, developers, and users should be able to maintain a constant pace indefinitely.<br />
9. <b>Continuous attention to technical excellence and good design enhances agility.</b><br />
10. Simplicity--the art of maximizing the amount of work not done--is essential.<br />
11. The best architectures, requirements, and designs emerge from self-organizing teams.<br />
12. At regular intervals, the team reflects on how to become more effective, then tunes and adjusts its behavior accordingly</div>
Anonymoushttp://www.blogger.com/profile/08478532303879801170noreply@blogger.com0tag:blogger.com,1999:blog-7441308262141765946.post-82712516155689095352012-12-16T08:49:00.002+11:002013-07-09T15:02:37.361+10:002013 Goals<br />
<b>Personal Health:</b><br />
<strike>- Exercise 120 Minutes per Week (this and following item has been merged)</strike><br />
<strike>- Bicycling to train stations 2 days a week</strike><br />
- Bicycle in average 4 hours a week<br />
- Go to bed before 12:00PM<br />
<br />
<b>Family Health:</b><br />
- Towards more health diets<br />
- Schedule family traveling to increase communication and family mentality sync<br />
<i><b> . A trip South Australia</b></i><br />
<i><b> . Schedule a return trip back to China</b></i><br />
<i><b> . Schedule a trip to country side</b></i><br />
<br />
<b>Personal Growth:</b><br />
<strike>- Atthend Melbourne Uni MBA Classes (Remove from List)</strike><br />
- Join 2-3 Conference at least one focus on Lean and another one focus on trending of technology<br />
.<i><b> Joined Lean/Agile/System Thinking Camp</b></i><br />
- A blog post a month around Agile/Lean (need some boost for this)<br />
. <i><b>Collecting topics</b></i><br />
<i><b> . Trying to catch up to make up 1 in month in average</b></i><br />
<br />
<b>Networking:</b><br />
<strike>- Attend lean or scrum meetup once a month (too busy to keep it)</strike><br />
- Attend 2-3 Conference and start spread network (<b><i>need more work</i></b>)<br />
<br />
<b>Professional Development: </b><br />
- Start to know one colleague a month out of product/support/engineering team (<i><b>Started Coffee Club, it works in some way; Need to solve the problemt hat uncertainy commitment from sales teams</b></i>)<br />
- Help defining Agile culture in other departments and senior managers <i><b>(Spread agile culture through the Coffee Club at the moment</b></i>)<br />
- Apply system thinking for organization changes <i><b>(need more reading and study for this</b></i>)Anonymoushttp://www.blogger.com/profile/08478532303879801170noreply@blogger.com0tag:blogger.com,1999:blog-7441308262141765946.post-62428991294176961742012-11-29T22:08:00.003+11:002012-11-29T22:08:56.178+11:00Story Points, Velocity and How we treat itPeople keep asking me about story points, velocity. Can we use it for performance measurement or so? One and half year ago, I would definitly say yes. And today, I will definitly say no. Then why we need story points and velocity. Most people will ask.<br />
<br />
Story points will tell us the complexity of problem. Not actually time that we gona spend to finish it. And complexity of problem can depend on solutions team gona to implement. But please note, we won't be able to give "accurate" estimate because:<br />
<br />
1. Story gona to have a change or more which will impact time consumed<br />
2. There will be other distraction can make time consumed one or two times longer<br />
3. We didn't spend time to find every detail of "requirement". there will be 40-70% variance there<br />
<br />
Then hey what is planning session for? Story planning's purpose is to<br />
<br />
1. Encourage discussion between team members. When there are difference in story points, they are encouraged to have more discussion. (But I normally skip one or 0.5 point difference, if you have different opnion, please let me know)<br />
2. Ensure team to have enough stories to work in next 1 sprint (I normally groom and estimated 1.5 x average velocity load) - that is major reason that we should have velocity, not performance measurement<br />
<br />
And in the same time, velocity has been used by me for estimation of project/product delivery with release burndown. I constantly find out that the result is in-constant and not really useful at beginning of project. If you have different experience, please let me know how you have done that.Anonymoushttp://www.blogger.com/profile/08478532303879801170noreply@blogger.com0tag:blogger.com,1999:blog-7441308262141765946.post-23619826956766419792012-11-29T21:50:00.004+11:002012-12-16T23:22:21.351+11:00What bring me to agile worldWhat bring me to agile world and what keep me doing these? After listening Mike Lee's talk at YOW 2012, it is true inspirint topic. The question keep poping up at my head. I feel myself lost recently with Agile.<br />
<div>
<br /></div>
<div>
What bring me to Agile?<br />
<div>
<br /></div>
<div>
First thing that I was into agile because it will bring maximum benefits to developers and cut lots of waste. At that time, I don't scrum yet. All I do is to let developer to be as everything from projet manager, architect, software engineer and tester. I started trying the concepts at my own business around 2003. I find out that developer meet customers will deliver product into customer hand in much shorter cycle time and much higher quality (I mean mostly customer won't send any complain about product delivered). Customer is very satified. Developers feel achievement too. And every developers in my business can do that at that time. </div>
<div>
<br /></div>
<div>
Second thing is that bring maximum value to customer. When developer communicate directly with customer, putting what and how together can fit solutions into budget and quickly deliver solutions. And mostly importantly, mentality of customers and developers are always in the same line. </div>
<div>
<br /></div>
<div>
Third thing is minimizing waste. I personally believe different roles in software development have bring lots of waste into the industry. Everything changed needs to communicate. My experiements before prove that we can deliver a project a minimum time expected if we can leave all decision to developers. </div>
<div>
<br /></div>
<div>
I find myself lost in words recently like continuous deployment, velocity, cycle time and so on. As complexity of system, using that to measure performance is non-sense and counter productive. </div>
<div>
<br /></div>
<div>
I believe that I will continue my support of agile and lean and shall never forget about why I love agile. </div>
</div>
Anonymoushttp://www.blogger.com/profile/08478532303879801170noreply@blogger.com0tag:blogger.com,1999:blog-7441308262141765946.post-13882486339617095232012-10-30T23:24:00.001+11:002012-10-30T23:30:28.605+11:00Separate Deployment and Release for Web Applications<h2>
Background</h2>
Most organization has treated deployment as release. Of course, there are many advantages doing that. Like, it is easier to maintain and manage. And it will be very efficient for small team when one feature delivery requires time. So when new version get deployed into server, everyone will see the changes.<br />
<br />
But when team grows, it becomes biggest problem if we still want to delivery features to customers as early as possible. There are few problems as my discovery:<br />
<br />
<ol>
<li>Feature deployed into server, but product team and sales team are not ready for end users to use yet.</li>
<li>Some features will only bring value into certain group of customers and not bring any value to other group of customers</li>
<li> Some features are designed for working with certain user group but not for others yet. Release into everyone will cause </li>
<li>Frequent change of user inteface are note acceptable to most customer although it will be liked by most of customers</li>
</ol>
<h2>
What we do</h2>
<h3>
Separate Release from Deployment</h3>
First way that I can thought of will be separate release from deployment. There are few pratices out there:<br />
<br />
<ol>
<li>Feature Flipping/Toggling</li>
<li>Early Access Program</li>
<li>Any other you are using? </li>
</ol>
Do you have any ideas how to make it better? There must be some very good idea out there. Please let me know so that I can compare features.<br />
<br />
<h3>
Feature Flipping/Toggling</h3>
With feature flipping/toggling, you will single version of software but be able to allow certain user group to see new features like evanglist, trial users, users from certain region or country using GeoIP, users with certain behaviors.<br />
<br />
It is easy to manage source code. But it is very hard to keep all software engineers to use feature flipping properly. If not, the code grows into a big mess. <br />
<br />
<h3>
Early Access Program</h3>
There will be different version of software installed on server. Some users can be configured to access to newest version/some version of software. It is hard to manage bugs found or some urgent feature needs to be in production.<br />
<br />
The advantage of this is that you don't need to worry too much problems may be caused by feature flipping (architecture design and clean up of flags)<br />
<h2>
Why we will separate release from deployment</h2>
With separating release from deployment, we can<br />
<ul>
<li>Minimize impact while doing deployment </li>
<li>Minimize risk for deployment and release</li>
<li>Support continuous deployment without degrade too much of user experience because of frequent change</li>
<li>Customer can get feature as early as possible</li>
<li>A very good communication channel between customers and engineers</li>
<li>We still deliver much better product to most end user after some iterations with user feedback</li>
</ul>
<h2>
Side Note</h2>
In both solution that I have found, my feel is that most important part is to keep communication channel wide open between engineers and customers. The communication channel should be easily accessible for both engineers and customers. Only with that, your team can be Agile. <br />
<br />
<br />
<br />
<br />Anonymoushttp://www.blogger.com/profile/08478532303879801170noreply@blogger.com0tag:blogger.com,1999:blog-7441308262141765946.post-65122044423099630212012-09-11T23:00:00.002+10:002012-09-11T23:00:43.533+10:00Why you won't do continuous deployment<h2>
Introduction</h2>
<div>
Continue deployment is very popular around world at the moment. It has been seen as one corner stone of agile practices. But I do believe it takes very long time for organization to be able deploy often. </div>
<div>
</div>
<div>
My view about continue deployment is that you should NOT do continuous deployment unless you have a safe net. </div>
<div>
<br /></div>
<div>
Safe net means differently from business to business. But there are several things that are essential across different business types. </div>
<h2>
Monitoring</h2>
<div>
Monitoring becomes more and more important for IT businesses. Without any data supporting your theory, you may make wrong decision. The decision may cost your company as highly competition from anywhere around the world with low entry requirement for an IT business. </div>
<div>
<br /></div>
<div>
There are tons of article talking about monitoring. But I do believe that every business should encourage monitoring across all layers:<br />
<br />
<br />
<ul>
<li>Operation/System Services including databases</li>
<li>Application Layer error</li>
<li>User Interactions</li>
</ul>
<div>
Everything has its important in helping us making right decision and fix problems as quick as possible. I believe that nothing can be 100% right unless we put them in production. With fast growing amount of data, it is not possible for teams to test most systems with scale which is same as production. Expecting fail and have a safe net to catch failure as early as possible and design a system to make problem to be fixed as soon as possible. </div>
<div>
<br /></div>
<div>
If you don't have monitoring in place, do NOT do continuous deployment. </div>
<h2>
Build Pipeline</h2>
<div>
Environments always should be first problem you solve if you want team to be agile. I have been experience in lots of companies that they are experience as following order:</div>
<div>
<br /></div>
<div>
1. Use product as development sandbox</div>
<div>
2. Have staging environment and staging environment db box is used for development</div>
<div>
3. Have continuous build and automatic acceptance testing environments</div>
<div>
4. Then have dedicated dev, testing and staging environment</div>
<div>
5. Then have dedicated preview sites</div>
<div>
6. Have gateway function to select users for preview features (Not done in any company yet, only read in paper now)</div>
<div>
<br /></div>
<div>
Without achieving (4), there are not enough testing before going to production. In that case, please do NOT use continuous deployment unless your system in VERY small. If you have done continuous deployment without reach (4), please let me know.I would love to know that how can you minimize risk while not having such environments. </div>
<h2>
Testing and Quality Control</h2>
<div>
Unit testing, functional testing/integration testing and acceptance tests are essential for your continuous deployment. </div>
<div>
<br /></div>
<div>
Some people out there are fans of unit testing or functional testing. I don't believe one type of test is enough for continuous deployment. </div>
<div>
<br /></div>
<div>
Functional testing and Acceptance Tests will tell us whether system did what we expect. As every software engineer knows, there are many cases that you can't put into functional test cases. It tests from user point of view. But it never tests from software engineer point of view. There are lots of place that we can miss with functional testing. I have see that some one promote functional testing and they promote technical stories in the same time. It is kind of making sense because they want to cover in more granular level. </div>
<div>
<br /></div>
<div>
Unit testing is essential as most agree. It give us confident in a granular level so that we will be very confident as software engineer. And another advantage is that we have static about how much coverage of testing is at the moment. It is very important thing for me. Someone says 80% is ideal line that you can have enough confidence. I would say sometimes 70% maybe enough too. And progressively working towards 80% is best way to do. But you will find that after 65%, it normally becomes very hard to do. And it is worth to write test coverage as requirement in stories from that time. </div>
<div>
<br /></div>
<div>
With unit testing only, we can assure that system does what user or product team wants. And we haven't tested in an integrated environment yet. With those reasons, functional and acceptance tests are very important too.</div>
<h2>
Feature Flipping</h2>
<div>
I have not done any feature flipping in any organization yet. But I believe that feature flipping is important for continuous deployment. There are frequent requests about hide certain features for different kinds of reasons. Normally reaction at the moment, we just delay deployments. But it will prevent other important features to be released too. When team grows, the problems will occur more and more. And I am pushing feature flipping at the moment. But it may result in messy code and it needs frequent clean up are always concerns. </div>
<div>
<br /></div>
<div>
<br /></div>
<div>
<br /></div>
</div>
Anonymoushttp://www.blogger.com/profile/08478532303879801170noreply@blogger.com0tag:blogger.com,1999:blog-7441308262141765946.post-8211489000474653122012-05-20T22:20:00.000+10:002012-05-20T22:20:07.083+10:00Feature Team or/and Component Team for Agile Development<h2>
Introduction</h2>
<div>
Question arised when senior manager want to put out a component based team structure for engineering/development team. I can see some benefits from team structure. But in the same time, I feel there is something wrong with my gut feeling. What is wrong and what would be better format? </div>
<div>
<br /></div>
<div>
After a careful thought, I believe that mixed team structure will be best for current business that I work at. </div>
<div>
<br /></div>
<h2>
My Thought</h2>
<div>
My thought the mixed team structure will be best fit for the business. There will be three product/feature teams and 2 component teams. </div>
<div>
<br /></div>
<div>
My reason is as following: </div>
<div>
<br /></div>
<div>
<ul>
<li>There is a component requires high availability, scalability and stability which requires different skill set than just software engineering and needs to understand infrastructure. </li>
<li>There is another component similar to a component above which requires specific attention and skill sets. They will create a platform to make entry skills much lower for product teams</li>
<li>But for fast delivery, to minimize handover waste, product teams will be formed to delivery end to end development except first one above. </li>
<li>Also using product/feature team to deliver features will minimize complexity of dependency management</li>
<li>Product team will make handling defects easier </li>
<li>Product team will make integration testing easier and earlier in stages as features developed in one team instead of across different teams</li>
</ul>
<div>
But there are difficulties:</div>
</div>
<div>
<ul>
<li>For some business, building cross functional team is very hard</li>
<li>Discipline and architecture guide to access codes concurrently</li>
<li>A shift to share responsibility of design (I don't remember where I read an article. But consult community with member from different product teams and component teams may be an answer. Have no experience with that)</li>
<li>Developing and co-ordinating common functions</li>
<li>For other business but not mine</li>
<ul>
<li>Infrastructure reuse (I do think there is innovation solution for this most of time)</li>
<li>How to build a platform to make learning of some skills easier for product/feature team as some of frequent used skills are hard to learn</li>
</ul>
</ul>
<div>
I believe there are someone out there that have more experience than I do and do have different opinion on this. Please comment on this and I do believe there will be a very good debate and discussion. </div>
</div>Anonymoushttp://www.blogger.com/profile/08478532303879801170noreply@blogger.com0