Arduino Ultrasonic Sensor

March 15, 2014

In addition to Agile Coaching, I enjoy projects that require building skills. While working with a new Arduino Ultrasonic Sensor from RadioShack, I came across a question on the “Find your way with the untrasonic sensor” page. Below is a photo showing how the I chose to hook up the wires. Hopefully it helps others…

Arduino Ultrasonic Sensor

Arduino Ultrasonic Sensor

The yellow wire is connected to Digital Pin 7, the blue wire to the 5V pin, and the orange wire to GND.

When connected this way, the Serial Monitor for Arduino showed expected output (a distance to an object). When I disconnected the yellow wire, or had it in another slot, the Serial Monitor would show “0″ for the distance.

Take a Trip to the Principles Office

February 21, 2014

Take a Trip to the Principles OfficeUnderstanding, and embracing, the agile principles is fundamental to becoming Agile. That is why I chose to present my session “take a trip to the principles office” at the Agile and Beyond conference in Dearborn, Michigan. I want to encourage people to consider the principles as they encounter novel situations and work to determine their best path forward.

The presentation Take a Trip to the Principles Office is available for download as a PDF.

The Take a Trip to the Principles Office worksheet is available for download as a PDF.

If you are interested in the journey lines activity, you can find that on the Coaching Agile Teams site.

The Challenge of Getting Components Working Together

December 4, 2013

Will the components work together?If you take a large, complex process, break it into components, give separate components to different software team, and then recognize teams for their completion of individual components, you run a risk that when you stick all the pieces together that it won’t work. So, if you are in a component-centric delivery teams, what can you do to help have the best chance of producing a working solution for your users? I’d like to share three tips for giving your team the best chance to build a working solution.

First, make sure that folks are vigilant for the functionality of the whole system. You might opt to have a separate team be the watchdogs for the system, but ideally it is everybody on the individual teams, too. Building a complete system requires a mindset for thinking about the whole, even when working on just a part of it. Without a mindset for the whole, it will be impossible to do anything to retrofit the quality into the work product.

Second, once folks are vigilant for the system as a whole, the next simplest thing to do is to make sure that each team is engaging with the teams that are “upstream” and “downstream” from them. Individual component teams should make sure that the adjacent component, those that you consume or the team(s) that consume the results of you work, work together as intended. Engage those teams to identify the points of interaction and define the behavior that each side expects. It is important to have a conversation that goes deeper than just what the structure of the data is going to be. Be sure to agree on what the data is going to mean, and what the anticipated behavior is going to be based on the data. Once you agree on what the structure is, and the behavior that will be driven from it, you can “mock” the interfaces, creating a dummy interface to work against until the actual system to interface with is in place.

The third bit I would like to share is to move toward an end-to-end suite of automated tests. Consider defining the tests that need to pass before you build the system. Then, you automate the tests, and components are only “done” when the tests for the whole process pass. The test-first approach forces the conversation about what should happen in the system, versus trying to catch all the things that do happen. This type of change will not happen overnight. It takes time and technical skill to put it in place. But, you have to start somewhere, and work toward a robust framework for components to be plugged into.

So, in summary, here are three important elements to have a complete quality picture for your product

  1. Build awareness and a mindset in team members
  2. Get teams to coordinate with the teams who build components that need to be interacted with
  3. Begin working toward test-first automated suites

Being good agilists, it is unrealistic to think that all the behavior will be implemented at once. Agree on the general plan for iterating toward the complete solution. Over time, you will build up a more robust, higher performing, system of people and technology.

Why should you care about Lean Startup?

July 15, 2013
Sometimes this is the path that big, risky development efforts take. Don't let it be yours.

Sometimes this is the path that big, risky development efforts take. Don’t let it be yours.

Imagine working on a project for years, investing huge sums of money, and not knowing for sure that you will have customers when you finish your product. What if you finish it later than stakeholders expected? Even if you do finish it, Imagine that you build it and your customers hate it!  If you have ever participated on an effort like that, or been close enough to watch the havoc it wreaks on the individuals that pour themselves into it, it is not a pretty sight. Efforts like this become cautionary tales that you tell your coworkers at your next employer.

Lean Startup is an approach to discovering what your customers want in a highly uncertain world. Lean Startup is a mindset that looks for ways to validate hypotheses about what your customer wants. They’re not big, dangerous experiments. It’s relentlessly testing small theories.

