Speed as a Habit

Speed is the ultimate weapon in business. All else being equal, the fastest company in any market will win. Speed is a defining characteristic — if not the defining characteristic — of the leader in virtually every industry you look at.

In tech, speed is seen primarily as an asset in product development. Hence the “move fast and break things” mentality, the commitment to minimum viable products and agile development. Many people would agree that speed and agility are how you win when it comes to product.

Speed, like exercise and eating healthy, can be habitual.

What are the building blocks of speed?

1- Making decisions

2- executing on decisions. 

Your success depends on your ability to develop speed as a habit in both.


A good plan violently executed now is better than a perfect plan next week.

WHEN a decision is made is much more important than WHAT decision is made.

Deciding on when a decision will be made from the start is a profound, powerful change that will speed everything up.

Fast decisions are far better than slow ones and radically better than no decisions.

There are decisions that deserve days of debate and analysis, but the vast majority aren’t worth more than 10 minutes.

Input from others will help you get to the right decision faster, and with buy-in from the team.

Larry Page was extremely good at forcing decisions so fast that people were worried the team was about to drive the car off a cliff. He’d push it as far as he could go without people crossing that line of discomfort. It was just his fundamental nature to ask, “Why not? Why can’t we do it faster than this?” and then wait to see if people started screaming. He really rallied everyone around this theory that fast decisions, unless they’re fatal, are always better.


Challenge the when.

“Why can’t this be done sooner?” Asking it methodically, reliably and habitually can have a profound impact on the speed of your organization.

You don’t have to be militant about it, just consistently respond that today is better that tomorrow, that right now is better than six hours from now.

Recognize and remove dependencies.

The untrained mind has a weird way of defaulting to serial activities — i.e. I’ll do this after you do that after X, Y, Z happens. You want people working in parallel instead.

As a leader, it’s your job to recognize the dependencies and non-dependencies, and take action depending on how critical the thing is and when it’s due.

Ten times a day I’ll find myself sitting in a meeting saying, “We don’t need to wait for that thing, we can do this now.” That thought is so common. It’s just that people need to say it out loud more often.

Eliminate cognitive overhead

If you can knock out big chunks of a project early, you can reduce the overhead of the remaining parts by 90%. You should always be on the lookout for these opportunities.

You should gently seek to understand what’s happening. I tend to ask a lot of questions like: “Can you help me understand why something would take so long? Is there any way we can help or make it go faster?” Really try to get to the heart of the actions they’re taking and the time they’ve carved out to do it. And if this works, be sure to commend them to their boss.

I highly recommend this over a brute force method of escalating things to the person’s manager or throwing competition in their face. That doesn’t serve them, and they’ll be much less likely to serve you as a result.

Reference : Speed as a Habit

Posted in Companies, Management, Productivity | Tagged , , | Leave a comment


Originally posted on Think Different:


For all the angst and discussion around how to make organisations, teams and people more productive, we might be forgiven for thinking that the idea of “productivity” was commonly understood and agreed.

However, this is not so.

For example, classical economics has a markedly different definition than does Theory of Constraints (TOC). And if you ask someone – in particular managers demanding “higher productivity” – for an operational definition, you may get a blank look, or other definitions again.

“An operational definition is a procedure agreed upon for translation of a concept into measurement of some kind.”

~ W. Edwards Deming

I’m not arguing for one, common, consistent, clear definition. Rather, I’m drawing attention to the confusion over the term – confusion compounded by many folks taking it for granted that they’re all talking about the same things, that they’re all using the same definitions.

“There is no…

View original 714 more words

Posted in Uncategorized | Leave a comment

The End of Projects

Projects are the main reason for Software Products Development failure.

Why ?

Because Projects and Software characteristics are totally different and conflict.

How ?

1- Nature:

Projects are (Temporary) and have an end date.

Software development is (Not Temporary)

and this creates two problems:

a- Quality: poor cos you would like to finish on an end date.

b- Team: dismantled which will lead to lose of experience and deep information which can not be catch by documents.

2- Success Criteria:

Projects (Budget , Time and Scope)

Software development (Value / Benefit)

3- Size:

Projects are Big (budget, time, scope, team, … etc)

which implies Feedback problem, cos of big batches of deliverable.

Software development should be in small batches so as to enable feedback and benefit as soon as possible.

4- Estimation:

Projects estimate and predict large deliverable in advance. Controlling uncertainty.

Software is inherently unpredictable. So exploit uncertainty to create more releases and more releases means options. And options have value.

5- Change:

Projects will penalized late requirements.

Software products are always changing otherwise they are not used or dead.

6- Sign-Off:

Projects suits traditional management where senior managers can sign-off big batches of work.

Software development suits self-managed teams where team members can sign-off small batches of work.

#NoProjects   #BeyondProjects

Resource: No Projects – Beyond Projects

Posted in #BeyondProjects, #NoProjects, Comparison, Projects, Software Development | Tagged , , , , | Leave a comment

The Power of Small and Simple Habits

The reason people fail to change their lives, and fail to instill new habits, is because they try to do too much at once. In simplest terms, if your new habit requires more willpower than you can muster, you will fail. If your new habit requires less willpower than you can muster, you will succeed.

You couldn’t do a 30-minute workout because your willpower wasn’t strong enough or was depleted. But you could do one push-up and segue into a 30-minute workout because it only requires a tiny amount of willpower to start, after which your body and mind stopped resisting the idea.

Willpower ,  it’s a limited resource.

Source:  How Simple Mini Habits Can Change Your Life

Posted in habits, Success, willpower | Leave a comment

Basic Features vs Delightful Features

Basic Features
Basic features that a user expects to be there and work will never score highly on satisfaction, but can take inordinate amounts of effort to build and maintain.

