Archive

Archive for the ‘Technology’ Category

Highly effective retrospective technique

September 14th, 2017 No comments

Link to the sample Retrospective Trello board:  https://trello.com/b/0rdEWAmQ

A while back, I did a blog post titled Online Brainstorming Technique about using technology to do effective brainstorming sessions. So it goes on that a similar technique can used for Retrospective sessions.

This blog post is an updated version that leverages tooling while still maintaining all of the benefits of the old manual technique; now enables simple and easy access for remote folks and simple record keeping.

If you are anything like me, you will have attended many brainstorming sessions that have gone horribly wrong where:

  • the person with the most senior title rules
  • people position themselves before the brainstorming in an effort to establish some credibility ( in my experience the largest time consumer)
  • someone has dominated the session with their diatribe(s)
  • people who won’t stop talking about their ideas
  • it has deteriorated into a session of I am right and you are wrong and it turned out that they were saying the same thing, just a little differently
  • the most aggressive / loudest person wins
  • people were so intimidated that they did not contribute
  • people belittle the ideas thrown up
  • it becomes more about who’s idea it is rather than what the suggestion is
  • remote employees are not able to participate fully
  • the documentation is always after the fact and late….

The purpose of a Brainstorming session is to capture as many ideas as possible. The term, think outside the box is often used when it comes to brainstorming. It is very common to have a totally unrealistic statement stimulate an idea with someone else that was just brilliant. In an effort to get ideas out quickly and without most of the preamble, here is a mechanism that is quick, fair, enables remote participants, and is personality sensitive.

Pre requisites

  • Online agile planning tool, I will use Trello for this blog post. I am currently biased towards Trello because I have successfully used  for audiences in excess of 100 people.
  • Create a board on your tool of choice so that people can capture their ideas – here is a sample Trello retrospective board
  • Depending on the tool that you use, you might need to adjust the visibility of the board. If you are using Trello and not have Business Class, you will need to create the Team first and then create the board under the Team. I have found that people need to trust each other in order to contribute fully. So be aware of that if there is one person that is not trusted, it will lead to some people holding back.
  • Depending on your tool, you might need to create a group and invite people to board that you created. Depending on the sensitivity of the topic, you might have to limit the visibility; however I believe that every retro should be public and visible to the whole team, even as people join the org because it allows them to see that issues are dealt with in an open and transparent manner.
  • Enable the ability to vote on the cards
  • If you are doing this session with remote folks, I do suggest some form of screen sharing mechanism so that everyone can be focused on the same screen. At minimum, a phone conference mechanism although video does enable the facilitator to be more personal.
  • Using the board, create some existing groups/lists such as the following to streamline the brainstorming session.
    • Timeline
      • laying out the timeline of everything related to the event often leads to observations that would otherwise be missed
    • What went well?
      • Don’t be tempted to skip over this one – wins are always good!
    • What needs improvement?
      • use this list of items that need improvement
    • Start Doing
      • sometimes, people have an ah hah moment and this list gives them the ability to capture and share their thoughts on something that needs to start happening
    • Stop Doing
      • again, observations of behaviors that the someone believes should stop
    • Vent
      • this list allows people to complain, knowing that complaining doesn’t help solve the issue but it does provide a release
    • Duplicates
      • allows duplicates to stored and allowing adherence with the guideline of don’t delete ideas
    • Parking List
      • sometimes things are just too big and need their own retrospective or drill down outside the retrospective
    • Collect Input
      • for items that too complex and need further investigation – just schedule a retrospective for each of these
    • Action Items
      • if there are no actions items – you’re perfect! (if you believe this, why was there a need for a retrospective?)

Participant Guidelines

  1. one idea per card (ideally 8 or less words) You can use the card description for more data or explanation.
  2. do not discuss what you write down
  3. have fun
  4. respect all ideas
  5. do not judge (especially your own ideas), just put them on a card
  6. think outside the box
  7. ideas can be added at any time time during the session (especially during the discussion)
  8. don’t delete any ideas

