Want to contact me by voice?
(720) 254-1546

Reply to comment

Agile is Not 'Cowboy' Spelled Backwards - More Drupalcamp Colorado

This presentation was made by co-founder and COO of pingVision, Katherine Lawrence. These are my rapidly typed notes from her remarks. I've also included video from her presentation at the bottom of the post.

Katherine shared the history of pingVision - from its roots as a two person company running from an apartment to the current company that is much larger in a newly occupied downtown Boulder office.

She went on to talk a bit about Agile, Cowboy, and Waterfall, What are the differences? Sometimes it is very difficult to tell the differences between Agile and Cowboy. However, a definition of the word "Agile" includes the idea of adaptable easy grace. A definition of "Cowboy" includes the idea of reckless, aggressive, uncontrolled, and unregulated.

pingVision's project management style evolved as the company grew larger and the projects that the company worked on increased in size. Just as Walt Whitman BECAME the Walt Whitman we know by writing "Leaves of Grass: The Original 1855 Edition (Thrift Edition)", pingVision's style has evolved by engaging in project work.

Sometimes projects get away from you. However we all want to be heroes. Things don't always go as planned. Often the reasons things haven't quite gone according to the roadmap aren't the developer's fault.

At its core, project management is simply work vs time. There are books on how to manage projects - they can help you hone skills and they range from the very traditional to the newest techniques.

So, when you start looking at a new project you need to take into account the size of the project and the size of the team. As pingVision worked through projects and grew, the company changed. As a one person shop you can learn from your mistakes. They don't often spell disaster at that stage in a company's life. As the company gets bigger, the project management techniques change and adapt. Finally the shop will find itself growing into a really large company. We're talking about experience, not theory. How has your experiences helped your company change and grow?

A company should look at what the client needs--not just in terms of skill set, but the needs of the client to work with you. What structure does the client need and what structure does the developer need? For example, pingVision needed to become an LLC to work with one client (it was a requirement) and then a future client indicated that they didn't work with vendors without and office. Organically, the company grew in this fashion. The point is that it is easy to start your own business. You don't need an office. At least not at the beginning.

Velocity is decided with a client - how many hours do they want us to devote per iteration on the project. When the client gives us money - we start moving forward with the client scheduled into the appropriate iteration. The team looks at our sales/scheduling white board to identify capacity. Typically pingVision is looking 90 days out.

In terms of funding your company, always start with what you have in the bank. Sweat equity is where you should begin. You don't want to have investors owning your company.

pingVision has taken a refined approach to client needs. When looking at a project, identify the client's "musts and wants". Are we looking at a "I've GOT to have". or a "Well, it would be nice..." Getting this kind of information out of a client is a challenge.

When we receive a requirements documents we have to just read through it. However, sometimes the client talks through requirements. However, sometimes we have to read minds.

Red Flags include:

  • We're almost done...
  • I want to make a small change.
  • I had trouble with my last developer.
  • Can we build upon what the previous guy done, right?

Despite that, you still need to make an estimate. When you grow larger, you have to go geometrically. You can't just grow in a linear way.

  • Pricing-you want to price in a way that brings the money that you need
  • Estimating-client wants this to be as accurate as possible
  • Markup-clients want to minimize this
  • Net profits-clients want to minimize this

Every project is subject to the Iron Triangle - scope, cost, time. You can have two.

Whether you subscribe to Agile or Cowboy, you still have to make estimates and figure out what to do. They are all guesses. The fact of the matter is that the estimate will always be wrong. Some elements will be over and some other. Do they balance?

Katherine went on to ask, "FIXED BIDS ARE THEY MORAL?" You either are paid for work you didn't do or you do work which you don't get paid for.

Yet we have to move forward. If we don't make the estimate, we won't get the job. So we have to draw a line in the sand.

To estimate in:

  • Waterfall - estimate everything up front
  • Agile - estimate and develop in spurts
  • Cowboy - shoot from the hip

It is essential to track time and money and how far you've gotten.

If we track by milestones, when do you know when we have arrived? When both parties agree we've arrived. This can hold the project up because we have to work incrementally in the order that elements build upon one another. That is why the team size doesn't necessarily overcome work priorities and order. So that begs the quesion, "What is the best team size in estimating and in working?" At some point the number of people gets to a point of diminishing returns.

What does this all mean? Is there a proper project methodology? Bobby Lee didn't lose because Grant worked in a waterfall method. In fact, Grant worked in an agile manner. He had a goal and continued to work it until he was successful.

Patton's law - "A good plan today is better than a perfect plan tomorrow."

Eisenhower "All plans are useless, but planning is indispensable."

I'd like to thank Katherine for an interesting presentation and conversation.

Reply

  • Allowed HTML tags: <a> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd>
  • Lines and paragraphs break automatically.

More information about formatting options