Delightful Features
Score very highly on satisfaction and in many cases may not take as much investment. Small incremental improvements here have an outsized impact on customer satisfaction.

Hotel example:

Hot Water: No customer is going to rave on Twitter about how good the hot water in their hotel was, but if it wasn’t there, or it wasn’t hot enough, or took too long to get hot, you bet there would be a complaint, and a loud one.

It is crucial to understand at what point you’ve met the users’ expectations and to stop there. Any further development is a wasted effort.

A user will never tell you about basic expectations. If you sat someone down and asked them to design their perfect design they will not tell you about basic design. You have to observe and research to find these basic expectations.

The beauty of delightful features is that these features can deliver so much more user satisfaction per unit of investment than basic features.

The Problem of Delightful Features

All features will migrate from delightful to basic expectations. Once a user has come to expect that delightful feature – whether because you’ve had it for a while or because all their other products have it – the feature has become something they expect. The absence of that feature would now be a frustration, and you need to discover new delightful features.


  1. Which features are meeting basic expectations? Only invest in developing or maintaining those to the extent that you need to satisfy the customer. Which features are your delighters? Focus your efforts here and make sure you’re constantly developing new ones.
  2. Monitor your customer satisfaction and competition to ensure that features you think delight users haven’t slid into basic expectations and no longer help your customer satisfaction.

Resource: Using The Kano Model To Prioritize Product Development

Posted in Agile | Leave a comment

Managing Requirements Dependencies Between Agile and Lean Teams

Originally posted on Disciplined Agile Delivery:

Sometimes functional dependencies occur between requirements that are being implemented by different teams.  For example, requirement X depends on requirement Y and X is being worked on by team A and Y is being worked on by team B.  This generally isn’t a problem when requirement Y is implemented before requirement X, is a bit of an annoyance if they’re being implemented in parallel (the two teams will need to coordinate their work), and an issue if X is being implemented before Y.  For the rest of this posting we will assume that X depends on Y, X is just about to be implemented, and Y has not yet been implemented.  Previously in Managing Dependencies in Agile Teams we discussed strategies for addressing such dependencies, including reordering the work or mocking out the functionality to be provided by Y.  In this posting we explore the implications of managing requirements dependencies…

View original 598 more words

Posted in Uncategorized | Leave a comment

Twenty Minute Rule

Whenever you come home from a long day at work or school,  you were so tired the only things you could find energy to do were mindless life-negating nonsense– television, Netflix, Reddit, Facebook, whatever.

Every night you would somehow find hours of time to do these things (despite being extremely tired).

Replace this time wasting routine with the twenty minute ruleThe moment you get home, you force yourself to do at least twenty minutes of one of the things that makes you better, happy and closer one step to you goals.


When people don’t plan, they aren’t ready to take advantage of opportunities that avail themselves, and so they play Angry Birds and watch Netflix because it takes less energy than figuring out something to do at that moment.  I call this the “path of least resistance problem.”  To make ourselves more sensitive to opportunities that can decidedly improve our lives, we need to structure our routines to make the path of least resistance difficult.  One way to do this is the twenty minutes rule.

If we want to do something trivial, something that likely won’t matter in the grand scheme of our lives, like meeting a colleague for lunch, we will pencil a time in our calendars and get it done.  But when we want to do something important and enriching, something we know will matter greatly in the grand scheme of our lives, like writing a book or learning a language, we say “I’ll get around to it.”  We don’t pencil in the twenty minutes a day necessary to become the person we really want to be.  One way to do this is to challenge the impulse to relegate our passions and our ambitions to something our future selves will do down the line.


Resource: http://www.quora.com/Lifestyle/What-small-lifestyle-changes-have-the-biggest-impact/answer/Evan-DeFilippis?srid=uOyW&share=1

Posted in Planning, Productivity, Time Management | Leave a comment

If you are not Planning , then you are a bad Developer

No matter how many years you have, if you are not planning (white board/paper) your work and just jump and code, then you are a bad developer.

Developers face coding decisions, many of which are complex, the best developers will plan their work and make good decisions. Bad developers just ‘jump in’; they assume that they can always rewrite code or make up for bad decisions later. Bad developers are not even aware that their decision processes are poor and that they can become much better by planning their work.

Resource : No Experience Required!

Posted in Productivity, Programmers | Leave a comment

Programming Every Day

Why you should program daily (work or side projects) ?

1- Break-through solutions:

Subconscious will work while you are eating, driving, sleeping, … etc.

2- Productivity:

Everyday a little step towards your goal.

3- Satisfaction:

Feeling progress is important as achieving your goals.

4- Switching:

Easy switch to work on your project, because everything is in the front memory.

How to do it?

1- Time:

Set a specific time and period, what ever happened you should do programming.

2- Place:

Set a specific place and don’t change it.

3- Progress not result:

You are looking for sitting down and do programming, not waiting for a result. And this is better, because your subconscious will be working while you are in a middle of a dilemma.

Resource: Write Code Every Day

Posted in Problem Solving, Productivity, Programmers, Programming, Side Projects, Study, Success | Leave a comment

Release Planning

Maximize your return on investment by:

working on one project at a time;
releasing early and often;
adapting your plans;
keeping your options open; and
planning at the last responsible moment.
Use timeboxing to control your schedule. Set the release date, then manage scope to meet that date. This forces important prioritization decisions and makes the endpoint clear.

Prioritized Minimum Marketable Features (MMFs) and stories form the body of your plan. Demonstrate your progress as you develop and use that feedback to revise your plan.

To minimize rework, develop the details of your requirements at the last responsible moment.

Resource: The Art of Agile Development: Release Planning

Posted in Agile, Continuous Delivery, Continuous Improvement, Incremental, Iterative, Planning, Project Management, SDLC | Leave a comment