Aug 13, 2015

Notes from Domain Driven Design (Eric Evans) - Chapter 15

Continuing to capture some of the notes I've taken from my current projects study of Eric Evans Domain Driven Design book here are my notes from Chapter 15.

Notes - Page 1
Notes - Page 2

We have skipped around some in our reading, and I have not captured notes for every chapter. I'll continue to publish the notes I have taken every few days. I'll capture notes for the chapters we have covered that I failed to capture notes for. And I'll work to capture notes for the remaining chapters as we work our way through them.

I'm looking forward to any thoughts or feedback - get talking everyone!

Aug 6, 2015

Notes from Domain Driven Design (Eric Evans) - Chapter 6

The current project I'm working on is taking a Domain Driven Design approach. We have some senior people who are pretty well versed on DDD, but it is a very large program and there are many people who are not experienced with the approach. Some of the team have dug in and studied, but others have not been as proactive. We decided to start a book club to help each other grow and learn. The first book we've been studying is Eric Evans DDD book (Domain Driven Design: Tackling Complexity in the Heart of Software).

Recently I've been playing around with Sketchnotes (here is a link to a site that describes Sketchnoting if you are not familiar with it). I struggle to use them strongly (and probably well), but I'm trying to get better at it. I do feel like there are many benefits of sketchnotes both for the person who takes the notes, and for anyone with whom those notes are shared. With this in mind I decided to scan my notes for the chapter we discussed today and share them with our team. I had some feedback, mostly positive, but I'm not sure if they helped too much.

I decided to post the images here - maybe someone else will find them useful.

Notes - Page 1
Notes - Page 2

Please let me know what you think.

Also, after putting the notes together I decided I would prefer to change the flow some - I just didn't have time to do it. If I decide recreate them I'll post an update (in the mean time I've included a picture of a rough outline of what I'm thinking from my whiteboard).

Better Layout of Notes
I will review some of the notes I've taken from other chapters we've covered and see about posting them in the future.

Aug 4, 2015

Destination: Guatemala; Task: Service; Most Affected: Me!

I know the joy that comes from helping others, it's something I've experienced many times. I've also received help many times in my life and I know the difference it can make. It's easy to forget these facts in the everyday things of life and it can be easy to miss opportunities.

I recently had an experience that reminded me of the value of serving others. While this was a big experience it reminded me that the benefits can come from even small acts. I hope that my brief account of this experience will help all of us remember the importance of serving others. It doesn't have to be done in a faraway place. Nor does it have to be a large act. You can serve your employees, your manger, your family, your friends and even people you don't know - the benefits will come to everyone when you do.

After reading my account of this trip please take my challenge seriously. Then please share experiences that you have had with the rest of us!

My Trip to Guatemala


One of the rooms we cemented
I recently returned from a fantastic trip to Guatemala with my wife and daughter. We were there for nearly 3 weeks, most of which was participating with a group from Youthlinc - a nonprofit, nondenominational, service organization in Utah. The three of us spent the last few days of our trip visiting some beautiful areas of the country.

Youthlinc partnered with an in country nonprofit organization named People for Guatemala. They helped to organize the work that we did and supported the selection of the village where we served. The village was Las Escobitas and the people there were wonderful!

First here are the details of the mechanics:

Our group from Youthlinc included 41 people. There were two team leaders, 7 mentors, and 32 youth. Multiple of the youth had been on Youthlinc trips before and they were student leaders referred to as "alums". None of the youth had been to Guatemala with Youthlinc.

Here is a list of some of what we accomplished (I'm sure that I'm missing some key items here):

  • We mixed and poured cement in about 20 homes (in bedrooms, kitchens or both)
  • We installed about 20 Chapina Stoves
  • We painted both the inside and outside of the village school house
  • We installed a playground at the school (designed by Ken from People for Guatemala)
  • We taught interested members of the village to sew on (mostly) donated sewing machines
  • We taught interested members of the village to cut hair
  • Each of the youth taught English lessons to the students at the school
  • Lessons were taught on human relations, alcohol and smoking concerns and basic business skills
  • We held a health fair where healthy skills and other health lessons were taught
The school house we painted and where the youth taught
While all of that is great it only scratches the surface of why I was so moved and am unable to really put into words the significance and importance of the trip. I'll try to convey some of that below.

