Posts

One of the core beliefs of Coast Technology is the use of Agile Software Development principles. The term Agile Development came from a meeting with 17 prominent developers in 2001 in Snowbird, Utah. Until this meeting, many Agile concepts were known as Lightweight Software development, which was unfair because these concepts are anything but lightweight. Shortly after the meeting, the group published The Manifesto for Agile Software Development, which defined the twelve principles that comprise the method. Those 12 principles are:

  1. Customer satisfaction by early and continuous delivery of valuable software.
  2. Welcome changing requirements, even in late development.
  3. Deliver working software frequently (weeks rather than months)
  4. Close, daily cooperation between business people and developers
  5. Projects are built around motivated individuals who should be trusted
  6. A face-to-face conversation is the best form of communication (co-location)
  7. Working software is the primary measure of progress
  8. Sustainable development, able to maintain a constant pace
  9. Continuous attention to technical excellence and good design
  10. Simplicity—the art of maximizing the amount of work not done—is essential
  11. Best architectures, requirements, and designs emerge from self-organizing teams
  12. Regularly, the team reflects on how to become more effective and adjusts accordingly

 

Some may say that these principles are just the description of the way all business should be conducted, whether it is software development or not. To that, I would agree wholeheartedly—especially number two, four, five, six, seven, ten, and twelve.

The second principle emphasizes adaptability and change. Too often in business and life, we get stuck on a particular path and are unwilling to make changes. The episode of the comedy The Office where Michael Scott and Dwight Schrute drive off a dock into the water simply because their car GPS said that is the way to go comes to mind here. Michael kept ignoring Dwight’s warnings because if you let the car GPS plan the path, you must follow it no matter what. Change Orders, to use a construction term, are a part of the business. Open minds and clear heads lead to innovative concepts and long-term business relationships.

Cooperation between client and developer is the hallmark of number four. Often, the staff of a project between two companies is at odds when both should work together for mutual benefit. I have heard, “the client is crazy,” many times in my career. Admittedly I have probably said it a few times myself. I’ve often been the point person between the organizations I worked for and the client. A knock on one of my former companies was that the client felt we were elitist and didn’t listen to them, which was strange because our staff felt the clients didn’t listen to us. When my partners and I started Coast Technology, we set out to break this mold. Now I am not saying it is all rainbows and gumdrops. Sometimes we go back and forth like the Hatfields and the McCoys. However, even in the most challenging times, both sides feel like they have a voice, and both sides make a conscious effort to listen to each other.

One of my partner’s favorite sayings is “Character Counts.” I think this applies nicely to the fifth principle. Trustworthiness and motivation are essential parts of character. I am fortunate to have a team of developers lead by Umair Majeed that is the definition of motivated. As an organization, perfection, creation, and doing things others say are impossible drive us more than the project’s financial aspect. Now I’m not saying we don’t like to make money, because we do. But it has always been my experience that if the idea is right, you give excellent service, you are committed to more than the dollars the money works itself out. I bring this up simply because the Principles of Agile Marketing guide one towards people who are motivated to do the right thing more than those who want a money grab.

A significant portion of our development operation is based in Madisonville, Louisiana. It wasn’t until after our company was formed that I began to notice the Cajun Silicon Valley that is developing in the Pelican State. Frankie Russo and 360° Auto, Shawn Burst and DMIO, CenturyLink, IBM are just some innovators that have Louisiana operations. One of the cornerstones of the Louisiana culture is doing business face to face. This concept also coincides with the sixth principle, which stresses Face to Face communication. Even in the age of COVID, we try to meet with our clients face to face when it is safe to do so. When it’s not safe and practical, zoom/meet still takes precedence over email, text, and slack. During development, emotions can run wild on both sides of the client/company equation. I have experienced keyboard bullies in all shapes and sizes in my career. Those same people who hide behind the keyboard are often much easier to deal with in person. What takes three or four email chains can repeatedly be hammered out in a single phone call or web conference. Agile Development seeks to streamline the process, so it is no coincidence that it would emphasize face-to-face communication.

As a kid, I enjoyed watching Popeye with my Pop-Pop. His favorite character was Wimpy, the ever short on cash hamburger loving gentleman. His catchphrase of “I’ll gladly pay you Tuesday for a hamburger today.” leads me into the 7th principle, which sets the bar on measurement. Simply put, a working piece of software should be the measuring stick. Early in my career, I had the case of the “next weeks.” Next week it will do this, or it will do that. Even today, I find myself always looking ahead. But experience has taught me that it is better to emphasize where you are rather than where you are going. If you have a development partner that is always pushing the goal line out and relying on subjective terms to measure progress, then you have a partner who is not Agile. If you can’t see the progress on the phone or screen in real-time, then it hasn’t taken a step forward, and indeed it is nothing to pat yourself on your back about.

Garth Brooks has a hit record in 1984 with Unanswered Prayers. Sitting the song’s spiritual aspect aside, it is a song that measures what didn’t happen in life versus what did occur. In the song, Brooks remembers a feeling of a deep desire for his high school flame. “She was the one that I’d wanted for all times, and each night I’d spend prayin’ that God would make her mine. And if he’d only grant me this wish I wished back then, I’d never ask for anything again.” Under the intense light of brainstorming or in the heat of development, ideas are born that seem so important at the time. However, with a little reflection and a good night’s sleep, what was feeling vital today can sometimes be left on the cutting room floor tomorrow. Agile Development honors the simplicity of what is done versus what got left behind. The 10th principal reminds us that there are power and insight to simplicity and leaving specific ideas on the bench like Garth’s high school girlfriend.  

I have to admit I have a fondness for TV medical dramas. I think it goes back to watching Trapper John MD and St. Elsewhere with my Mammaw. Even today, I make Chicago MD or Grey’s Anatomy a regular part of my week. In those shows, after someone dies, they have an M&M conference. Doctor friends tell me that the M&M is a real thing, although not as dramatic as their TV representations. M&M’s seek to find out what went wrong so that the next time a similar case presents itself, the team can work towards a more favorable outcome. Great development teams are no different. As the 12th principle points out, to be a genuinely Agile organization, you need to reflect on what has gone right and what has gone wrong. Improving your focus through introspection will pay off in reduced errors and faster lead times. Watching the game film of sorts is the most effective way to prepare for the next outcome or the next project.

Earlier I said these principles go well beyond development. The ones highlighted here today and the entire list can be applied easily to multiple verticals and situations. Choosing a development partner is never easy. Focus less on how and more on the why, and you’ll find that the decision becomes a bit clearer. Firms that use the Agile word in describing their approach are more likely to be the firms that you’ll be glad to recommend to your colleagues and friends again and again.