There are many different ways of testing your hypothesis. Some of the common ones include:

  • Conduct problem interviews
  • Conduct solution interviews
  • Use a survey
  • Provide the solution manually before automating it
  • Make a paper prototype
  • Run a Google ad to test for interest
  • Ask somebody for a token amount of money to hold their spot when the solutions is available

Notice that none of these approaches involve building a scalable, redundant, transactional, anything.

If you want to learn more about Lean Startup, consider reading books about Lean Startup and Customer Development. But, in the spirit of limiting your initial investment, the best way I have found to learn about Lean Startup is to be around practitioners. If you are interested in learning from those who have “been there, done that,” find a Lean Startup Circle in your area , and attend their meetup.

If you are in South Bend, join us at The Branch for a live streaming of the Chicago Lean Startup Circle on Thursday, July 18th, where GrubHub co-founder Mike Evans will share his experience as a Lean Startup practitioner.

I Committed an Act of Civic Hacking

May 16, 2013

And you can, too!

The weekend of June 1 and 2 will be the Day of Civic Hacking. While helping to organize the Hack Michiana event, I discovered that I committed an act of hacking. Let me share it with you, and then make a case for you to join the hacking on June 2 in South Bend.

Origins

My hacking started with something I found annoying. Every day I drove to work, I passed by any number of houses that must have had municipal code violations. Code violations are things like grass more than nine inches tall, broken windows, those sorts of things; they create major quality of life issues for the city’s residents. It was never clear whether the city knew about the problem, or not, and if anything was happening with the matter.

The Initial Situation

It turns out that the city of South Bend has  a site where you can look up code violations one at a time by doing a “case search.” While this approach is useful if you are trying to look at a single property, it is not that useful for identifying trends, clusters of properties in a certain geography, or identify patterns where single landlords might be responsible for a whole host of houses that are in violation of municipal code.

There had to be a better way!

Search By Case

Eureka Moment

I noticed that as I drilled into individual cases, looking for the status, the URL with case details contained an attribute for “Case Year” and an attribute for “Case Number.” Lo, and behold, the case numbers were largely sequential. Sure, sometimes there were gaps, but for the most part they went up sequentially.

What are computers good at? They’re really good at following patterns.

Requesting Assistance

My software development skills are no longer what they use to be. I knew it should be possible to create a program or script that would crawl the cases and pull out data into a table that would be more useful than looking up individual cases.  I contacted a former coworker of mine, Charlie, and asked for assistance with this project. Before too long, Charlie had written a Python script that could increment the case numbers and pull the interesting data elements off the web page. What we got was a file with information like Owner Name, Street Number, Street Name, Case Type, Case Status, etc.. All of the sudden, we a collection of data and not just individual data points.

Visualizing the Data

The next challenge, now that we had a bunch of data, was to tackle the visualization. Again, asking a favor of a former coworker, Ken. Ken agreed to help out. The Google Maps API was something he had been interested in, and this project was an opportunity to explore it for a particular purpose. After some tinkering with the API, we decided that an interim solution was to use an service called BatchGeo, which would geocode a file and visualize it in Google Maps. It was a crude solution, but adequate for where we were at the time.

Map of South Bend Code ViolationsWhat we ended up with was a map of the code violations in South Bend. The color coding shows the issues that are closed, and those that are open. You can zoom in or out, filter, and search. You can go down to the street level and then click through to the City of South Bend’s web site for additional details. Pretty nifty, I think.

Now What?

I wanted to give one example of some civic hacking that I fell into. There are lots of challenges, and you can help solve one. Join us on June 2 for Hack Michiana, our local participation in the National Day of Civic Hacking.

Civic Hacking isn’t  about technology. While it is interesting to scrape data, geocode it, and then visualize it on a map, the real value comes from being able to foster positive action based on the liberated data. That is where we need a broad range of people to participate in Civic Hacking. You can help turn information into action!

What might one do now that they can see more patterns in the data?

What collaborations between concerned citizens, community organizations, and the government might be possible once people really grasp the situation?

We need your participation. It might not be for this project, but there is a project somewhere that you could become passionate about and make huge contributions to.

More Information on Civic Hacking

This video is a nice introduction to Civic Hacking. Take a few minutes to watch it, and I look forward to seeing you on Sunday, June 2.

The Endurance Race of Business

April 26, 2013