Youthlinc strives to create lifelong humanitarians. This starts by requiring all of the youth who participate in a foreign trip to complete 80 hours of local service in their communities prior to going on their service trip. I watched my daughter do this service over several months in preparation for our trip. "Voluntour" is a term I had not heard prior to getting involved in Youthlinc. It refers to people or groups that supplement a tourist trip with some service. Youthlinc most definitely does not do this. While my wife, daughter and I did extend our trip with some tourist activities, the service part of the trip was hard work focused on serving the people of Guatemala.

Another key point that Youthlinc focuses on is that you can get much better results when you help someone who is working to help themselves rather than just doing for those in need. This is implemented by requiring people who receive assistance to cover part of the costs themselves. Each home that received a cement floor or a Chapina stove earned part of the costs of those improvements, but then had the rest donated. Youthlinc has found that when they approach helping people this way the long term results are much better and people’s lives are really changed. This requirement was not only done for the improvements to people’s homes but also by the community overall for the improvements to the school. 

One of the first great results of the trip was forming a great relationship with the team. We had a fantastic team. Everyone was there to serve and worked very hard. I must say that this was hard work for us, a bunch of people from Utah - but much of the work we did was done alongside those we were helping, and it was everyday life for them (you can interpret that as we were pretty soft compared to the villagers we were working with!).

I guess I'm a little old fashioned, but I personally found it very hard to watch some of the young women that were on the team mixing the cement with shovels and hoes and carrying it in 5 gallon buckets. But there was no stopping them - they were there to work, and they did work!

We started our service with an opening ceremony where we tried to introduce ourselves to the village and they shared a little about themselves with us. They expressed many times how grateful they were that we had come to serve and work with them to improve their village and their lives. But the most moving part of that ceremony was when the leader of the village said - we are all the same, it is just our language that is different. There were some of us that spoke passable to even good Spanish, and we also had some translators that were helping us - but by the end of the two weeks we were communicating on many other levels, and deep relationships had been formed between many of the team members and the people from the village.

After that first morning of getting introduced to each other we started working hard that afternoon. We broke into three groups and started on different tasks. One group started to paint the school house. Another group started to teach sewing lessons. My group headed out to lay cement in a families kitchen. As we arrived and received some instructions on how to mix the cement. I had memories of doing similar work in my youth with my dad and grandpa. I suspect I was more in the way than helpful when I was younger. I honestly hope that I was more helpful than in the way in Guatemala!

After that we really didn't stop much for the next two weeks. While Youthlinc is not a religious organization the village did ask that we not come to work on Sundays. So each Sunday we experienced a little be of Guatemala and worked together as a team to prepare for the upcoming work week.

We didn't have the modern comforts that I am used to, even in our "hotel". I also found that I was pretty tired by the end of the day and was able to get to sleep much faster than I usually do at home. By the end of our time working I had earned a pretty bad back ache. I imagine it was a combination of hoeing, shoveling, carrying cement and sleeping on a pretty poor quality bed. I say that knowing that the villagers that were working right alongside me likely did more hoeing, shoveling and carrying while sleeping on what was likely not as nice of a bed, and none of them were complaining!

I believe that while it was the most physically challenging, the activity I most enjoyed was doing the cementing. I know that part of it was the memories that it brought back to me of childhood activities with my family. But I also really enjoyed that we worked side by side with the people that we were helping.
A home in the village with a pile of gravel for the cement

To bring things to an end we had an afternoon of closing ceremonies. This was a difficult time for everyone. While the leader of the village shared his feelings of language being the only thing that made us different during the opening ceremonies we found that even with that gap we had grown very close to one another. It didn't really feel that we were different now! We all knew that we might not see each other again and that was very hard. Many of the people from the village told us that they would see us in heaven. They were so humble and also so happy. We were somewhat tired, many a little homesick, but all very sad to be leaving this great experience behind us.

I realize that words cannot really express the feelings that I had, and now three weeks later some of them are hard to bring back to full recognition. I hope that sharing this with others will help keep this alive for me and cause others to consider what they can do to serve other people. I'm sure that all of us have done some acts of service for others - try to remember the joy that brought to you.


My Challenge


I close with a challenge to everyone who reads this. Even if you do it for the "selfish" reason of bringing joy to your life know that you will also bring joy and help to others - if you follow through. Watch for opportunities to serve others. Make it personal, find someone, close or far, who you can help. Do something, big or small, to help someone else. And do it often. I believe that keeping it personal will bring the most benefit to you. 

It is possible to provide help in other ways. Consider following one of the links at the top of my story and donating to these organizations to help their causes. Or find an organization close to your home, or that focuses on an issue that you are passionate about. Many of these organizations are able to make great things happen when they have enough support. 

