Sunday, November 29, 2009

An Easy-To-Follow, Scalable, Agile Process for Anything


In this article, I outline a quick and easy-to-follow process for getting lots of things done (the agile way).  I think you'll find it useful and informative.  It doesn't matter if you're scheduling improvements to your home, hometown, or business, you can follow this process on any and get results. 
  1. Note the request(s) (high level) in the backlog…you don’t have to understand what it is fully…just the gist of what’s being requested.  Make sure you include who its from and anything else.  Make sure it's fluid, too, and always be willing to go all of the way to the end of the process if the rules allow.  Don't let yourself or the process be the bottleneck!
  2. Backlog and prioritize this work.  Figure out where the request should sit in the queue.  Use a method like FIFO or LIFO as a reference.  You could also create a "value index" to score the cost/benefit of the request.  Sometimes you may choose to do ANYTHING you can just to demonstrate value and show the customer that you are doing SOMETHING toward their objectives.
  3. Define the request in concrete terms including the problem, required output and success criteria.  This may also include the specific implementation method and input required to get the job done.  Be clear what the customer needs and make sure there's a clear agreement and understanding of output at this time.
  4. Optionally train the person(s) performing the work—even if it’s yourself—how to do the tasks necessary.  Remember the goals and make sure there is no "loss" in the communication process. 
  5. Assign the work and start executing.
  6. When the work is reported to be completed to spec by the person, verify.  Repeat this step until you accept the quality. Note: you could see all changes you make here as backlog items as well, so beware of "churn" and be fair to the people and process (team!).
  7. You may queue or hold the result at this time as to efficiently deliver a collection of things to your customers or you may deliver it as well.  Queuing your results will promote longer, larger cycle times but could be more efficient for your business.  Delivering now will shorten the cycle and create for much higher customer interaction, which can be good, especially for very small teams (even teams of one).
  8. Deliver the result to the end customer.  This is a similar verification (validation?) process but is facilitated by you, the process owner; that way expectations and feedback can be set and the overall process and deliver method improved.
I hope you found this process for getting things done useful and are able to apply it to things in your life.  Please offer any feedback or questions to me through the blog or to eric.veal@efficitrends.com.  Thanks!

Be Versatile or Be Gone


One of the keys to being a high-functioning technology consultant is to be versatile in your role.  You have to be able to do a lot of things well to make the client happy.  Common roles you (should) have to play well are Analyst, Builder, and Project Manager.  Here’s a quick description of each:

Analyst - Understand and define the problem using your skills of interviewing, math, statistics, process flow, data and information analysis.
Builder - put the necessary pieces together to create the solution.
Project manager – Integrate and communicate what’s necessary about the related parts of the project such that the involved parties understand what’s going on and continue to want what's being produced.  

In total, you have to be willing to do whichever job is necessary to get the job done and make the customer happy.  This requires experience, risk-taking, research, and networking.

Saturday, November 28, 2009

6 Ways I'll Make a Better Professional Blog


I recently wrote a blog post (here) that I shared with several people.  Some liked it and were "with me" yet others wrote somewhat lengthy feedback about how I needed to improve my delivery method.  They were commenting more on my style more than the content.  So I guess I'll focus on style for the moment. 

Here's what I'm going to do about it.  I hope you'll take what I'm  learning and apply it to your own experiences writing, blogging, and career management. 

Thanks to Don L. and John S. for their feedback and insight.

How I'll Offer More Quality Content to My Audience:

  1. I'll get to know my audience better and understand their needs and desires in order to offer more relevant information and conversation about the topics that interest me most. 
  2. I'll be more clear about my point and ramble less.  I'll try to capture the audience's attention ASAP, get to the point and get out the information that I'm trying to convey as compactly and rapidly as possible.  Maybe I'll use more graphics (see this post).
  3. I'll be more precise and specific and cite references more. I'll read more as an input.
  4. I'll have a call to action if possible, directing my audience to next steps, further reading, engagement, etc.
  5. I'll build a community and drum up input from them on my delivery and content (effectiveness).  
  6. I'll tell more people how to sign up for my blog and think of other methods of reaching my audience (podcast, email, speaking engagements, etc.)
My overall goal online here and professionally is to create a dialog and debate with my audience about topics that matter a great deal to me.  I'm trying to learn and help my audience as much as I can with insight that matters to them.  I'm seeking insight from them on the topics that matter most to me and also looking for feedback on delivering the best way possible.  Thanks for your patience and participation in this process.

Thursday, November 26, 2009