Instructions for the Brainstorming session

  1. Ensure that everyone understands the participant guidelines. How do you know this? Ask.
  2. Everyone needs to capture their issues as a card in the Issues list. One idea per card and if your idea needs data or explanation, you can include that in the card description.
  3. Prioritize the issues by moving the higher priority cards to the top of the list. Feel free to add more to the list as people understand other cards. Merge duplicate cards and move the old cards to the Duplicates list.
  4. Brainstorm – review the cards in the Issues list and add ideas on how put ideas on cards. One idea per card and if your idea needs data or explanation, you can include that in the card description.
  5. Read what others have put up remembering it is about the idea and not who created the card
  6. Put more ideas up, especially if they were stimulated by what you read.
  7. Now group the similar themed suggestions together. It sometimes helps to create additional list/groups in order to collate the similar themed ideas together. I have also color coded ideas with similar themes.
  8. Move the the duplicate cards to the Duplicates List, leaving one card on the list. It might be necessary to change the title.
  9. Have everyone vote on their top five items.
  10. Arrange the cards with the highest number of votes to be at the top of the lists.
  11. Variations
    1. Option 1: Now discuss all of the ideas; as an active participant, it is your responsibility not to belittle any idea or person. I put this step in as a transitionary step. As people get more comfortable with this approach, this step should be eliminated because it favors the talkers and over shadows the introverts. That being said, it also enables the talkers to think and do as a team, you will need to time box this step or it will never end. Create cards with Action Items for the next steps or actions to bring the ideas to fruition.
    2. Option 2: This is the more effective method. Have the team create create cards with Action Items for the next steps or actions to bring the ideas to fruition.
  12. Some suggestions will require additional input to be collected and they can be moved to the Collect Input list.
  13. To help with the flow from idea to Action Item, word tag the idea or color code it

Helpful Hints

  • To help the folks in the group that need time to think and process, it is advisable to include the brainstorming topic in the meeting invitations.
  • Provide a link to the topic and these instructions as part of the advanced notification.
  • Do not shoot the messenger!  Brainstorming is all about getting the most hair brained ideas out.  Remember that your crazy idea can stimulate someone else’s thinking that results in that killer idea.
  • Do not be afraid to screwup. Please refer to the point above.
  • The ideas can now be evaluated on the merits of the idea and not who’s idea it is.
  • If you have written it down, you do not need to talk about it too. It might make you feel better but it is also taking up time. This is especially difficult for first-timers.
  • For the discussion phase: Some folks need to talk in order to think. It helps to have these folks remote as they can mute themselves while they talk.  don’t worry, because you’re on a conference call it comes naturally. I would also suggest time boxing the discussion; you will see there is a rhythm and when folks start to repeat themselves, it is time to cut it off and move on.
  • It is pretty common to have similar ideas, so just merge them and move the duplicates to the Duplicates list.
  • Some folks will not be able to move off their points and will attempt to convince others that they are right. remind them that they are not respecting the ideas of others and are assuming that they are right. All ideas need to be able to stand. If explanation is needed, then add the collateral to the card.
  • For folks that are used to discussions, they might feel that this method is impersonal or that their voice is not being heard. For these folks, explain to them the purpose of this technique is to capture everyones input as efficiently as possible and they should not focus on the busy exercise of them being able to talk.

Variations

When time is a factor, I have had the participants complete steps 1 to 3 before the meeting. Alternatively, I have also split into two meetings by completing steps 1 to 4 at one meeting, sorted the ideas out off line and then conducted the discussion at a followup meeting.

 

Link to the sample Retrospective Trello board:  https://trello.com/b/0rdEWAmQ

To copy the board for your own use:

  • Click on the Show Menu link in the top righthand corner of the board
  • click on the …More option just above halfway down
  • click on the Copy Board option

Feedback on how to improve the board is very welcome!!

Crisis: Chaos to Resolution

October 14th, 2015 No comments

SparkPilot_Chaos_OrderCrisis situations tend to be great breeding grounds for confusion and chaos. The good news is that it is fairly easy to stop this natural state. A Leader and a sound and tested crisis management plan.

In this post, I share a simple high-level methodology to handle a number of crisis situations. The model is pretty simple and consists of breaking the situation up into phases with distinct goals for each phase. In the real world, it is pretty common to have to go back to phases that were already completed as more information is found or especially when there are multiple issues. For each phase, there are two themes. Issue(s) and communication.

1. Identify

This is the first phase and marks the start of the crisis management effort. The first step is to do a quick triage and to determine what additional skills are needed. This initial scoping will enable the Incident Commander to determine who needs to be engaged to help isolate the issue further.

Now because the issue has been identified, it is easy to notify customers that there is a known issue and that the team is engaged.

2. Isolate