I know that you will feel the joy of this service and others will benefit from it. It will make your life, your community and the world a better place!

Please remember to share your experiences and let others know of the experiences you have. We'll all be better for that!

Jul 29, 2015

Commercial Use Royalty Free Images

I'm often looking for stock photos for posts, presentations and courses. I found the link to this blog post today and wanted to capture it for my future use and for others to consume. I have not checked out all the links yet, and the post is nearly a year old now, so some things might have changed.

But hopefully we'll all find some awesome images from these sites.


27 Superb Sites With Royalty Free Stock Images for Commercial Use

Thanks Dave Lang!

Of course I needed to include an image to include in this post - the one I picked is from from Unsplash!


Jun 24, 2015

Studying for the AWS Certified Solution Architect - Associate Certification

I took, and passed (yea!), the exam for the AWS Certified Solutions Architect - Associate certification. I took the exam on June 15th, 2015.

I wanted to start to share some of what I did to prepare for the exam - and hope that others are able to join me! I'm planning on a few posts about this exam, and my preparations - and I'm planning on continuing on with the AWS Certified Solutions Architect - Professional exam soon too, so more posts about that in the near future as well!

Here is a quick list of the main steps I took:

  1. I signed up for the 1 year "Free Tier"
  2. I worked through some of the free labs at QwikLab
  3. I reviewed the exam blueprint and read the suggested whitepapers
  4. I worked through the sample questions offered on the certification site
  5. I took the practice exam offered by AWS/Kryterion
  6. I reviewed various FAQs for the "Products and Services" included in AWS
  7. I used my AWS Account to practice, test and learn things I had questions about
  8. I scheduled my exam with a not so local Kryterion testing center
  9. I took my exam
I'll expand my thoughts about each of these steps in future posts!

Good luck to all who decide to join me in my quest!

May 22, 2015

AWS: Setting up an IAM User with Multi-Factor Authentication (MFA)

Introduction

When you setup your Amazon Web Services (AWS) account you create a root user that has full privileges in your account. These credentials are not able to be restricted and should be safeguarded. If they fall into the wrong hands someone else will have full control of your account. We all know that credentials should not be shared, but we also know that at times it does happen.

AWS allows you to create up to 5000 users within your account (see IAM Limitations). By default these users have no rights when they are created. But you can grant the user a highly customized set of  rights including full control of the account.

It is a best practice within AWS to immediately setup users through the IAM feature. Included in this is a practice of creating an IAM user for you, the administrator of the account, to use for all of your work. Once this is done you can lock away the root account credentials so no one has to use them and no one else will ever be able to "own" your account. There was a very good presentation on this, and a strong case made for creating yourself an IAM user at a security session at re:Invent 2014 (SEC305 - IAM Best Practices)


Creating an IAM User

IAM Users NavigationTo create a user that will have the administrative rights that you need to fully manage the account navigate to the IAM Users page. Click on "Create New Users" and you will be allowed to enter up to five new users at a time. There is an option to create access keys for the users. Access keys are required to make secure calls to the AWS service APIs.

When creating new users you are not prompted to create a password. Once the users are created you can select a user from the list of users and manage information for that user. If the user will need to access the AWS Managment Console you will need to create a password for the account. For our purposes be sure to do this.

When assigning a password you have some of the standard options. You can provide a custom password, or allow the system to generate one for you. You can also force the user to change the password the next time the sign in.

To give the new user administrative rights you also need to attach the "AdministratorAccess" policy to the user. This can be done by selecting the "Attach Policy" button on the user properties page. via a link on the user details page in the AWS Management Console. This will list the policies available within your account and allow you to select up to two policies for the user.

Simply attaching the AdministratorAccess policy will not allow the IAM user to see the billing information. To allow this you will need to be logged into the AWS Management Console as the root user and follow these steps:

  1. Navigate to the "Billing and Cost Management" page for your account
  2. Select "Account Settings" from the left navigation list
  3. Scroll down the page to the "IAM User Access to Billing Information" section
  4. Select "Edit" for this section
  5. Check the box for "Activate IAM Access"
  6. Click on the "Update" button

Once you have created a user you will use this URL to login with that user: http://.signin.aws.amazon.com/console. You can see your specific URL and customize it by visiting the IAM Dashboard page. Below is an image of my page.

IAM Dashboard Page
IAM Dashboard Page


Add Multi-Factor Authentication