8 Ways to Be Agile with All Customers and Grow Your Business



  1. Say yes to all work being requested, regardless of your ability to deliver on it now
  2. Seek to define all work completely with success criteria, method, etc. and add it to your backlog
  3. Make your backlog/pipeline visible and available to your customers
  4. Make it clear to your customers what you're working on now and next
  5. Have your customers prioritize your backlog and "fight" amongst each other (you should probably facilitate this so you're not purely randomized) for your time, driving up demand
  6. Work on and complete the well-defined problems and learn from the experiences.  Feed lessons learned and changes back into the backlog.
  7. Make customer after customer happy and make sure the the prioritization method is fair and best for your business and total customer satisfaction.
  8. Try to delegate as much work as you can to your team but make sure that the process documents all work, regardless of who does it.  
    Your value is how much you are getting done in total, though your system.  This means that you should be developing more business, working less, defining more.  You should focus on the demand AND supply side and grow this business.

    Monday, November 23, 2009

    Refusing to Use the Tie-Breaker Role

    My friend Bruce today told me about a book called The Seven-Day Weekend: Changing the Way Work Works http://www.amazon.com/Seven-Day-Weekend-Changing-Work-Works/dp/1591840260 and brought up an interesting point about systems that are "open" but also have a "tie-breaker" role (manager or authoritarian).  In the system that Bruce described in the book, although this role existed, the manager never used his power as tie-breaker and would always put it back onto the group.  I thought that was interesting.

    The Ideal Dev Process Parts

    What parts do you think must be included in the ideal, high-scale web and software development process today?  (As judged by such factors as most Secure, Scalable, Stable, Collaborative, Clear, Easy to Use, Powerful, etc.)

    I'd say it needs to have:
    • For a web site / CMS:
      • .NET Nuke, Ning, or WordPress
      • .NET 4.0
    • For code:
      • TDD, unit testing
      • Asp.net MVC 2.0
      • Subversion, TFS, or CodePlex for code sharing
      • OnTime for backlog, requirements, bug tracking, and communication
      • SeleniumRC for test automation
      • Team City
    • For a team:
      • A Digital Whiteboard

    Thursday, November 19, 2009

    Forming a Consulting Group (that is World-Changing, Profitable, Enjoyable, Sustainable, Continuously-Improving, etc.)


    The world is full today with people in business who are doing good things and making compelling change to our organizations.  These people are not generally organized as a collective.  It's likely the goal for many of these individuals to find other like-minded people and establish "guilds" around their particular part of the technology and change delivery puzzle, be it sales, product definition, development, delivery, or support.  In total, our system today requires many quality professionals to deliver the services that it has; and the quality of these services and their density is highly variable and in some cases poor, some cases excellent.  The goal is to make high-quality products that the world needs and for which the market will be willing to pay.  "It takes a village" but this village that we will need for this change is smart, involved, well-organized, and planned.  This is not a government, it is an uprising.

    What are the attributes of this village we require to bring about the quality products and services of tomorrow?  From where does this village come?  The crowd, I say!  From our networks; current and future.  In my opinion, it is possible to find and support--with the appropriate tools, incentives, practices, and resources--people willing to capably contribute to our current firms and to the firms that we need to bring about.  The goal for the support organization and consulting group would be to offer the training, staffing, and project/program/product services necessary to allow the resources we have today to turn out the products we need tomorrow as fast and at as high of a quality and leading to the greatest economic value possible. The technologies we have today are mature enough to support and sustain such a group.

    Today's organizations are either A) antiquated B) outdated C) unprepared or D) non-existing.  Let's fix this!


    Critical Components of the Consulting Organization (EfficiTrends):
    • Sales & Marketing -- responsibilities are to build the network, filter associates/partners/relationships, educate and train our stakeholders and members.
    • Operations & Delivery -- responsible for getting the job done as it's defined and communicating to others when things aren't going according to plan.
    • Product Definition and Contracting -- responsible for strategic planning, fine-grained management of relationships, project/program/product management, and contracting.
    • Product Support and Operations, Sustainability -- responsible for the ongoing "care and feeding" of completed products and services as well as the definition of new, more streamlined ways of providing those products and services at a lower cost.
    Critical Inputs to the Process:
    • People in jobs
      • Make the most out of the person's role and support them with a great staff and "back office"
      • Provide personal marketing, coaching, and resume services about what they're doing, how to market their strengths, develop their weaknesses, and work toward demonstrable results and efficient engagement
      • On-site staff augmentation and support services to fill gaps within client team.
      • Project and program management definition and sales -- how to "stealthily" grow the scope of the consulting group's influence at the client.
      • Replacement services when the individual isn't the best fit
      • "Graceful exit" services when the client or engagement should not be the focus of the consulting organization
    • Leads, hiring managers, entrepreneurs
      • Assist in the definition of programs and offerings
      • Put consultants and partners in place
      • Seek to define measurable results and a consistent, visible practice, and knowledge base
      • Partner via Master Service Agreement (MSA), Joint Venture (JV), etc.

    Saturday, November 07, 2009

    My Personal and Company's Mission Statement


    "To provide the best ways for people to create the most productive communities and networks about their most critical interests using the most current communications technologies."

    That's it.  Any thoughts?

    Eric

    Friday, November 06, 2009

    Developing the Right Metrics Matters the Most


    There are several ways a person could view an organization:
    • As a collection of business processes (activities) that the business has to perform to meet its strategic objectives
    • As a collection of IT applications that support the processes
    • As a collection of people and suppliers who provide the resources necessary to achieve the organizational objectives
    • As a collection of metrics or measures that describe the performance of the organization
    Although each of these perspectives is equally real, only one is RIGHT in my opinion. Which one? METRICS, I say. Unless we boil our organizations into numbers and shared things that people can understand -- not complex and changing things like systems, processes, tools, and people -- can we really manage our organization as a program. I'm not making an argument for ACCOUNTING, per se, I'm talking about those facts and figures that tell us whether or not our business is being successful at achieving its objectives.

    Therefore, it's my contention that a key part of the strategic planning and communications processes is to define and communicate about the key performance indicators (KPIs) of your business. KPIs are a bit of a cliche term but they're critical. The fundamental question we have to agree upon is, "How will we know that we are doing well?".

    The more we develop this language of numbers and measurement, the more clear we will be together on our perception of what matters and how to allocate our resources and attention.