Based on experience, this is the step that requires the highest level of discipline because of the common behavior for folks to try and solve the issue(s) instead of trying to isolate the issue. It is important to isolate the issue to lay the groundwork in order to stop this issue from occurring in the future.

In this phase, the team needs to isolate the issue(s) down to the granular component(s) that is/are causing the issue(s). As more information is gathered, it enables the Incident Commander to engage or release the appropriate Subject Matter Experts (SME) on the team.

When it comes to customer communication, I prefer to communicate the actual current state until the issue(s) are isolated, even if it is not possible to provide an estimate on when the situation will be resolved. Therefore, when entering into the Isolate phase, I like to notify the customers that the team is engaged and starting to isolate the issue(s). As progress is made, provide progress updates to customers. However when progress is slow, switch to timed update methodology and provide customers with updates on a predetermined interval. There are pros & cons to each of these approaches and therefore you will need to select the mechanism that suits your business needs the best.

3. Restore

Now comes the steps to mitigate or restore the situation to “normal”. The million $ questions is what is normal? The definition of “normal” is best defined before the crisis and I prefer a checklist that can be used to determine if the situation has returned back to a fully functioning state.

Back to the customer communication, with the checklist, you can communicate to the customers that you are on step 3 of 9 or whatever the counts are. To get the durations of each step, this information should be collected during the test runs or other similar crisis situations.

4. Repair

This step is where the issue is repaired should the root cause not be addressed in the Restore step. This step also covers the elimination of any mitigations performed and returning the state to the fully operational state.

Remember that some customers would like to know when this step has been completed.

5. Eliminate

The Best Customer Impacting Incident is the One that didn’t happen!! Therefore, in order to make this statement come true, it means that the team needs to learn as much as possible from all crisis situations and apply these lessons learned to any possible future states. So, it is important to analyze the situation and to define action items with clear owners for each action item. This step will eventually ensure that the situation is eliminated. I prefer to use a formal retrospective review of the crisis situation. This process is very similar to the typical ITIL post mortem but is more collaborative and integrates much better in an agile or continuous operational state.  I will be publishing a blog post on a very effective retrospective technique within the next month or so.

Ideally the information gleaned from the retrospective can be used to formulate a customer communication. Unfortunately, this is not always possible; provide customers with some type of report so that they do not have to speculate and operate in the dark. Then continue to perform the due diligence in the background. This enables a data-driven followup with customers, should it be needed.

Crisis Leadership

October 11th, 2015 No comments

SparkPilot_CrisisLeadership always matters and in a crisis situation, leadership matters even more! When running a service, one of the most critical times is when the service fails and someone will need to step up and take the lead. Without someone taking the reigns, I have seen a mariad of situations arise and as such I am sharing a very high-level definition of the key focus areas for crisis leadership role often called an Incident Commander or Crisis Manager.

Assemble the team

The very first responsibility of this role, is to assemble the team with the skills needed to restore the service ASAP. Then if the problem shifts or there are multiple issues, it might be necessary to adjust the composition of the team to ensure that the skills needed are available. Sometimes in a long running situation it might also be necessary to perform shift changes including the Incident Commander.

Communicate, communicate, Communicate

A service without customers will not last for long and as such it is imperative that the situation be communicated in a clear and concise manner on a regular and predictable rhythm. My preferred communication rhythm is either 15 minutes or 30 minutes and needs to be defined as part of the Standard Operational Procedure (SOP).

Maintain Focus

Ensure that the team maintains the necessary focus needed to restore the service. It is my experience that engineers who don’t know what to do after 5 minutes of thought time will still not know what to do after 25 minutes of thought. Bring in another engineer who is able to operate more effectively under pressure. As such, I would suggest that the Incident Commander operate according to a predefined process to handle the situation where slow or no progress is being made. This enables the Incident Commander to engage other engineers to help expedite things as part of the SOP and not making it personal. This is one of the most difficult tasks an employee can be asked to perform because most folks do not want to wake up others in the middle of the night.

Quality

Do a job right or don’t bother! This is really easy to say yet extremely difficult to adhere to in a crisis situation. It boils down to Leadership and someone flying this flag. In most cases people will follow the lead.

Urgency

The best idea tomorrow really doesn’t help us solve today’s crisis situation. I am big fan of using countdown timers to create the stimuli needed to engage additional team members or escalate to executives.

 

 

 

 

Online Brainstorming Technique

September 17th, 2015 No comments