Multi-Factor Authentication (MFA) forces and extra challenge for a user to authenticate themselves. Typically you are challenged with a requirement to provide a username and a password. This is something that you know. Adding MFA also requires you to have something. So you end proving that you both know the correct information and that you have needed evidence.

AWS uses devices for the having part of MFA. There are two commonly used solutions for this. One is software based and the other hardware based. I have setup both for users in my AWS account. I first used a software based solution. Since I currently carry a Windows Phone I installed an application named "Microsoft Authenticator". There are apps that are available for both Android and iPhones as well.

I have also purchased 2 different devices that Amazon uses for hardware solutions. These are devices from Gemalto and are available as a fob that you can easily attach to a key chain and as a credit card sized device that presumably you could carry in a wallet. The credit card token seems like it might not survive a week in my wallet - but I might be wrong. You can find details about these options on the AWS website (MFA Details).

To configure MFA for a user navigate to the user details page and select "Manage MFA Device". Walking through the configuration you will first indicate the type of device you are configuring, either a software or hardware device. You will associate the device with the account. For a software device you AWS will give you a secret key to enter on the device, luckily this can be done by scanning a QRCode with your phones camera. For a hardware device you will enter the devices serial number into AWS. You will then provide two consecutive 6 digit numbers that are generated by your device and the MFA configuration will be complete.


Logging in with MFA

