J.D. Meier's Blog

Software Engineering, Project Management, and Effectiveness

June, 2014

  • J.D. Meier's Blog

    Data Science is the Art of Asking Better Questions

    • 3 Comments

    I heard a colleague make a great comment today …

    “Data science is the art of asking better questions.

    It’s not the art of finding a solution … the data keeps evolving.”

  • J.D. Meier's Blog

    The New Competitive Landscape

    • 0 Comments

    "All men can see these tactics whereby I conquer, but what none can see is the strategy out of which victory is evolved." -- Sun Tzu

    If it feels like strategy cycles are shrinking, they are.

    If it feels like competition is even more intense, it is.

    If it feels like you are balancing between competing in the world and collaborating with the world, you are.

    In the book, The Future of Management, Gary Hamel and Bill Breen share a great depiction of this new world of competition and the emerging business landscape.

    Strategy Cycles are Shrinking

    Strategy cycles are shrinking and innovation is the only effective response.

    Via The Future of Management:

    “In a world where strategy life cycles are shrinking, innovation is the only way a company can renew its lease on success.  It's also the only way it can survive in a world of bare-knuckle competition.”

    Fortifications are Collapsing

    What previously kept people out of the game, no longer works.

    Via The Future of Management:

    “In decades past, many companies were insulated from the fierce winds of Schumpeterian competition.  Regulatory barriers, patent protection, distribution monopolies, disempowered customers, proprietary standards, scale advantages, import protection, and capital hurdles were bulwarks that protected industry incumbents from the margin-crushing impact of Darwinian competition.  Today, many of the fortifications are collapsing.”

    Upstarts No Longer Have to Build a Global Infrastructure to Reach a Worldwide Market

    Any startup can reach the world, without having to build their own massive data center to do so.

    Via The Future of Management:

    “Deregulation and trade liberalization are reducing the barriers to entry in industries as diverse as banking, air transport, and telecommunications.  The power of the Web means upstarts no longer have to build a global infrastructure to reach a worldwide market.  This has allowed companies like Google, eBay, and My Space to scale their businesses freakishly fast.” 

    The Disintegration of Large Companies and New Entrants Start Strong

    There are global resource pools of top talent available to startups.

    Via The Future of Management:

    “The disintegration of large companies, via deverticalization and outsourcing has also helped new entrants.  In turning out more and more of their activities to third-party contractors, incumbents have created thousands of 'arms suppliers' that are willing to sell their services to anyone.  By tapping into this global supplier base of designers, brand consultants, and contract manufacturers, new entrants can emerge from the womb nearly full-grown.” 

    Ultra-Low-Cost Competition and Less Ignorant Consumers

    With smarter consumers and ultra-low-cost competition, it’s tough to compete.

    Via The Future of Management:

    “Incumbents must also contend with a growing horde of ultra-low-cost competitors - companies like Huawei, the Chinese telecom equipment maker that pays its engineers a starting salary of just $8,500 per year.  Not all cut-price competition comes from China and India.  Ikea, Zara, Ryanair, and AirAsia are just a few of the companies that have radically reinvented industry cost structures.  Web-empowered customers are also hammering down margins.  Before the Internet, most consumers couldn't be sure whether they were getting the best deal on their home mortgage, credit card debt, or auto laon.  This lack of enlightenment buttressed margins.  But consumers are becoming less ignorant by the day.  One U.K. Web site encourages customers to enter the details of their most-used credit cards, including current balances, and then shows them exactly how much they will save by switching to a card with better payment terms.  In addition, the Internet is zeroing-out transaction costs.  The commissions earned by market makers of all kinds -- dealers, brokers, and agents -- are falling off a cliff, or soon will be.”

    Distribution Monopolies are Under Attack

    You can build your own fan base and reach the world.

    Via The Future of Management:

    “Distribution monopolies -- another source of friction -- are under attack.  Unlike the publishers of newspapers and magazines, bloggers don't need a physical distribution network to reach their readers.  Similarly, new bands don't have to kiss up to record company reps when they can build a fan base via social networking sites like MySpace.”

    Collapsing Entry Barriers and Customer Power Squeeze Margins

    Customers have a lot more choice and power now.

    Via The Future of Management:

    “Collapsing entry barriers, hyper efficient competitors, customer power -- these forces will be squeezing margins for years to come.  In this harsh new world, every company will be faced with a stark choice: either set the fires of innovation ablaze, or be ready to scrape out a mean existence in a world where seabed labor costs are the only difference between making money and going bust.”

    What’s the solution?

    Innovation.

    Innovation is the way to play, and it’s the way to stay in the game.

    Innovation is how you reinvent your success, reimagine a new future, and change what your capable of, to compete more effectively in today’s ever-changing world.

    You Might Also Like

    4 Stages of Market Maturity

    Brand is the Ultimate Differentiator

    High-Leverage Strategies for Innovation

    If You Can Differentiate, You Have a Competitive Monopoly

    Short-Burst Work

  • J.D. Meier's Blog

    Time is The Great Equalizer

    • 0 Comments

    Time really is the great equalizer.

    I was reading an article by Dr. Donald E. Wemore, a time management specialist, and here’s what he had to say:

    "Time is the great equalizer for all of us. We all have 24 hours in a day, 7 days a week, yielding 168 hours per week. Take out 56 hours for sleep (we do spend about a third of our week dead) and we are down to 112 hours to achieve all the results we desire. We cannot save time (ever have any time left over on a Sunday night that you could lop over to the next week?); it can only be spent. And there are only two ways to spend our time: we can spend it wisely, or, not so wisely."

    Well put.

    And what’s his recommendation to manage time better?

    Work smarter, not harder.

    In my experience, that’s the only approach that works.

    If you find yourself struggling too much, there’s a good chance your time management strategies are off.

    Don’t keep throwing time and energy at things if it’s not working.

    Change your approach.

    The fastest thing you can change in any situation is you.

    You Might Also Like

    7 Days of Agile Results: A Time Management Boot Camp for Productivity on Fire

    10 Big Ideas from Getting Results the Agile Way

    Productivity on Fire

  • J.D. Meier's Blog

    How I Explained My Job to My Grandmother

    • 0 Comments

    Well, she wasn’t my grandmother, but you get the idea.

    I was trying to explain to somebody that’s in a very different job, what my job is all about.

    Here’s what I said …

    As far as my day job, I do complex, complicated things. 

    I'm in the business of business transformation

    I help large Enterprises get ahead in the world through technology and innovation.

    I help Enterprises change their capabilities -- their business capabilities, technology capabilities, and people capabilities. 

    It’s all about capabilities.

    This involves figuring out their current state, their desired future state, the gaps between, the ROI of addressing the gaps, and then a Roadmap for making it happen.  

    The interesting thing I've learned though is how much business transformation applies to personal transformation

    It's all about figuring out your unique service and contribution to the world -- your unique value -- and then optimizing your strengths to realize your potential and do what you do best in a way that's valued -- where you can both generate value, as well as capture the value -- and lift the world to a better place.

    Interestingly, she said she got it, it made sense, and it sounds inspiring.

    What a relief.

  • J.D. Meier's Blog

    Introduction to Agile Presentation

    • 3 Comments

    I gave an Introduction to Agile talk recently:

    Introduction to Agile Presentation (Slideshow)

    I kept it focused on three simple things:

    1. What is Agile and the Agile Mindset (the Values and Principles)
    2. A rapid tour of the big 3 (Extreme Programming, Scrum, and Lean)
    3. Build a shared vocabulary and simple mental models so teams could hit the ground running and work more effectively with each other.

    The big take away that I wanted the audience to have was that it’s a journey, but a very powerful one.

    It’s a very healthy way to create an organization that embraces agility, empowers people, and ship stuff that customers care about.

    In fact, the most powerful aspect of going Agile is that you create a learning organization.

    The system and ecosystem you are in can quickly improve if you simply embrace change and focus on learning as a way of driving both continues improvement as well as growing capability.

    So many things get a lot better over time, if they get a little better every day.

    This was actually my first real talk on Agile and Agile development.  I’ve done lots of talks on Getting Results the Agile Way, and lots of other topics from security to performance to application architecture to team development and the Cloud.  But this was the first time a group asked me to share what I learned from Agile development in patterns & practices.

    It was actually fun.

    As part of the talk, I shared some of my favorite take aways and insights from the Agile World.

    I’ll be sure to share some of these insights in future posts.

    For now, if there is one thing to take away, it’s a reminder from David Anderson (Agile Management):

    “Don’t do Agile.  Embrace agility.”

    Way to be.

    I shared my slides on SlideShare at Introduction to Agile Presentation (Slides) to help you learn the language, draw the visuals, and spread the word.

    I’ll try to share more of my slides in the future, now that SlideShare seems to be a bit more robust.

    You Might Also Like

    Don’t Push Agile, Pull It

    Extreme Programing at a Glance (Visual)

    Scrum at a Glance (Visual)

    Waterfall to Agile

    What is Agile?

  • J.D. Meier's Blog

    Simplicity is the Ultimate Enabler

    • 0 Comments

    “Everything should be made as simple as possible, but not simpler.” – Albert Einstein

    Simplicity is among the ultimate of pursuits.  It’s one of your most efficient and effective tools in your toolbox.  I used simplicity as the basis for my personal results system, Agile Results, and it’s served me well for more than a decade.

    And yet, simplicity still isn’t treated as a first-class citizen.

    It’s almost always considered as an afterthought.  And, by then, it’s too little, too late.

    In the book, Simple Architectures for Complex Enterprises (Developer Best Practices), Roger Sessions shares his insights on how simplicity is the ultimate enabler to solving the myriad of problems that complexity creates.

    Complex Problems Do Not Require Complex Solutions

    Simplicity is the only thing that actually works.

    Via Simple Architectures for Complex Enterprises (Developer Best Practices):

    “So yes, the problems are complex.  But complex problems do not ipso facto require complex solutions.  Au contraire!  The basic premise of this book is that simple solutions are the only solutions to complex problems that work.  The complex solutions are simply too complex.”

    Simplicity is the Antidote to Complexity

    It sounds obvious but it’s true.  You can’t solve a problem with the same complexity that got you there in the first place.

    Via Simple Architectures for Complex Enterprises (Developer Best Practices):

    “The antidote to complexity is simplicity.  Replace complexity with simplicity and the battle is three-quarters over.  Of course, replacing complexity with simplicity is not necessarily simple.” 

    Focus on Simplicity as a Core Value

    If you want to achieve simplicity, you first have to explicitly focus on it as a core value.

    Via Simple Architectures for Complex Enterprises (Developer Best Practices):

    “The first thing you need to do to achieve simplicity is focus on simplicity as a core value.  We all discuss the importance of agility, security, performance, and reliability of IT systems as if they are the most important of all requirements.  We need to hold simplicity to as high a standard as we hold these other features.  We need to understand what makes architectures simple with as much critical reasoning as we use to understand what makes architectures secure, fast, or reliable.  In fact, I argue that simplicity is not merely the equal of these other characteristics; it is superior to all of them.  It is, in many ways, the ultimate enabler.”

    A Security Example

    Complex systems work against security.

    Via Simple Architectures for Complex Enterprises (Developer Best Practices):

    “Take security for example.  Simple systems that lack security can be made secure.  Complex systems that appear to be secure usually aren't.  And complex systems that aren't secure are virtually impossible to make either simple or secure.”

    An Agility Example

    Complexity works against agility, and agility is the key to lasting solutions.

    Via Simple Architectures for Complex Enterprises (Developer Best Practices):

    “Consider agility.  Simple systems, with their well-defined and minimal interactions, can be put together in new ways that were never considered when these systems were first created.  Complex systems can never used in an agile wayThey are simply too complex.  And, of course, retrospectively making them simple is almost impossible.”

    Nobody Ever Considers Simplicity as a Critical Feature

    And that’s the problem.

    Via Simple Architectures for Complex Enterprises (Developer Best Practices):

    “Yet, despite the importance of simplicity as a core system requirement, simplicity is almost never considered in architectural planning, development, or reviews.  I recently finished a number of speaking engagements.  I spoke to more than 100 enterprise architects, CIOs, and CTOs spanning many organizations and countries.  In each presentation, I asked if anybody in the audience had ever considered simplicity as a critical architectural feature for any projects on which they had participated. Not one person had. Ever.”

    The Quest for Simplicity is Never Over

    Simplicity is a quest.  And the quest is never over.  Simplicity is a ongoing pursuit and it’s a dynamic one.  It’s not a one time event, and it’s not static.

    Via Simple Architectures for Complex Enterprises (Developer Best Practices):

    “The quest for simplicity is never over.  Even systems that are designed from the beginning with simplicity in mind (rare systems, indeed!) will find themselves under a never-ending attack. A quick tweak for performance here, a quick tweak for interoperability there, and before you know it, a system that was beautifully simple two years ago has deteriorated into a mass of incomprehensibility.”

    Simplicity is your ultimate sword for hacking your way through complexity … in work … in life … in systems … and ecosystems.

    Wield it wisely.

    You Might Also Like

    10 Ways to Make Information More Useful

    Reduce Complexity, Cost, and Time

    Simple Enterprise Strategy

  • J.D. Meier's Blog

    Engineer Your Own Luck

    • 0 Comments

    “Chance favors the prepared mind.” - Louis Pasteur

    Are you feeling lucky?

    If you’re an engineer or a developer, you’ll appreciate the idea that you can design for luck, or stack the deck in your favor.

    How do you do this?

    As Harry Golden said, "The only thing that overcomes hard luck is hard work."

    While I believe in hard work, I also believe in working smarter.

    Luck is the same game.

    It’s a game of skill.

    And, success is a numbers game. 

    You have to stay in long enough to get “lucky” over time.   That means finding a sustainable approach and using a sustainable system.  It means avoiding going all in without testing your assumptions and reducing the risk out of it.   It means taking emotion out of the equation, taking calculated risks, minimizing your exposure, and focusing on skills.

    That’s why Agile methods and Lean approaches can help you outpace your failures.

    Because they are test-driven and focus on continuous learning.

    And because they focus on capacity and capability versus burnout or blowup.

    So if you aren’t feeling the type of luck you’d like to see more of in your life, go back to the basics, and design for it.

    They funny thing about luck is that the less you depend on it, the more of it you get.

    BTW – Agile Results and Getting Results the Agile Way continue to help people “get lucky.”  Recently, I heard a story where a social worker shared Getting Results the Agile Way with two girls living off the streets.  They are off drugs now, have jobs, and are buying homes.   I’m not doing the story justice, but it’s great to hear about people turning their lives around and these kinds of life changing things that a simple system for meaningful results can help achieve.

    It’s not luck. 

    It’s desire, determination, and effective strategies applied in a sustainable way.

    The Agile way.

  • J.D. Meier's Blog

    Extreme Programming (XP) at a Glance (Visual)

    • 0 Comments

    “Each of the practices still has the same weaknesses as before, but what if those weaknesses were now made up for by the strengths of other practices? We might be able to get away with doing things simply." – Kent Beck

    Extreme Programming (XP) has been around a while, but not everybody knows “what it looks like.”

    What does it look like when you step back and take the balcony view and observe the flow of things?

    It might look a bit like this …

    image

    I put this view together to help some folks get an idea of what the “system” sort of looks like.  It didn’t need to be perfect, but they needed at least a baseline idea or skeleton so they could better understand how the various practices fit together.

    The beauty is that once you put a simple picture up on the whiteboard, then you can have real discussions with the team about where things can be improved.  Once again, a picture is worth 1,000 words.

    For reference, here are the 12 Practices of Extreme Programming

    1. Coding Standards
    2. Collective Ownership
    3. Continuous Integration
    4. On-Site Customer
    5. Pair Programming
    6. Planning Game
    7. Refactoring
    8. Short Releases
    9. Simple Design
    10. Sustainable Pace (40 Hour Week)
    11. System Metaphor
    12. Test-Driven Development

    The main idea here is to get simple visuals in your mind that you can easily draw on a whiteboard, and know the names of the various activities and artifacts. 

    If you nail this down, it helps you build a simple vocabulary. 

    This vocabulary will help you get others on board faster, and it will help you expand your own toolbox at a rapid rate, and you’ll soon find yourself composing new methods and creating interesting innovations in your process that will help you do things better, faster, and cheaper … on Cloud time.

    You Might Also Like

    What is Agile?

    4 Circles of XP (Extreme Programming)

    Extreme Programming at a Glance

    Roles on Agile Teams

    Scrum at a Glance (Visual)

    Waterfall to Agile

  • J.D. Meier's Blog

    What is Agile?

    • 0 Comments

    “Becoming limitless involves mental agility; the ability to quickly grasp and incorporate new ideas and concepts with confidence.” -- Lorii Myers

    I was asked to give an Intro to Agile talk to a group in Microsoft, in addition to a talk on Getting Results the Agile Way.

    It worked out well.

    The idea was to do a level set and get everybody on the same page in terms of what Agile is.

    I thought it was a great chance to build a shared vocabulary and establish some shared mental models.   I believe that when people have a shared vocabulary and common mental models, they can take a look from the balcony.  And, it makes it a lot easier to move up the chain and take things further, faster.

    Anyway, here is how I summarized what Agile is:

    • Agile is a framework of values and principles to manage teams and projects.
    • Agile is an alternative approach to traditional project management. It embraces change while traditional project management fights change.
    • People across functional teams work together as one team, rather than different groups working in phases or stages.
    • More human communication, interaction, and face-to-face.
    • Continuous feedback from users and stakeholders.
    • Iterations, shorter development cycles, and more frequent releases.
    • Visibility of progress and transparency of process.

    That said, I need to find something a bit more pithy and precise, yet insightful.

    If I had to put it in a simple sentence, I’d say Agile is empowerment through flexibility.

    One thing I’ve noticed over the years is that some people struggle when they try to go Agile.

    They struggle because they can’t seem to “flip a switch.”  And if they don’t flip the switch, they don’t change their mindset.

    And, if they don’t change their mindset, Agile remains just beyond their grasp.

    Agile is like happiness, grow it right under your feet.

    You Might Also Like

    40 Hour Work Week at Microsoft

    Why Agile

    Waterfall to Agile

  • J.D. Meier's Blog

    Why Agile?

    • 3 Comments

    I thought I had written about “Why Agile” before, but I don’t see anything crisp enough.

    Anyway, here’s my latest rundown on Why Agile?

    1. Increase customer involvement which can build empathy and avoid rework
    2. Learn faster which means you can adapt to change
    3. Improve quality through focus
    4. Reduce risk through shorter feedback loops and customer interaction
    5. Simplify by getting rid of overhead and waste
    6. Reduce cycle time through timeboxing and parallel development
    7. Improve operational awareness through transparency
    8. Drive process improvement through continuous improvement
    9. Empower people through less mechanics and more interaction, continuous learning, and adaptation
    10. Flow more value through more frequent releases and less “big bang”

    Remember that nature favors the flexible and agility is the key to success.

    You Might Also Like

    Agile vs. Waterfall

    Agile Life-Cycle Frame

    Methodologies at a Glance

    Roles on Agile Teams

    The Art of the Agile Retrospective

Page 1 of 1 (10 items)