A couple of years ago I did a blog post on a Simple brainstorming technique. This blog post is an updated version that leverages tooling while still maintaining all of the benefits of the old manual technique; now enables simple and easy access for remote folks and simple record keeping.
SparkPilot.com_Brainstorm_Lightbulb

If you are anything like me, you will have attended many brainstorming sessions that have gone horribly wrong where:

  • the person with the most senior title rules
  • people position themselves before the brainstorming in an effort to establish some credibility ( in my experience the largest time consumer)
  • someone has dominated the session with their diatribe(s)
  • people who won’t stop talking about their ideas
  • it has deteriorated into a session of I am right and you are wrong and it turned out that they were saying the same thing, just a little differently
  • people were so intimidated that they did not contribute
  • people belittle the ideas thrown up
  • it becomes more about who’s idea it is rather than what the suggestion is
  • remote employees are not able to participate fully
  • the documentation is always after the fact and late….

The purpose of a Brainstorming session is to capture as many ideas as possible. The term, think outside the box is often used when it comes to brainstorming. It is very common to have a totally unrealistic statement stimulate an idea with someone else that was just brilliant. In an effort to get ideas out quickly and without most of the preamble, here is a mechanism that is quick, fair, enables remote participants, and is personality sensitive.

 

Pre requisites

  • Online agile planning tool, I will use Trello for this blog post. I am currently biased towards Trello because I have successfully used  for audiences in excess of 100 people.
  • Create a board on your tool of choice so that people can capture their ideas
  • Depending on the tool that you use, you might need to adjust the visibility of the board. If you are using Trello and not have Business Class, you will need to create the Team first and then create the board under the Team.
  • Depending on your tool, you might need to create a group and invite people to board that you created
  • Enable the ability to vote on the cards
  • If you are doing this session with remote folks, I do suggest some form of screen sharing mechanism so that everyone can be focused on the same screen.
  • Using the board, create some existing groups/lists such as the following to streamline the brainstorming session.
    • Issues
    • Suggestions
    • Do Not Do
    • Vent
    • Duplicates
    • Parking List
    • Collect Input
    • Action Items

SparkPilot_Brainstorm_sample

 

Participant Guidelines

  1. one idea per card (ideally 8 or less words) You can use the card description for more data or explanation.
  2. do not discuss what you write down
  3. have fun
  4. respect all ideas
  5. do not judge (especially your own ideas), just put them on a card
  6. think outside the box
  7. ideas can be added at any time time during the session (especially during the discussion)

Instructions for the Brainstorming session

  1. Ensure that everyone understands the participant guidelines. How do you know this? Ask.
  2. Everyone needs to capture their issues as a card in the Issues list. One idea per card and if your idea needs data or explanation, you can include that in the card description.
  3. Prioritize the issues by moving the higher priority cards to the top of the list. Feel free to add more to the list as people understand other cards. Merge duplicate cards and move the old cards to the Duplicates list.
  4. Brainstorm – review the cards in the Issues list and add ideas on how put ideas on cards. One idea per card and if your idea needs data or explanation, you can include that in the card description.
  5. Read what others have put up remembering it is about the idea and not who created the card
  6. Put more ideas up, especially if they were stimulated by what you read.
  7. Now group the similar themed suggestions together. It sometimes helps to create additional list/groups in order to collate the similar themed ideas together. I have also color coded ideas with similar themes.
  8. Move the the duplicate cards to the Duplicates List, leaving one card on the list. It might be necessary to change the title.
  9. Have everyone vote on their top five items.
  10. Arrange the cards with the highest number of votes to be at the top of the lists.
  11. Variations
    1. Option 1: Now discuss all of the ideas; as an active participant, it is your responsibility not to belittle any idea or person. I put this step in as a transitionary step. As people get more comfortable with this approach, this step should be eliminated because it favors the talkers and over shadows the introverts. That being said, it also enables the talkers to think and do as a team, you will need to time box this step or it will never end. Create cards with Action Items for the next steps or actions to bring the ideas to fruition.
    2. Option 2: This is the more effective method. Have the team create create cards with Action Items for the next steps or actions to bring the ideas to fruition.
  12. Some suggestions will require additional input to be collected and they can be moved to the Collect Input list.
  13. To help with the flow from idea to Action Item, word tag the idea or color code it

SparkPilot_Brainstorm_complete

 