Once you have configured your new user with the administrator policy and setup a password and MFA device navigate to your IAM signin page (it should be at http://.signin.aws.amazon.com/console). The account should already be populated on the page, based on the URL you provided. Enter the username, the password and click on the checkbox indicating that you have an MFA device configured. Then get the current 6 digit key from the MFA device and login.

You are now able to administer your AWS account with your new IAM user.


Windows PowerShell for AWS Commands

Below are the PowerShell commands that would be used to do the work described above.

To create a new IAM user with the username of Mike:

New-IAMUser -UserName Mike

To create a password for the user with the username of Mike:

New-IAMLoginProfile -UserName Mike -Password

To reset the password for the user with the username of Mike:

Update-IAMLoginProfile -UserName Mike -Password

Attach the AdministratorAccess policy to the user with the username of Mike:

Register-IAMUserPolicy -UserName Mike -PolicyArn arn:aws:iam::aws:policy/AdministratorAccess

Enable a hardware MFA device for the user with the username of Mike:

Enable-IAMMFADevice -UserName Mike -SerialNumber -AuthenticationCode1 -AuthenticationCode2

Setting up a software MFA device can be done with PowerShell, but it does require multiple steps and is, in my opinion, not worth it. If you are using a software MFA device I recommend following the instructions above to complete the setup from the AWS Management Console.

I hope this was helpful!

May 15, 2015

Thoughts on Technical Certifications

I earned my first technical certification in 1996. Since then I have passed a total of 26 Microsoft exams. I have also earned other certifications from other vendors including trainer certifications and Java certification. I realize that there has always been a mixed reaction to certifications in the technical community. It seems that early on certifications on the IT Pro side of the industry was very common, and even a requirement for many jobs. The same level of acceptance has never seemed to exist for developer certifications.

Since this is the case, why have I taken a relatively large number of certification exams, and why am I about to embark on another series of tests? The main push for me has been to give myself a measurement of my learning. I have felt like the exams set a bar of understanding or knowledge on a topic that the vendor feels demonstrates an acceptable level of comprehension of the topic.

One of the complaints that people have about certifications is what has been called the “paper certification”. This is how people refer to those who simply cram information into their heads only long enough to pass an exam. Sometimes this comes from people using various exam cheats that are widely available. I have never used these cheats and I never will. I have taken the path of research, study and hands on experience to prepare myself for the tests I have taken. I have never earned the certifications for others - I've earned them for myself. If they give me an advantage in others eyes that is great, but the real purpose for me is to test my knowledge against the metrics outlined by the vendor. (Update - I just found this Dilbert cartoon that jokes about this kind of situation: http://dilbert.com/strip/2000-08-31)

I have also taken part in the blueprinting and creation of a few certification exams. This has given me better insight into how the vendor sets those metrics and what they mean. Having participated in the process of creating exams I know that there are many opportunities in the exam creation process for picking the wrong things to focus on and measuring skills that do not matter so much in actual usage. However I feel that there are also many checks in place to minimize the number of these “misses” on the exams. There are experts involved in the creation process and they work together to make a final product that they can each be proud of – just like the majority of people who work on software projects. The process, and outcome, are seldom perfect, but the certification can still be useful.

Neudesic has been involved in the Microsoft Cloud (Azure) since before it was publicly announced. I have had exposure to, and worked in Azure since those early days. I earned the first Microsoft Azure certification and ran an Azure focused user group in the Salt Lake City area for a few years.

Recently I had the opportunity to take a class on Amazon Web Services. It was a short class that focused on solutions architecture using AWS. Through this and other study I have had an introduction to many of the features of the Amazon Cloud and am now pursuing the Amazon Certification track.

I am starting with the AWS Certified Solutions Architect – Associate exam. After earning that designation I plan to continue with the Professional certification. The Associate certification is a prerequisite to the Professional level – so it is a mandated path I am following.

For information on the AWS certifications check out this site: https://aws.amazon.com/certification

Watch for some AWS focused posts in the future. And hopefully I’ll put some content together for one or more new Pluralsight courses too.


What are your thoughts on certification? How have you studied for exams in the past? What is your next planned certification?

May 8, 2015

What Made them the Greatest Generation and can We Be Better Too?

As we mark the 70th anniversary of V-E Day it is worth thinking about some of the traits of those we call the “greatest generation”. Both of my grandfathers worked in critical support roles for the war effort resulting in neither of them joining the military and directly participating in the war. My dad’s father worked for the rail road, and my mom’s dad worked at the large open pit copper mine in the Salt Lake City area.
I found this story in the USA Today this morning. It is a great tribute to a father who did serve and should be honored: Voices: My dad was a fitting member of the "Greatest Generation". I particularly liked the points where the author recounts her dad saying “I’ll do this for you”.

I don’t want to be too simplistic in my assessment, but I feel that attitude was very common in that generation, but is being lost as we move further away from those times. I mentioned my grandfathers not serving at the beginning of this article – they and many others of that generation had that attitude too. Those were times that neighbors knew each other and watched out for each other. They seem to have truly felt, and showed, a love for one and other and a desire to help and serve each other.

I was honored last weekend to meet an elder gentleman and have a brief conversation with him and his wife. I learned that he had just celebrated his 95th birthday and that he had served in both World War II and in the Korean conflict. His wife proudly let my son and I know that he had retired from the US Army as a full Colonel. He still looked fit and full of life, she was bent over and walking slowly with the help of a walker. I met him as he was serving her, helping her into a restaurant.
We met Colonel “Pete” and his wife as I was rushing out of a restaurant. I had taken my youngest to eat after his baseball games and I was late for a meeting for a service trip that my daughter, wife and I are going on later this year. I was in a hurry and walked past them as I was heading for the truck. They were about 10 yards from the door to the restaurant. My son stopped and held the door open for them even though they were a ways away and moving slowly. When I stopped Pete and I began to talk.

It was a wonderful experience to meet him and learn a little about his life and his family. It was great to see his wife so proud of the man she had married so many years before. My son gave me an opportunity that I would have just rushed by. Colonel Pete, I did not get his last name, was very impressed by my son performing that little act of service, simply holding the door open. He commented on what a fine young man he must be.

I must admit that nothing makes me more proud of my children that to hear people comment on how polite and caring each of them are. They excel at many different things and I am proud of them for that. But every time I’ve heard a teacher in parent teacher conferences talk about how they treat others I am filled with pride. I believe that is what really counts, that is what show’s their true character.

I’d like to know what the world would be like if more of us, more often took time to meet and serve strangers in our daily activities. It is so easy to be in a rush today. It can cause us to miss great opportunities. I may never see or talk with Colonel Pete or his wife again, but my life is better for the time I did. I challenge you to seek out opportunities in the next week to meet and serve someone. It may change their life, and I believe it can certainly change yours! Let’s try to emulate some of those traits that were so well demonstrated by our “greatest generation”

What traits do you see in others that you believe emulating would make us better?

Apr 30, 2015

How Close is Your Professional Emergency Response Team?

There are times when each of us needs to have the support of someone to get through a difficult or challenging time. I believe most of us have people who we know will help us out when we are in need. And I hope that each of us is prepared and willing to help others in their time of need. But how quickly will this help be rendered?

A short time ago I was traveling with my wife to see some of her family in the Boise Idaho area. It is about a 350 mile drive with several stretches of many miles that are sparsely populated. Sometime after crossing the Utah / Idaho border I saw emergency vehicles traveling in the opposite direction with their lights and sirens on. There were three different vehicles, a police car followed by an ambulance followed by another police car. But each of the emergency vehicles were separated by a few minutes.
I thought about how someone must be in trouble and in need of those emergency services, but there was a delay because of the distance from “civilization”. I was concerned that the emergency responders would not arrive in time to provide the needed assistance, and knew that there would also be further delays in getting the injured person to a hospital.

It reminded me of a time several years ago when my wife and I were walking down the street in New York City. There was also an ambulance trying to navigate through traffic with their siren on, obviously trying to care for someone in need. This time I expect that the emergency responders were physically rather close to the person in need. But my wife and I actually walked down the street faster than the ambulance was able to drive it.

So it seems that getting help to someone who needs it takes more than just being physically close to them. There must be a level of accessibility that goes beyond being physically close.
As I was driving along thinking, and on that drive there is plenty of time for thinking, I thought about how this can relate to our professional lives. There are times that we need help. We might have a difficult problem to resolve that we know others have faced. We might be in need of finding new employment. Or we might simply benefit from a talk with someone to share some insight or encouragement.

How close are those professional contacts or friends to you? I don’t mean physically, I mean emotionally. Have you maintained the relationships in good order so that you can call on others when needed and be of service to them in their time of need?

Today this does not require being physically close, we can easily maintain relationships across time zones and even national borders. I encourage you to take some time to reach out to people in your "network". Work to keep the relationships fresh and in working order. I believer this can make your life nicer every day and can really benefit you when an "emergency" happens and you need some quick care for others. Just as important, it keeps you in a position to help your friends in their time of need.

Mar 31, 2015

Books: Audio, eBook or the real thing?

I have a strong believe that reading is a great way to learn things and to get different points of view on topics that are of interest. Over the years I have taken different approaches to reading. I have also gone through stages where I consumed books at different rates.

Over the past several months I have read quite a few books, or at least it seems that way to me. of the top of my head I would guess that I have read at least 15 books in the past 5 months. These books are not fiction, they have mostly been business or technical books. I have also read a couple that tell the real life experiences of a couple of people: Unbroken (now a movie) about Louis Zamperini and Hal Moore: A Soldier Once... And Always (also portrayed in a move - We Were Soldiers).

A few years ago I shared that the main way a was "reading" was by listening to audio books. Most of these books I bought from Audible, and I'm still a fan of audio books, but I find that I am now listening mostly to podcasts, and not to very many books. I currently feel like consuming shorter content, that is very new, is the best way for me to spend the time that I listen to content.

Most of the reading I currently do is on my Amazon Kindle. I find that having several books that I can easily carry with me helps me to get the most of of published books. I usually focus on just one book at a time, but I have been known to skip between 2 or 3 at once. Right now I'm at differnt parts of three different books. I find that actually reading the books, instead of just listening to them, is giving me more value out of reading them. And I find that reading an ebook is much faster for me than reading a physical book.

The final type of book is an actual physical book. I find that I am reading these more slowly than I tend to read an ebook. I wonder why this is the case, and I believe that in part it is because I less often have the physical books with me. But I am left wondering if there is more to it than just that. The last two physical books that I have read are: Resonate: Present Visual Stories that Transform Audiences by Nancy Duarte and Leadership Vertigo by S. Max Brown and Tanveer Naseer. Why did I choose these in real paper instead of ebooks? First Resonate is such a visual book that I did not believe it would really "work" as an ebook. And I was certainly not disappointed to have such a beautiful book in my hands. And Leadership Vertigo was given to me by Pluralsight at the Utah Code Camp - but I will be buying it as an ebook to have with me all the time to reread and refer back to.

So my question to you is how do you like to read? What are the pros and cons you see to audio, ebooks and physical books? Are there types of books you prefer in one format over another? Do you find yourself reading more in one format? Finally what is the favorite book you've read in the past year? I'd like to find more to add to my reading list!

Jan 20, 2015

Book Review: Scrum: The Art of Doing Twice the Work in Half the Time

My first introduction to agile software methodologies came several years ago when I stumbled on Kent Beck’s book “Extreme Programming Explained: Embrace Change”. I remember that some of my first thoughts were that the current approach to creating software was not working and a radical change just might be the answer.

Finding that book started a journey for me. The journey continues today – it is to find better ways to create software and to improve the way in which teams work. There are several flavors of agile in use today but Scrum is one of the most well known and accepted.Scrum The Art of Doing Twice the Work in Half the Time

I stumbled on this book while browsing around Amazon a while back and finally decided to buy it. The author, Jeff Sutherland, is the co-creator of scrum. I decided that the insights he might provide would be very interesting. At about 250 pages it is a pretty short book and a quick read.

The book really focuses on the “why” of Scrum. There are three key things I got from the book:

1) There are some descriptions of projects that have successfully been coached in Scrum and had extraordinary outcomes. The author shares experiences he has had in turning projects around It is interesting to understand the history and evolution of Scrum.

