Category: Management

  • What would future in the ‘cloud’ look like

    What would future in the ‘cloud’ look like

    I am always amazed at what computers have done so far. Many of us use, live and interact with a lot of devices, connected peripherals every second of our life. It has undoubtedly led towards a better, more social (perhaps), and a much engaging, but sophisticated ‘digital’ life.

    Whenever I look back over history on how this trend has progressed, the outcomes do seem to follow one particular pattern – progress, fueled by improving our ability to do some things we couldn’t accomplish so readily (and easily, economically) in the past. Things such as online shopping, commerce, ability to communicate, share important moments, bringing resources from one end of the globe to the other end in fraction of seconds. It is definitely a better place to be in today, than it was before. I believe most of us would now find it hard to imagine how could one live without an Internet, or even a mobile phone ever.

    One of the important achievements towards making this possible has been the big names such as Google, Amazon, IBM, Microsoft, HP etc pushing the limits of what software, hardware together can do to achieve a more connected, a more ‘alive’ digital world to come true. One of the most important topics of this decade (I would say) has been the advent of Cloud Computing.

    Cloud Computing, in a nutshell, is the ability to use computing resources – such as CPU, memory, storage – over the Internet. While the debate over whether Cloud Computing is just another market buzz is pointless in my opinion, it does has brought a few important questions to my mind as I think about what kind of future this progress can promise.

    Take a look at a mind-map I made recently when researching one of the most popular clouds offered – Amazon Web Services.

    Amazon Web Services 2014 Mind-Map

    The beauty of AWS (Amazon Web Services, for short) is how they’ve accomplished a feat with a clear mindset of making computing truly available as a utility. Of course, many in the corporate world would argue that such types of computing facilities already existed in virtualization world, and that is very true. Corporate worlds often had these needs to be able to spin out new machines, networks inexpensive yet keep economies of scale when you have to throw away any unused inventory that you no longer need. With a physical computer, it is hard to just get the right mix of specs to satisfy, but with a virtual one, things become slightly more manageable.

    One of the key strengths of the AWS, and perhaps the topic in question that I have in mind is, the ‘promise’ of utility computing, pay-as-you-go computing, ‘rent’ over ‘own’ type of computing.

    Historically, when computers were the size of a room, and mere mortals couldn’t afford (or even consider) to have one, IBM owned and dominated an industry of computing power available to corporations interested on a ‘rent’al basis. The premise was for IBM to offer computers to big companies, universities and let them use these under a pay-as-you-go sort of agreement. The idea was to be able to bill customers mainly on CPU time, but this soon expanded into an industry where it was a full-time job for one to understand, and perform accounting on CPU utilization, storage used, and even control the unwanted cost so that rented costs could be managed. I consider that this model had its run, and in some cases, is still prevalent in corporate worlds which use rental printers, infrastructure as a service, or some might say, even software as a service. This kind of model did have some benefits, mainly in terms of being able to not worry about maintenance of such complicated machinery, even not worry about servicing, maintenance since all of that could be bundled by IBM as a ‘service’.

    So, in a nutshell the benefits of using IBM’s model were

    1. You pay for only using what you used, nothing else. For a small cost, we take care of any hardware maintenance, patching, upgrades for you.
    2. No upfront costs, nor any costs down the line. We can offer, augment, decrease our rented resources to balance your needs
    3. Your environment, your assets. We give you the best computing resources to get things done cheaper, and faster.

    Of course, it may have been done differently for different sizes, different customers, different geographies, but I believe that was the promise expressed to alot of corporate consumers who started switching to personal computers, workstations before then. Of course, everybody wanted one computer of their own, and many still do.

    Now, when I look at AWS, I kind of feel many points are reminiscent of the time when powerful computing, networking, increased storage was not cheaply available for many of us to use. Networked computing, cost of managing servers, databases is hard, and not just that, it is ‘expensive’ too once you own it. Given the vast power offered by Amazon to anyone at their fingertips, many young entrepreneurs can surely do wonders. But if you consider for a moment about what goes with becoming together as a part of this ecosystem, you do have to question yourself – if you do wish to ‘pull-out’ at some point, would it be possible for you to do? The simple answer could be yes, but as with many things in life, an investment into something, even if it is a cloud, is not so easy (or practical) to undo.

    I predict that as with many trends within digital world, cloud computing will bring about a division within the digital world with big corporations driving market share towards cloud, yet still keeping their heads occupied towards new management issues resulting of out ‘wasted’ cloud usage. Similar to electricity savings during summers, there will be CoolBiz days where people are encouraged to optimize their ‘spend’ on utility computing. New jobs requiring cloud administration, monitoring, usage accounting on cloud will spring up. We’ll decide how advanced is a country by looking at its consumption charts on daily computing used compared to rest of the world. Most probably, utility computing might even become a government-owned service offered to anyone who would contract, and pay for its utilization.

    It’s not too often I compare the scales of performance that everyone sees of Amazon, Facebook, Google compared with their own, and be somewhat mentally assured about the fact that if you’re on the cloud, you can have all of that anytime. What many of us do fail to acknowledge is that when you’re the size of Google, Amazon or Facebook, you’ll have enough incentive to use a cloud, or even with the right team, have a mix of your own together with public clouds together. Whether we do have the incentive today or even now is definitely not an easy question. But a ‘lock-in’ into any kind of technology, be in PCs, cloud is always going to have implications on future for rest of us.

    As the digital world continues to become an increasingly complex world of its own, giants like Google, Amazon who are best are what they do will continue to fuel it. Whether one sees this as an opportunity, a trap, an evolution in networked digital computing is best left to people. But from an altogether different perspective, I believe one must see beyond the promise painted today into what it can become tomorrow.

    My advice – definitely exploit the cloud computing but in moderation. You’ll only want to live in a shared/rented apartment, no matter how good, for so long until you can finally own one of yours.

    I think most of us eventually do own one.

  • Which works best – centralization, or decentralization

    Only the Paranoid Survive by ex-Intel CEO Andy Grove was a wonderful introduction to me about the importance of keeping your organization’s opportunities in check with ever-changing market needs. It did give an importance to diversifying centralization towards specialized decentralization – vertical industries against horizontal industries.

    Somehow at that time, which was almost 6 yrs ago, it seemed correct and proven with horizontal names such as Microsoft, Dell, Intel, other OEMs. In fact, I learnt most of my PC maintenance knowledge getting to put these together, and it still works great. The brilliance of plug-n-play type of PC industry really meant a lot of collective good coming together as one for benefit of the customers. And it still rules.

    On the other hand, Apple. For a long time, I kept resisting Apple. I was happy with my world as being able to choose from different options (was I really?) over being bundled together into one by Apple. Somewhere, I switched to iPhone, and my views expanded. I unconsciously started to measure ‘good’ in it’s entirety.  Not just the idea of ‘monopoly’, but the actual real-world example of that, the influence it showed to an industry I knew was the best, and perfect was dramatically changed.

    Now, in my own words, Apple is different to what Microsoft is. By that I literally mean their idea of ‘selling’ themselves. Microsoft enabled PCs, enabled OEMs, enabled plug-n-play but left out one very vital thing – their administrative burden was given to the people. Suddenly we had device drivers, certified programs, expertise sprung around specialization. I had to ask myself – were we really decentralized? You basically have to know your PC before getting to use it. I was a technician, and a user both at the same time. Essentially, I had to make things work by taking what is offered by horizontal industries, and hope to not touch it again (windows upgrade?).

    With Apple, I was no longer a technician. Hell, I tried to find Task Manager the first time I handled my iPhone. Slowly with each day I start to ‘use’ my iPhone without bothering that I’d have to take it apart. I was a pure consumer. And that was not just hardware, it was software too. In the back of my mind, I am happy that things funnel through Apple. I am tempted to go beyond, and take things in my hand, but I resist. I remind myself of where I should focus, and what is important.

    So in a sense, I prefer the horizontals, but funneled through verticals. In many ways I find that Apple shows responsibility for whatever it offers. It will use horizontals – vendors, makers, app developers – behind its strong fort, but what comes out is from Apple as a single contact with me. It makes me wonder if horizontals did really catch the drift correctly? In many ways, many still want to reach out directly to the customer in trying to push customers into the driver’s seat. Customer’s however seem to be comfortable either way … (alas)

    I favor responsibility going beyond just my product. I believe Apple (through Steve Jobs) realized that goal, leaving it to continue as a better way of doing good to the world at large.

    In some sense I trust the paranoia hinted by Andy Grove, but I believe too in enduring excellence. I endeavor to achieve that as a responsible entrepreneur someday.

  • Entrepreneurs bandwagon spirit

    Entrepreneurs bandwagon spirit

    My latest entrepreneurial endeavors about creating new products has been rewarding. There is so much to learn, understand and explore to find an idea, worth all the effort and so much important to me. I personally experienced a constant surge of determination when trying to make products such as Docs9 and 5w1h. Under a healthy blanket of tension, there is something wonderful of having accomplished these. I have realized strongly that something, anything if it means important to you is always worth pursuing for.

    I learnt alot. Most important, I am learning about how to keep the main thing the main thing. I find it so easy to get lost in details when you are on top of creating a product. The good news is that all of this is do-able. Even at a small pace, even in tiny amounts the focus on main thing is important. The focus, as I call it, is the sole reason for all of your efforts. It could be a purpose, a reason, a burning desire, or simply put – an unconscious drive you feel, but cannot quite articulate. Whatever your definition, keeping your focus in sight immensely helps supporting your motivation and determination in your pursuit to achieve what you are set for.

    For example, I love technology. What more can be done with technology, is more interesting for me. My focus, as I believe now, is to make something out of technology, whatever that is. I set out to create my first product Docs9 – https://www.docs9.com/, and then the next one 5w1h – https://www.5w1h.co/ both with the same burning desire to make something useful out of technology. When I say ‘something’, I want to explain that it should be useful in some sense to others. The benefit that it would give to someone using it, or what someone can achieve by using it. In the world of technology, the benefits could be time-saving, entertainment, or financial.

    When I set out with Docs9, my whole focus was providing a simple, easy to use presentation platform. I wanted to have a platform that gives sharing a presentation the sole precedence. Nothing else. I resisted hard to provide (and inadvertently) repeat the temptation to provide editing, provide attachments and what other features I could simply cram into making another product that already exists in market. This hasn’t been easy, especially when introducing my product to someone. It usually enters into an implicit comparison with a similar product they already heard about. It becomes a sort of mental barrier for them to see through that frame of mind into my product and understand my motive behind the idea of collaboration through dialogue. Perhaps I could be exaggerating my bit, but I often get the impression that most of us think what we want isn’t really what we actually want. Most of what we want is a like watching through a stained glass and believing that what you see is true.

    On the positive side, there have been growing number of signups on Docs9, which is a great motivational boost for a young entrepreneur like myself, to believe that out there are users who see the side of collaboration. It feels great to be able to offer something of benefit to those, and keep persevering not just for sake of gratification but also for a sense of worth you believe you can do. This is my definition, not certainly what I want to borrow from what is generalized opinion of accomplishment. Put in other words, this is accomplishment as I see fit, and it makes my determination stronger. The (whole) point is that if you set to believe what you can achieve, then the best way is to find out is yourself. Right or wrong, success or failure comes after, not before you’ve tried what you really wanted to do.

    5w1h has been a different game altogether. I set out to do it not for any particular benefit at all. I just wanted to do it for myself. I just felt that I had to do it. I started with a simple one to one chat, then did this, then did that, then again did this, then again did that. At some point I was confused. At some point I felt to just leave it. But something was nagging, some dissatisfaction kept me pushing to do it, finish it, complete it. That is exactly what I did. One thing I have learnt while on Docs9 is to be able to trust your own self. Inspite of anything that would try to get in the way, I kept my focus on one simple thing – I want to do it. Whether it makes sense now (or ever), I believe that towards the end 5w1h has come up nicely together.

    I was happy to be able to get 5w1h out, satisfied of my work. Like an artist admires his art, I admire my work and feel happy about it. Same is the way I admire Docs9. I feel great about making Docs9, and judging by the steady signups, I believe that others feel the same way too.

    I jumped the entrepreneurship bandwagon with pure entrepreneurial spirit. I do not know where the journey will end, but I know where to start.

    No matter what, I will continue. No matter how, I will persevere. I think therefore I am.

  • Not busy

    These days I think alot about my startup. Whenever I meet out new people for lunch, or I talk to friends my thoughts seem to be gravitating towards – “What could I use this person for?”

    Somehow I have elected to follow my instinct exclusively. To some, this might sound the hard way. For some reason, it feels right. At times, I wonder if I could simply read an entrepreneurship book, and get some frame of mind to link my thoughts. What is important? What is priority? What is experience? I have kept pondering on these for quite a while.

    I must admit it is liberating. There is some thrill into thinking like an entrepreneur. Perhaps, a recent email from GoDaddy CEO Blake Irving aptly describes what I feel now –

    “One of the clearest lessons we’ve learned is that the one word to describe you best is ‘courageous.’ You go after what you really love, you chart your own course, and you create something (often from nothing) that usually makes the world a better place. Whether it’s a neighborhood pizza shop, an organization to help those in need, or a company poised to launch a new industry, you believe where others don’t. You have the guts to strike out on your own to make your dreams — however bold or humble — a reality. That’s courage, and it’s worth every ounce of support we can give.”

  • Underestimating software

    My wife shared an interesting thought this morning over breakfast. – Theory is when you know everything but nothing works. Practice is when everything works but no one knows why. If theory and practice are combined, nothing works and nobody knows why.

    Over countless experiences, shared by many people, big or small, IT is still an art. What’s more, it is still an art far from perfection. IT, in particular software done in large organizations, has this syndrome. Many good things get done, yet large IT projects “always” fail. I’ve yet to come across a successful project. There are many good projects, Apache Software, Google and like, but in as much I think about it, these haven’t grown successful overnight. Part of the impression of success is adoption, and proportion of people who are affected, in other words, who depend on using it.

    I may not be touching on something yet unknown here, but just how many methodologies, principles, guidelines, theories, languages are out there? And of those, how many have got you really convinced to solve your IT problem guaranteed? Is it MSF, or TOGAF, or ITIL? Is it AGILE or LEAN or TQM? Is it proprietary or open source? Is it platforms, or home-grown? Is it C# or X-Code? Is it OOP or Procedural Programming? Is it Russians, or Indians? Is it lack of documentation, or is it lack of requirements articulation?

    Let’s consider for a moment the ideal state – person A has a problem. Person B offers and gives person A a tool to solve the problem. Person A is happy. Problem solved. Person B too is happy. Imagine this for a moment with a simple need; let’s say lunch in a restaurant. You’re hungry, you go to a restaurant, order, eat, feel satisfied, and offer compliments. Your need is solved; both you and the restaurant are happy.

    Is preparing food a new thing? Is your way of ordering different? Did you have to think much over this, except perhaps decide on what you want to eat? Or buying clothes? Okay, maybe one can go far with this, and say there is always customization – order made dishes, or order made suits, or order made software.

    Why is building useful software fast so difficult in our organization today? Will we ever get something done quicker? I may be completely wrong, but problem is not in the way we are doing things, it’s the approach with which we are planning to do our next steps. And this is not as easy as saying follow MSF, or TOGAF ADM, or ITIL “IT as a service” ideas. More than often, these are confusing to begin with, get understood differently, pushed unnecessarily, and carried over as a burden to the next guy heedlessly.

    Today more and more of us are working for software, instead of the other way round. Not to say, the practice is when everything works but nobody knows why seems to come more frequently than I had anticipated. Ever changing need to change something, time-pressures, individual ambitions all seem to have a coherent effect on just making things further complex, not simpler. And when things go to that stage, it’s a point of no return, people continue that as if it was a household chore cleaning dishes – you don’t get any fun, or see anything of value in it. Soon it becomes a “that’s the way we do things around here” common-sense and everyone gets by this, leaving a yet subtle roadblock to overcome before we begin thinking about other problems. Not to mention the problem further aggravates by pure Know Nothing Know it All theorists.

    Okay, where am I going with this? I admit it’s all over the place without making a concrete point.

    Still pondering if an old Chinese proverb “He who solves a problem with a problem will always have a problem in waiting” is what’s going on today?

    Without sounding too pessimistic or competent (out of my mind), maybe I’ll give this thought a try again soon …

    I sometimes get puzzled about requirements. If we could look into the future, and predict what would we need at a level of crystal clear clarity. then perhaps it would be a no-brainer to make a system out of it.

    Take another approach, how do I extrapolate (aka. read between the lines) when something is told as a requirement. This is different from offerring a menu of choices, and asking to pick one. Instead the other way round.

    Systems made by the same person who articulates his own needs are alot easier, simply because you are adaptive to both changes to your own perception of what you might need as it goes on changing when you see some degree of finished system.

    If a person is ‘cornered’ into a witness box with technical guys challenging with different questions, each of the question feels random. These are not on the same wavelength, or if they are someone is making some wild assumptions about what is understood. How does one get two people thinking on the same plane of thought? How can this new level of information be captured right at that moment, yet not set to stone to make un-needed commitments? Why have all methodologies, tools, approaches not succeeded so far? Why is there no ‘right’ answer?

    By ‘right’ answer, I allude to becoming ‘one’ with the purpose, the intent of the author. There are no more questions at this state, no doubts about the goal, no disagreements on outcome.

    Has software taken too much influence of traditional assembly line, one step follows the other, typical & traditional silo process? How do we foster ‘creativity’ without a process? Part of getting better over our past ways of doing things is to also improve upon the way we did things. But the fundamental approach hasn’t changed at all. We still ‘see’ IT development process in it’s strictest sense of – planning, designing, developing, testing. Some of that makes sense, but altogether sometimes it makes no sense, especially when software in itself has made signifcant strides to make or break something too fast, too easy. We have create too much ‘fat’ over the actual process of ‘making’ something under the pretext of entire governing organizations, support, organizational layers, vendors and so many other non-essential things.

    So what do I mean by all this? Do I mean we don’t need project management? Do I mean one can just start building things, and let the plan evolve as the things get built? Do I say governance is counter productive to it’s purpose?

    Before I can answer that, to me it appears that something simple as a software program has been now so deep biased with tradtional laws of doing things ‘right’, that no longer does one try to break out of the ordinary. Throw in whatever new idea (software, technology, automobiles, …) in the world, the moment it is commercialized, businesses spawned, living made, it’s already become a big wall of people to get through ‘before’ an actual user, and the software can actually talk to each other.

    People tend to always favor ‘gray’ zones. Something that is not yet known, needs improvement. In somewhat same way, what I am trying to discover through this thread is same thing. I am discontent with how software is treated, how much non-essential information, structure is built around it, and just how much waste of time it’s become ‘customary’ under name of meetings, updates, releases, bugs, analysis without hardly anyone being able to break a drop of sweat.

    The best way is to ‘play’ the game for time being … but I sense something fundamentally needs to change in this game eventually.

    A plausible summary that agrees with one argument I have. Borrowed from http://codebetter.com/gregyoung/2013/03/06/startups-and-tdd/

    I wanted to write a few comments about TDD in startups. Good code is the least of the risks in a startup. Sorry but worrying about technical debt making us go slower when we have a two month runway and likely will pivot four times to quote Bob.
    Captain Sulu when the Klingon power moon of Praxis exploded and a young Lieutenant asked whether they should notify Star-Fleet: “Are you kidding?” ARE YOU KIDDING?
    One of the biggest mistakes in my career was building something appropriate…

    It was just after Hurricane Katrina. I was living in a hotel. An acquaintance asked me if we could hack together this business idea they had for a trading system. He had the knowledge but not the know how. I said sure, hell I was living in a hotel!

    In less than two weeks we had an algorithmic trading system. It was a monstrosity of a source base. It was literally a winforms app connected directly to the stock market. UI interactions happened off events directly from the feed! Everything was in code behinds (including the algos!) Due to the nature of the protocol if anything failed during the day and crashed the app (say bad parsing of a string?) the day for the trader was over as they could not restart.

    But after two weeks we put it in front of a trader who started using it. We made about 70-80k$ the first month. We had blundered into the pit of success. A few months later I moved up with the company. We decided that we were going to “do things right”. While keeping the original version running and limping along as stable as we could keep it while adding just a few features.

    We ended up with a redundant multi-user architecture nine months or so later, it was really quite a beautiful system. If a client/server crashed, no big deal just sign it back on, multiple clients? no problem. We moved from a third party provider to a direct exchange link (faster and more information!). We had > 95% code coverage on our core stuff, integration suites including a fake stock exchange that actually sent packets over UDP so we could force various problems with retry reconnects etc/errors. We were very stable and had a proper clean architecture.

    In fact you could say that we were dealing with what Bob describes in:
    As time passes your estimates will grow. You’ll find it harder and harder to add new features. You will find more and more bugs accumulating. You’ll start to parse the bugs into critical and acceptable (as if any bug is acceptable!) You’ll create modules that are so fragile you won’t trust yourself, or anyone else, to modify them; so you’ll work around them. You’ll build a festering pile of code that, with every passing week, requires more and more effort just to keep running. Forward progress will slow and falter. It may even reverse as each release becomes buggier and buggier, and less and less stable. Catastrophes will become more and more common as errors, that should never have happened, create corruptions and damage that take huge traunches of time to repair.
    We had built a production prototype and were suffering all the pain described by Bob. We were paying down our debt in an “intelligent” way much the way many companies that start with production prototypes do.

    However this is still a naive viewpoint. What really mattered was that after our nine months of beautiful architecture and coding work we were making approximately 10k/month more than what our stupid production prototype made for all of its shortcomings.

    We would have been better off making 30 new production prototypes of different strategies and “throwing shit at the wall” to see what worked than spending any time beyond a bit of stabilization of the first. How many new business opportunities would we have found?

    There are some lessons here.
    1) If we had started with a nine month project it never would have been done
    2) A Production Prototype is common as a Minimum Viable Product. Yes testing, engineering, or properly architecting will likely slow you down on a production prototype.
    3) Even if you succeed you are often better to stabilize your Production Prototype than to “build it right”. Be very careful about taking the “build it right” point of view.
    4) Context is important!

    Never underestimate the value of working software.

  • Situational Leadership and Coaching

    Situational Leadership defines four learning mechanisms.

    Direction: where a learner is given tasks and direction
    Coaching: where the learner is doing the task
    Supporting: where the learner is doing the task but lacks confidence
    Delegating: where the learner is no longer a learner but is actually doing the task


    Situational Leadership and Coaching | Greg Young.

    Nice read!

  • TOYOTA: Speech by Akio Toyoda – president of Toyota Motor Corporation

    “Contributing to society” at Toyota means two things.  First, it means, “to manufacture automobiles that meet the needs of society and enrich people’s lives.”  And second, “to take root in the communities we serve by creating jobs, earning profits and paying taxes, thereby enriching the local economies where we operate.”

    TOYOTA: Company > Company Profile > Message from Top Management.

  • Management Pros Share Their Secrets

    Remember way back when – when you got your first management job. What do you wish someone had told you then? What would be the one tip you would give to a manager just starting out?

    Management Pros Share Their Secrets.