Helpful Hints

  • To help the folks in the group that need time to think and process, it is advisable to include the brainstorming topic in the meeting invitations.
  • Provide a link to the topic and these instructions as part of the advanced notification.
  • Do not shoot the messenger!  Brainstorming is all about getting the most hair brained ideas out.  Remember that your crazy idea can stimulate someone else’s thinking that results in that killer idea.
  • Do not be afraid to screwup. Please refer to the point above.
  • The ideas can now be evaluated on the merits of the idea and not who’s idea it is.
  • If you have written it down, you do not need to talk about it too. It might make you feel better but it is also taking up time. This is especially difficult for first-timers.
  • For the discussion phase: Some folks need to talk in order to think. It helps to have these folks remote as they can mute themselves while they talk.  don’t worry, because you’re on a conference call it comes naturally. I would also suggest time boxing the discussion; you will see there is a rhythm and when folks start to repeat themselves, it is time to cut it off and move on.
  • It is pretty common to have similar ideas, so just merge them and move the duplicates to the Duplicates list.
  • Some folks will not be able to move off their points and will attempt to convince others that they are right. remind them that they are not respecting the ideas of others and are assuming that they are right. All ideas need to be able to stand. If explanation is needed, then add the collateral to the card.
  • For folks that are used to discussions, they might feel that this method is impersonal or that their voice is not being heard. For these folks, explain to them the purpose of this technique is to capture everyones input as efficiently as possible and they should not focus on the busy exercise of them being able to talk.

Variations

When time is a factor, I have had the participants complete steps 1 to 3 before the meeting. Alternatively, I have also split into two meetings by completing steps 1 to 4 at one meeting, sorted the ideas out off line and then conducted the discussion at a followup meeting.

 

 

Monitoring – the pitfalls that no one wants to talk about

October 27th, 2013 No comments

Over the years of having to deal with various monitoring systems, I have learned a lesson or two….  I am sharing some of them, in the hope that you can avoid some of the pitfalls and ultimately have fewer scars than I do.

  1. Every alert needs to be actionable.
  2. False Positives will quickly overload the team and drive up OPEX like no other operational line item will.
  3. Hard coded thresholds are a maintenance nightmare and require a staff to maintain them.
  4. Event and alert naming is crucial and needs to include the data center, device name, unique identifier, and brief human readable short description.  Ideally a link to a runbook and a reference to the automation that did / didn’t catch the issue.
  5. To ease troubleshooting, all monitoring systems need to use the same time zone (UTC is recommended).
  6. As of October 2013, I have not seen any commercial solution that works properly.  In fact, there are quite a few commercial monitoring technologies that just do not work the moment you move beyond the basics.  To validate them, ask the vendor to show you their text case matrix, especially on storage devices.
  7. Most engineers will avoid working on the monitoring definitions because they don’t see the value and based on their experience it will result in more work and not help them.  As such, you will need to have a strong automation capability / mindset / understanding in the team in advance in order to keep things under control.
  8. People do not like to wake other people up in the middle of the night and therefore will avoid it.
  9. Most people do not answer their phones when called the first time.  Based on my experience, only 30% will answer on the first call.  So use an automated system to notify people and don’t rely on the on-call engineers to call other people.
  10. Most people require approximately 7 minutes to wake up when called.
  11. When the on-call people are called for trivial things, it really irritates them.  As such everything needs to be done to minimize trivial notifications.
  12. The on-call rotation needs a clean handover from the previous on-call rotation.  In my experience, handing over a physical item helps with the hand over.
  13. Contact lists and on-call people means that the appropriate roles are contacted when needed.  These lists need to be easily accessible with multiple locations.  My recommendation is in at least 5 locations.  The list needs to contain at least the name, subject matter, contact details and primary and secondary on-call roster.
  14. Predefining escalation criteria is overlooked and this often delays getting the correct people onto the issue.
  15. Averaging metrics will skew your metrics because the high and low outliers will mask issues.
  16. What will be monitoring the monitoring system?  This is almost always overlooked and it is critical to know when elements of the monitoring system have failed.  This is one of the reasons why I do not believe in a single monolithic monitoring system with vendor claims to solve all monitoring problems.

 

 

 

 

 

 

Categories: Technology Tags:

So I switched to Mac from Windows

October 19th, 2013 No comments

I have been using a Mac user for a while but it was just because the photography apps are soooo much better on Mac.  Now for the last year or so, I have been using a Mac exclusively for work too.  Based on conversations, I know that a lot of people are considering the same and therefore I am sharing my experiences.

The Equipment