2) Understanding of the roles and processes and “keys” to successful Scrum.

3) The use of Scrum in non software work.

Here are my more detailed thoughts on these points:

Evolution and Success Stories of Scrum

I found it very interesting that the author had been a pilot for the US Air Force in Vietnam. He related that his Air Force training had taught him to do four things to control risk. The acronym is OODA: Observe; Orient; Decide; Act. As soon as these steps were complete the pattern would need to start again, observing the new reality, orienting to the new possibilities, deciding on the best course of action and executing those decisions.

He relates stories of several projects that he was a part of or that he was brought in to help with. The story of the birth of Scrum is recounted in his work at Easel where his team transformed the way they worked which helped them to deliver their product on the assigned 6 month schedule, under budget and with a lower rate of bugs than the team had previously been able to achieve.

The second story that really struck me was the salvaging of project “Sentinel” for the United States Federal Bureau of Investigation (FBI). While there are challenges with any project, especially large ones, this had the added headaches of being a government project. It had technical challenges to be sure, but it also had to deal with a wide array of stakeholders. And while it might just be the cynic in me I believe that not all of the stakeholders were as focused on the potential results of the project as they should have been, but possibly more interested in how they could leverage their involvement into political clout or gain. After years of work, and the expenditure of most of the budget, an assessment was done that estimated it would take another 6 to 8 years and another $350 million to finish the project. The net result of switching the approach of driving the project to Scrum was finishing the delivery of the project with a smaller team, for a small percent of the original budget and delivering it in 20 months. When you see those results, especially in what could be considered a difficult environment, it is worth looking into. To get a more of the details of the FBI project drop by a bookstore and browse through chapter 1 of the book.