Wayne Christopherson IndianaTrail100 For the first time in my life, I had the pleasure of getting to “pace” my uncle as he ran an endurance race. And when I say “endurance”, I mean 50-miles, on foot, in under 12 hours. My role was to pace him for the last third of the event. It was a powerful experience, and led to many reflections. I want to share the business reflections with you. For those continuing from the web magazine, you can continue reading below.

This spring, Indiana got a phenomenal amount of rain in the weak leading up to the Indiana Trail 100. The rain led to flooding on many parts of the course. Despite detours to try to avoid some of the unexpected water, there was plenty of mud, standing water and running streams that the athletes had to go through. At one river crossing, there was a rope that the racers had to use lower themselves down the steep embankment, into the icy water, and then pull themselves up the embankment on the opposite site. The trail conditions, combined with temperatures barely above freezing, and you have an extreme, potentially deadly, set of race conditions. Below are some of the lessons from my 16 mile run.

Choose a Sustainable Pace

In racing, as in business, you need to maintain a sustainable pace. It doesn’t do us any good to go so fast that you can’t complete what you started out to do. Prioritization and deciding what not to do will help you find this pace.

Take Little Breaks

There were several aid stations set up along the trail. Aid stations allow the athletes to pause, get something to eat and drink, adjust their shoes, and then start out again. These stations are important breaks in an otherwise daunting journey. From a utilization standpoint, they’re “inefficient,” wasting time that could be spent running. Consider what it would be like without aid stations. Without the break, runners wouldn’t be able to complete the course. Make sure your business team has opportunities to rest and refuel, even if it appears inefficient.

Walk Up the Hills

When faced with a challenge, how tempting is it to charge through? Charging uphill wastes a lot of energy and does not improve your results. In fact, the wasted energy may prevent you from finishing. Are you facing an uphill climb at your business? Consider slowing the pace to get through it.

Iterating Makes it Safe

The morning of the race, I wasn’t confident that I was in shape to run a full 16 miles. However, looking at the course, there were multiple opportunities where the trail crossed a road, providing an opportunity for me to easily get back to the race start/finish line. These opportunities were about every four miles of trail. Knowing that I had a way out, I was able to incrementally decide if I was able to continue on the race. I was not making a 16 mile commitment, I was making a series of 4-mile commitments.

Embracing practices that allow you to deliver incrementally and iterate as you learn create competitive business advantages. Look for those opportunities to make a series of small steps, and do not make the false premise that you have to make one big bet that will either succeed or fail.

Let Them See The Path

I’m about four inches taller and a little wider than my uncle. I spent much of the pace lap either running beside or behind him. At one point, probably 13 miles into my lap, and 47 miles along his total run, he was tired. The path narrowed, and I took the lead position, running in front of him. Shortly after that, I began to offer insights about the trail. One of my comments went something like “There’s a hill. Want to walk up?” His reply was “I just need to see the trail.” That was my queue to get back behind him.

In business, how many times have you seen a manager try to provide some direction to the team. The manager is well meaning, attempting to help the team along the path. I fell into that trap. I got in front, instead of simply providing support and allowing him to see the path that was coming and make adjustments to his style from there. For your teams, strive to provide support. When they know the goal and can see the path, the team will benefit most when you lead from behind.

Check Your Vitals

Is your project healthy? How do you know? One of the athletes I was around stopped into an aid station where his vital signs were checked. The result? His body temperature was down two degrees. The race had taken its toll and it was no longer safe to continue. He withdrew, but will be able to make another attempt at the full distance in the future.

As projects progress from their inception to completion, there can come a time when warning signs emerge. Too often companies try to just proceed as planned, resulting in an experience that may have long-term negative impact on the employees, company financials, and company reputation. Some the proper course of action is to withdraw the project and move on. Don’t turn your projects into a “death march.”

Conclusion
With endurance events, whether business or sport, there are important lessons to be learned. The three that stand out most to me are: find a sustainable pace, iterate, and make sure you stay healthy. I hope you take a moment to share your comments on the ideas above.

Coworking is a Smart Move

March 3, 2013

I recently had the pleasure of writing an article for the publication Small Biz Forward, an electronic newsletter produced by Nancy Becher. In the article, I talk about why coworking is a smart move for freelancers and small businesses. I encourage you to check out the publication. There are nice articles from a number of small businesses in the Michiana area in the e-pub.

Coworking in South Bend

The Branch