Hardware:  Mac Book Air with 8GB RAM and a Thunderbolt 27 inch monitor.

Accessaries:  External Apple Bluetooth keyboard and trackpad, Logitech headphones

Phone: iPhone 5 – upgrade from iPhone 4 and a 3 before that.

Tablet: iPad Mini – my iPad 3 arrived 3 days after they announced the Mini and so I used the Apple 14 day satisfaction policy to return it.  Thanks Apple.

The Con’s

  1. Outlook for the Mac – well it crashes at least twice a day, wildcarding in rules does not work, you cannot attach a file to meeting request, the rules don’t work properly, and when someone sends you an email with voting buttons – this feature does not exist in the Mac version.  This is what came to mind as I was typing this blog post.  Basically it sucks!  Are there any competitors out there?
  2. Microsoft Excel crashes 70% of the time when opening a spreadsheet stored on SharePoint. I have to download it and then open it. Pivot tables, are different to Windows and I’ve come to prefer how it’s done on the Mac version.
  3. No Visio for Mac.   I am using ConceptDraw and I like some the features that it has that are not in Visio.  Here is a link to the product website.
  4. I have not found a decent and affordable scp GUI client that supports drag and drop and integration with password caching or KeyChain integration.  Basically there is nothing comparable to winscp .
  5. iTunes – I am still getting used to the new UI but I still don’t like it.  If there was an alternative, I would more than likely use it.
  6. Lync. It crashes 3 or 4 times a day. Logs itself out another 3 or 4 times a day. I switched to Skype as my primary chat client and phone application.

 

The Pro’s

  1. It’s consistently fast.  There are no slowdowns in the middle of the day like I experienced with Windows 7.
  2. Ah yes, the reboots because of the all the Windows patches.  I’ve had to reboot my Mac twice in the last 3 months.
  3. The startup time, flip open the screen and within 10 seconds I’m typing in my password.
  4. The Thunderbolt monitor is superb.  Almost no eye strain with massive amounts of real estate in addition to point #6.
  5. The retina screen on the Mac book Air has the same quality as the external monitor, just smaller.  Therefore it is just as usable as my main monitor.
  6. Virtual desktops – means that I don’t miss the real estate when using the laptop screen and  means that I don’t have a single cluttered screen or NEED multiple screens like Microsoft employees do.
  7. Initially, I used Windows Mesh because it has a Mac client that works really nicely and therefore I can sync my files between machines without uploading them to the cloud but now that I only use one machine, I don’t need it anymore.
  8. All my devices sync with no issues using iCloud.
  9. No IE!!  I no longer have to fight with my browser.
  10. Built-in firewall that does not blackhole traffic without telling you.  The Apple firewall has great logging which makes debugging an issue a breeze.
  11. AppleScript – pretty easy to learn and allows you to automate simple tasks on your desktop.
  12. Mail.  The built-in mail client works well and supports multiple email account from a single UI.
  13. The Macbook Air form factor.  Simply awesome, light, portable with 6+ hours of battery life even with my screen brightness turned up and power savings off.
  14. Oh, yeah, it’s cool!

 

Oh, yeah before I the flame mails telling me to use Windows 8.  I have and find the Metro interface horrible without a touchscreen.  When I use it on a touchscreen, I hate the fingerprints all over the screen.  I’m constantly cleaning my screen.

 

Categories: Technology Tags:

Free Stuff – iPhone Applications that can help you grow

December 13th, 2009 No comments

In an effort to utilize some of the time that goes to waste everyday, I decided to download some non-fiction books for my iPhone.  My plan was to put the various time slots that are normally spent not being used productively in a more constructive manner.  And so my search started and found some free applications.  I approached with caution because I was not expecting much from free stuff.

I found a number of applications created by the folks at Tapstack where they have taken a number of non-fiction books and converted some of the core content into flash cards that are easily viewable on the iPhone.  Here are some of the books that I downloaded from the AppStore.

SparkPilot.com_Iditarod_Leadership image SparkPilot.com_New_Art_of_Managing_People image SparkPilot.com_100_ways_to_motivate_others image

The application provides selected content specifically formatted for the iPhone screen.  Here are some screen shots of the applications.

SparkPilot.com_Iditarod_Leadership_card_image image SparkPilot.com_NAMP_card_image image

There are a number of books available and I found the best way to find them was to search for “tapstack” using the search function in the appstore.

Now, you can continue your personal growth whenever you have some exra time that would normally have been wasted.