Keys to Successful Scrum

My thoughts about the keys to successful Scrum are influenced by several factors including my experiences, my recent training to become a Certified Scrum Master (CSM) and things I’ve read. This book included many points that validate what I have learned and experienced in the past as well as giving some new insights.

The key that continues to stand out for me is trust. I do not believe that success is achievable without trust between all people involved in Scrum.

The team members need to trust each other. I have typically found this to not be too big of a problem – but if you see it you must attack it quickly and come to a resolution. This supports another key point of having self-directing teams. When teams trust each other they are better able to take on and support others in their tasks. It is also somewhat cyclical, when you trust people tend to perform which leads to even greater trust.

I have worked in consulting for several years, and it is something that I really enjoy. Unfortunately I have seen a lot of mistrust between the client and the consultant. And this often goes both ways. I believe that it is difficult to establish this trust, but when you can, and each party performs it becomes cyclical just like it does in the Scrum team.

I find that often trust issues result from a failure to see things through the eyes of others. The author brings up the point that it is natural for us to see our actions as being driven by circumstances and others actions being driven by character. When we make “poor” choices we rationalize it as responding to the current environment. But when we see others make what we consider “poor” choices we attribute it to a lack of character. These attitudes kill trust!

Then next couple of keys I identified from the book were again a validation of my previous thinking and experience – but they were enhanced by the language and the examples in the book.

The core key here is that people must be dedicated to the project – not in the sense of their attitude to the work, but rather in their work assignments. We act today as if multitasking is a good thing. We often pride ourselves on our ability to juggle multiple tasks and priorities. Research has shown that is a productive way to work. One of my favorite time management techniques is the Pomodoro Technique. The key to that is to focus on only the most important thing for 25 minutes, then to break for 5.

In Chapter 5 a study is presented that shows that multitasking is not only a drain on productivity, but it also makes you stupid. If you believe that study, and you want a productive, and smart, team working on the project you can see the point of focused assignments of projects. The other point backing up this key is actually the title of Chapter 5 – “Waste is a Crime” – let that one sink in and read the chapter for the authors thoughts!

The author also talks about the team size having a major impact on the success of Scrum. There are different thoughts and “rules” about this in the industry but he recommends that a team should be 7 people (plus or minus 2). Most of the projects I have worked on have been made up of many teams, and the typical team size is larger than that. Because of this I can’t really confirm this point, but I know (from experience) that multiple teams and large teams do create many challenges!