While the phrase “coworking” is a new phrase for some folks, the concept resonates with them. There are coworking options in the Michiana area, and each coworking location has its own personality. There will be a new coworking space in South Bend, called The Branch. The space will be opening in spring. The Branch is designed for entrepreneurs, freelancers, startups, not-for-profits, and folks who moonlight. The downtown South Bend location provides access to the restaurants, coffee shops, and other professionals that work in downtown. If you are interested in joining The Branch, let us know through the web site.

There is a brochure available, if you are interested in more information, as well.

Other spaces in South Bend include LangLab, and Maha Luna is planning a coworking space in the future.

Other Coworking in Michiana

If you are in Sturgis, be sure to check out Business Success Unlimited, who is having an open house on March 23.

If you are near Plymouth, check out The Midas Center.

If there are other locations that you are aware of, please feel free to comment and share them.

5 Global Game Jam Lessons For Your Team

January 28, 2013

This weekend, I had the experience of participating in Global Game Jam at IUSB. How does an event like “Global Game Jam” relate to your work? Keep reading….

What is Global Game Jam

In short, GGJ is a weekend-long event that starts at 5:00 PM Friday and ends at 3:00 PM on Sunday. Within that 46 hours, participants form teams and each team creates a game that is based on an announced theme. The IUSB Global Game Jam event, in my opinion, an unqualified success. How did we go from largely a group of strangers to two teams that produced  I Dream of Oleg the Unicorn and Heart Maze? This post has some of those observations and some suggestions for your “real” work.

Observations

A Purpose – The goal of the weekend was to create a game in 46 hours. The goal was unambiguous. People who were not interested in supporting that purpose were not present. And we weren’t just a group of folks individuals that were “working.” The purpose allowed us to really get excited about what we were doing.

Embracing Diversity – The event, and fellow participants, welcomed participants who were interested in making a game. Period. Game creation requires a wide range of skills; music, art, software, testing, imagination, organization, and many more. We collectively found ways to contribute, and to encourage others to contribute.

Visible Work Plan at the IUSB Global Game Jam

Loose Organization – The work we had to do was made visible and tracked. A light-weight backlog was on a whiteboard, the name of the person who took on the task was next to the activity. Notice I didn’t say the person who was given the task.We made the work that had to be completed visible, and people took it on. We even had a local reporter for the newspaper hear that we needed the sound of a fish, and she offered up her heretofore under-appreciated “fish” sound to the cause. Loose organization creates room for people to contribute.

Effective Leadership – We had a leader emerge on the team. The leader kept the goal of the weekend in front of us. Ideas were welcomed. Some of those ideas made it into the game, and others were struck from the plan as the weekend went on. The presence of the goal and a leader who could help the team decide, allowed for prioritization of the various ideas.

Nothing says “light mood” like high-fiving unicorns with an explosion and rainbows! Thank you, Tim Bell, for the awesome art work on this!

Light Mood - I have participated in similar weekend-long events. One reflection on this event relative to the others is that I left Global Game Jam feeling fairly relaxed. While I enjoyed participating in the 2011 Grand Rapids Give Camp and local Startup Weekends, they seemed much more exhausting.  Don’t get me wrong; both Give Camp and Startup Weekend were excellent events. But, the mood was much lighter during Game Jam, despite having a similar weekend-long event with a hard deadline.

Make Your Work Jam

Take the lessons from Global Game Jam, and look for ways to apply them to your work, and improve the effectiveness of your teams:

  • Make sure that the team has a purpose, and that it is kept in front of the team. If you don’t know what the purpose is, go find it.
  • Embrace the diversity of skills and perspectives on your team, and celebrate them. People likely have hidden talents that will make your team stronger. Create space for those talents to emerge.
  • Keep the organization of the work as light as possible. Remove what is unnecessary. Overweight organization is both productivity-killing and soul crushing.
  • Build leadership skills on your teams. Build people who can help share a vision, and rally others around the common goal.
  • Keep the mood light, and the energy high. Whether you are a team member, a stakeholder, or a manager, help foster a lighter mood on your team.

In conclusion, I want to take a moment to appreciate the team: Adam Valdez, Andrew Kroepel, Blake Robertson, Charlie Guse, Jen Purdy, Matt Forsythe, Matt Neumann, Sarah Gradeless, and Tim Bell. Your spirit and talent made a busy weekend very enjoyable.

Agile Sustainability; Culture, Management, and Metrics

July 6, 2012