The next thought is that a happy person is a more successful and productive person. It seems that most of our reward systems today are based on the completion of achievements. There is a lot of research that tells us that those rewards (carrot/stick mentality) are actually harmful to attitudes and success. I’ve recently read another book that focuses on that directly (Drive: The Surprising Truth About What Motivates us – by Daniel H. Pink).

We need to keep ourselves and our teams happy and enjoying the day to day work of the project. What motivates most people is not the end of the journey, but the journey itself (I recently tweeted this: It is said that happiness is not found at a destination but rather from the journey. Are you on a journey of happiness?). I believe that – but it can be difficult to remember that in the daily battles that we find ourselves.

For those that have not worked in a well functioning Scrum world you will find that it is a real change of culture. It is much more that just learning and following some techniques and ceremonies, it really does require a change in your thought process, your interaction with others and the way that you work. Really a change in attitudes and focus!

Non Software Work with Scrum

The final point that really struck me from reading this book is the areas in which Scrum is being used. Scrum was developed in a software/technology focused environment. I have always worked in the same type of environment so naturally that is how I have seen the world, and how I have seen Scrum.

I found it very interesting that Scrum is driving cultural changes in many non-technical businesses. This includes education, journalism, manufacturing, volunteer humanitarian efforts and even government to name just a few.

If you are interested in how Scrum is changing the non-software world be sure to read Chapter 9!

What have you read?

What books have you read on agile methodologies that you would like to discuss or recommend? My reading list is long, but I’m always looking to add good books to it!

Jan 2, 2015

Business and Leadership Podcasts I Listen To


I have two general types of podcasts that I try to follow. The first type is focused on technology and the second on business and leadership. Below is a list of the business and leadership podcasts that I am currently trying to keep up with.
Please share any related podcasts that you have found and enjoy so I can check them out as well!
  • Entreleadership: This is very focused on leadership with a particular slant towards entrepreneurs. I usually find this a very good show to listen to. They publish every two weeks and shows run about 30 minutes, so it is pretty easy to stay up to date. This is from Dave Ramsey’s organization – I know some people love him and some hate him… that will likely influence your liking of this podcast. He also as a book titled “EntreLeadership” which I also found very enjoyable. (http://www.daveramsey.com/entreleadership/podcast)
  • The Chris LoCurto Show: I was first introduced to Chris LoCurto from the Entreleadership podcast – he was the original host. He later left the Dave Ramsey organization and went out on his own. Much of what he does in his new company appears to be focused on life plans and the pursuit of personal growth. The podcast typically focuses on such topics. I find it great for personal growth and leadership skills. Currently there are three episodes published each week, so it is a little harder to stay current on this one. Episodes typically range between 15 and 30 minutes. (http://chrislocurto.com/podcasts/)
  • Startups For the Rest of Us: This podcast has a lot of information about startups and how to make them sustainable. It does have a technology theme, and covers ways to start and grow a business. Episodes are about 30 minutes long, and I only pick and choose which ones I listen to because of limited time, but I have found some value in them –for the entrepreneurial spirit. The show is published once a week. (http://www.startupsfortherestofus.com/)
  • This Is Your Life with Michael Hyatt: I have just found this in the past couple of weeks and am trying it out. So far I have been pleased. Michael Hyatt published a book titled “Platform: Get Noticed in a  Noisy World” in 2012. I have not yet read the book, but it is now on my list. Michael and his co-host Michelle work well together and seem to be well prepared for each episode. Topics covered range from personal development and leadership to productivity. (http://michaelhyatt.com/thisisyourlife)
  • Read to Lead: This is brand new to me. I found this just a couple of days ago and have just listened to my first episode. I went back to an older podcast to give it a test. I listened to episode 43 with Simon Sinek talking about his book “Leaders Eat Last: Why Some Teams Pull Together and Others Don’t”. I recently read this book (blog post with a review coming soon) and found it a great book! I figured this would give me some good insight into the podcast. I was pleased with my listen and plan to continue to give it a shot for at least a few more episodes. One thing I did not like about this show is the relatively long introduction – it seemed to take a long time to get to the meat of the show. (http://readtoleadpodcast.com/)
I listen to most of the podcasts on an iPod as it is the best device I know of that allows me to listen at an faster playback speed without people sounding like the “Chipmunks”. I also do most of my listening while either exercising or flying. I tend to do too little exercising these days and too much flying.
If you have a suggestion of an application for listening to podcasts at a fast playback speed on the Windows Phone please share.
As requested above please leave comments with a list of personal development, business or leadership podcasts that you listen to. I’d love some suggestions of others to try!
Watch for an upcoming post on the technical focused podcasts that I try to follow.