What are some keys to sustaining an Agile culture and organization? As part of our coaching, Susan DiFabio and I have been exploring sustainability as we iterate on our session for Agile 2012, entitled  “Keeping the Dream Alive: Keys to Agile Sustainability

As we prepared for the Agile 2012 workshop, we had the opportunity to share at the Agile Cincinnati June meeting. We promised that group that we would share some of the references that we used when creating the workshop. Those references are:

Corporate Culture

The Reengineering Alternative” by William E. Schneider
This book describes the model of corporate cultures that was referenced in the presentation.  It goes into depth about how the research was conducted, how the model emerged, as well as examples and opportunities for how to use this knowledge to help organizations leverage their strengths.

Metrics

Measuring and Managing Performance in Organizations” by Robert D. Austin
Based on his doctoral thesis at Carnegie Mellon University, the author presents the reader with many insights on what actually happens when humans are measured as part of an organizational system.  Robert Austin’s book includes information from interviews with eight software measurement experts who represent a variety of opinions.  “Measuring and Managing Performance in Organizations” provides important information for anyone who is trying to use measurement to guide organizational decision making.

Management

Building Effective Teams: Miss the Start, Miss the End by Esther Derby
Esther is a thought leader in the area of organizations, team dynamics, and leadership. This blog post describes the manager’s role in creating an environment in which teams can become high performing. Susan and I have seen teams that have struggled, at least in part, because they lack the foundational elements of “real team” and “real purpose.”

Summary

To be agile, it is important to think well beyond the ceremonies and roles of a particular agile framework. We hope that this list of references helps you explore the topic of Agile Sustainability in more depth. We would also welcome you to let us know what materials you would recommend people study on this topic.

Lastly, thank you to everybody who attended the workshop in Cincinnati. We look forward to sharing with folks on Thursday afternoon at Agile 2012.

5 Ways to Keep Your Fishbone From Stinking

January 13, 2012

Do you have a tough problem you are trying to solve? Consider conducting a root cause analysis using a Fishbone Diagram. Here are five tips that can keep your analysis from stinking:

1. Have a sharp problem statement

Get this wrong and you’re wasting your time. Focus on one specific, observable problem. Think about ways you could measure the impact of correcting your problem statement. If the problem is measurable, there’s a good chance that you have a problem statement that is ready to be analyzed.

2. Find the right people

A former manager of mine use to say “availability is not a skill.” Get participants who will have the context and experience to generate quality insights. Make sure you get a diverse group of participants that will view the problem statements from a variety of perspectives.

3. Make time for it

Like so many things in life, the objective is not to rush through the activity. Schedule enough time whereby participants do not feel rushed. Do the analysis in one contiguous block of time. Make sure that participants are giving their full attention to the matter at hand, and that they are not disengaging either physically or mentally.2

4. Make it Visible

Be vigilant for conversation that is not captured in writing. A team can easily get into a dialog about the problem’s causes and forget to capture insights that are mentioned. Don’t let potential causes get missed. Make sure that all the participants have a pen and encourage them to write their observations on the diagram. If you hear a cause mentioned that isn’t captured, stop the conversation, get it written, and then go on with the analysis.

5. Get a Facilitator

Last but not least! Find a neutral party that has facilitation skills that can engage with your team. A facilitator will be focused on the mechanics of the activity, allowing participants to immerse themselves in the actual problem that they are trying to solve. A facilitator is instrumental in helping bring out the voice of all the participants, and can guard against the conversation going down paths that are not focused on the stated problem.

Summary

Using a Fishbone Diagram to visualize a root cause analysis session can yield powerful insights. Give your efforts the best chance of success by setting it up with a solid problem statement, and investing in facilitation to shepherd the team through the analysis.

Please share your thoughts on what helps or hinders the effectiveness of a root cause analysis.

Additional Information

1. A Fishbone diagram is the result of an analysis in which a team of individuals articulates possible causes of a specific problem statement, and then enumerates the possible causes of that cause. The individuals involved continue to do this activity recursively until they identify candidate root causes. The visual that results from this analysis will take on a fish-like shape.
2. Esther Derby and Diane Larson have some ideas on how to “Check In” in their book Agile Retrospectives: Making Good Teams Great. The book is definitely worth buying. Make sure people check their distractions at the door, and that you have the attention required for the activity.


Follow

Get every new post delivered to your Inbox.

Join 630 other followers