Post

May 04
Configuration Management Tools

Configuration Tools.png

Mar 15
Get the Phoenix Project on Audible

Absolutely my favorite DevOps book!  If you are wondering what DevOps is or what problems it solves or how implementation might look in your organization the Phonix Project is for you.  Not like most IT books I have read this book is more like a Novel it reads like a good fiction I couldnt put it down!  I had to stay up late to see what Sara was going to mess up next with her unauthorized IT projects.

A great follow up to the Phoenix Project is the DevOps Handbook.

​​​      
If you dont have an Audible account already use the link below to get both books for free!!​​



Feb 03
Go To Training vs. Zoom

​Doing Webinars and Virtual Classroom training requires a tool with a few key features to get the job done correctly.  Finding a tool that has the necessary features and a price point that allows you to remain (or become) profitable can be a challenge.
So to that end we at ProDataMan are evaluating www​.GoToTraining.com and www.Zoom.com to determine which fulfills our current virtual training needs. I have a few clients and colleagues that use either​ Zoom or GoToTraining and have heard their feedback so now we are casting a wider net.
Is your team using one of these tools? Which is your favorite? Have you attended a webinar or virtual training using one of these tools? Which is better from an attendee perspective?
Any insight or feedback is greatly appreciated.



Dec 23
FREE Webinar - What is DevOps

What is DevOps?

Free Webinar starting at 12/23/2016 2:45 PM 
Attend our live recording session or view the completed recording at your leisure...

Please the Webinar Recording Session:
https://attendee.gototraining.com/r/1312800770419621121​


Dec 19
Slicing User Stories – Method 6

Slicing by CRUD or ISUD (AKA Slicing by Operations)


Any User Stories​​ involving a managed entity, such as a Customer, Order, Employee or Product, will almost always require some level of management functionality. This management functionality will provide the ability to perform a number of operations including at a minimum operation, such as Create, Read, Update or Deleted. These operations are commonly referred to as CRUD but that is such an unfortunate acronym as it sounds like something you get between your toes.. Not to mention the fact that in most Relational Database systems such as MySQL and MS SQL Server the operations are actually called Insert, Select, Update and Delete making the acronym ISUD. ISUD sounds better, soapy and clean to wash away the CRUD between your toes. So forever more on this site CRUD operations will be referred to as ISUD operations!

ISUD operations are very prevalent when functionality involves the management of entities, such as products, users or orders:

As a Specialty Kite Maker, I want to manage Kites in my ecommerce website, so I can update Kite details and pricing information if it is changed

If we consider the ISUD typically associated with Product management, we can derive the following more specific and granular User Stories​​​:

As a Specialty Kite Maker, I want to add new Kites to my product list, so customers can purchase them;

As a Customer, I want to view a list of Kites available for purchase so that I can buy one;

As a Specialty Kite Maker, I want to list the Kites in my product list, so I know what Kites are currently in stock;

As a Specialty Kite Maker, I want to update existing Kites in my product list, so I can adjust for changes in Kite details and pricing information;

As a Specialty Kite Maker, I want to delete Kites from my product list, so I can remove Kites that I no longer sell;

As a Specialty Kite Maker, I want to hide Kites in my product list, so they cannot be purchased for the time being;

When discussing this method, the question often becomes, "do these more granular User Stories​​ actually provide business value?". Is our solution really useful if we cannot update or delete products from the system? If we consider that in the current scenario we are dealing with a "Specialty Kite Maker" odds are there are a limited number of Kites and Kite Accessories that will be in the product list. If this is the case then adding, editing or deleting the Kites could be done manually through a database management tool like SQL Server Management Studio for the first few Sprints. So, for the first Sprint we may just add the list (Select) functionality to support customer purchases and delay the other Update, Delete and Insert User Stories​​ for a later Sprint. This way we get business value sooner by minimizing "Work In Progress" (WIP) we are able to increase delivery date confidence and deploy only features necessary to value to the customer. In this scenario, the lack of Insert, Update and Delete functionality will not be noticed by the customer because these are admin only features therefore delivering just the customer facing User Stories​​. This allows us to get to market faster and begin collecting customer feedback while we work to complete additional features. In the case of discontinued or deleted Kites it may be easier to simply add a checkbox that allows the Kite Maker to mark an item as discontinued or deleted. This approach may keep the record in the database but simply hide it from the customer view making it easier to implement than an actual Delete operation that may require additional operations to enforce referential integrity.

In short if we break the User Story​​​ down by operation we can implement only those operations that provide immediate business value in early Sprints​​ and add other more specific stories once the base functionality is deployed to customers and providing them with "Value". "Customer Value" = "Business Value" which of course in almost every case translates to "Business Revenue" to pay for all of the Solution Development.

Slicing User Stories – Method 5 ***** Slicing ​User Stories – Method 7​​​

Dec 14
The Definition of Done

A team's Definition of Done is "that team's" statement that no more work is left to be done on that piece of functionality. Depending on the maturity of the team the definition of Done may be more narrow or more broad. There is no one "Standard" Definition of Done that can be applied to all projects and teams. The details of the Definition of Done will vary based on team as well as solution maturity and the type of work the team does.

The Acceptance Criteria for the User Stories, created by the Product Owner through customer meetings, will be the basis for the Definition of Done. Durring Sprint Planning the User Stories and Acceptance Criteria will be reviewed and refined.  The refined Acceptance Criteria will then be presented to the customer for approval being added to the Project Backlock and scheduled into a Sprint for completion. In most cases, a new agile team will adopt a narrower definition of done. A new team may not have yet implemented enough automation to get to a broader definition in the short span of time allowed by a two-week sprint. On a new project the Definition of Done may be more narrow as well since the may not be enough of the solution completed to justify a deployment to QA. A narrow or Minimal Definition of Done might include simple things such as:

  • Build completes successfully
  • Automated Unit Tests complete successfully
  • Automated Integration Tests complete successfully
  • All Acceptance Criteria​ is met

A definition of done of this scope makes good sense for a team struggling just to stay on track with completing scrum ceremonies in a timely fashion.

As the team perfects the scrum ceremonies and their agile cadence takes hold it will then be time to expand the team's definition of done. A more expanded definition of done might include additional things like:

  • Deployment to the QA environment completes successfully
  • Automated acceptance tests passing
  • Automated Load Tests completing successfully
  • Automated Stress Tests completing successfully

Note: These items are completed in addition to the items in the Minimal Definition of Done.

As you can see getting to this broader definition of done might prove challenging if your team is still performing deployments and tests manually. In more arcane development days past the development team would celebrate and wash their hands of the project, exclaiming "Done! We're going to Tahoe", as soon as the coding was complete but long before any tests or security scans were run or the solution was successfully deployed to QA let alone production. It is this "Tahoe Effect" that we are looking to avoid with a broader Definition of done.

In short Defining "Done" and posting your definition in a highly visible place where the entire team has access will serve as a constant reminder of what Done really means. This well understood Definition of Done will go a long way toward building quality into your solutions earlier in the Delivery Pipeline and build confidence with downstream teams.

Dec 06
Top 10 Methods To Promote Your YouTube Channel

                I previously wrote a post about promoting your blog and found that a lot of the methods are similar. To ensure the best results I'll give an overview of the methods which work for both and then go into the methods that are specific to YouTube.

                Obviously, your best bet for promoting anything is social media. YouTube videos will be easiest to share on Facebook, Twitter, Instagram (especially because it will just be clips that will draw people in to see the rest), and Google Plus.  You also want to be an active member of your targeted community. Reddit & Quora are good for direct interaction, while you can also just comment on other YouTube videos or Facebook posts and pages. Giveaways and contests are always an easy call back for people. Even with YouTube you still don't need to come out of pocket for these. You can offer something so simple as a shout out or a link in your description or a download. E-mail will most likely always be helpful in your promoting endeavors. Newsletters with multiple videos, updates, and even something as simple as adding your signature to any emails are simple ways to increase traffic. Search engine optimization is your best friend! Titles, tags, and descriptions should always include commonly searched for phrases that are related to your video, not just words. And oddly enough, blogging will help bring traffic to your videos. Sharing your information in multiple formats will help reach a wider variety of viewers, which are always welcomed! If you're utilizing blogging, then you would want to put on a YouTube subscribe widget so they can subscribe to your channel without even leaving the blog. Now let's get to the YouTube specific stuff!

Thumbnails:

                Easy enough, right? You want your thumbnails to be clear and precise images that show what your video is about. Your thumbnail should be a capturing image that sets you apart from other videos in your genre. If you have words to grab attention, make sure that they are still clear when shrunk down to thumbnail size (best resolution would be 1280×720. If you're not sure what kind of image or text would be the most eye catching, test out different styles with each video you post and see which videos are getting more traffic. Along with your thumbnails you should be making sure that your titles are short and sweet but also intriguing. This goes along with SEO, get the most out of a few words.

Embedding:

                Always make sure that embedding is enabled on your videos to allow others to share your content for you. To do this you would just go to your Video Manager and selecting edit on your chosen video then go to Advanced Settings and just check the box for "Allow Embedding". This allows your viewers to utilize YouTube's share feature. It's as simple as your viewers copy and pasting into their blogs or social media. You could also reach out to blogs similar to yours with this link for them to share. You can also use your link in your signature for your email or to post on your websites. You always want to make sure with every share of the video you are still getting credit for it to make sure you are still receiving the desired traffic to your channel and website.

Playlist:

                Creating a playlist of your videos is your best bet for receiving more views once somebody has already viewed one of your videos. When creating a playlist, it would be best to choose your videos that speak the most volume to your brand. YouTube will automatically play a new video anyways but it will usually play videos that are like yours, so instead of increasing your own traffic you might just send them off to somebody else's channel. If you're struggling with views on certain videos you could also add those into playlists to help increase them. I would suggest that you add in a few of your videos with less views with a majority being your best videos.

Scheduled Releases:

                Consistency is truly key. If your viewers know that you are going to release your videos on a specific day it would make it harder to miss your new video releases and information. Having a consistent schedule and number of videos will keep your channel active and your viewers coming back. The more content that you have the more your channel will appear in searches. When recording, your videos make sure to tell your viewers to tune in on your release date for your next video and remind them that you always release new videos on that specific day. If your video sparks an interest in somebody, then they will be more likely to check back in to see your next video.

YouTube Tags:

                Obviously, you want to stick to the content that you know, but every now and then there are YouTube specific tags. These tags will usually end up on the auto play once somebody watches one video. If you can find a tag or trend that doesn't fall too far from the content of your channel you should take advantage of it. This will draw in a new array of viewers that wouldn't necessarily go out of their way to find your channel. Even if they don't come back to watch more they may know somebody who would be interested in your content. Word of mouth is still an amazing form of marketing.

Q&A Videos:

                Interacting with your audience is very important. It keeps you connected with your viewers instead of just being something they watch or listen to online. If you have people email you or comment on a video their questions you could easily just make a video with your answers. This keeps you from needing to respond individually to each question you get and maybe even release some extra information you wouldn't have thought to include that could draw you more viewers. If you have a channel that is focused on your opinions or reviews, then a Q&A for your viewers to get to know you more on a personal level will make them feel like they know you more than just on YouTube. This helps people to trust you and will be more likely to suggest your channel and videos to others.

Call to Action:

                Another simple trick for getting shares and more viewers is to just ask for them. It never hurts to ask your viewers during your video to share it with all their friends and coworkers if they enjoyed it or found it useful. Also, asking for their suggestions and to leave comments on your video will not only show them that you value their opinions but could also spark conversations between your viewers. If people feel they can discuss your content they will be more likely to bring that discussion outside of YouTube, thus creating more traffic for your channel. If your channel is paired with a website, always be sure to include that in your description or a video annotation. In addition to your website you could make annotations suggesting another video of yours that is the most related to the current video. At the end of your video is a good time to also link your other videos and website. The more ways you have your information available the better, you never know which method will speak the most volume to your viewers.

YouTube Fan Finder:

                YouTube has a feature that allows you to choose up to 5 advertisements for your channel. The best part? It's free! The YouTube Fan Finder will play your ad on related videos to attract an already interested audience. When somebody clicks on your ad it will take them to your channel. Your ads should be short and sweet. Because people can skip ads you want to make sure you are getting your most intriguing information out in the beginning of your ad. Your ads should be a clear preview to your content, you want to get the most information out in a short amount of time. You would want your ad to be a description of your content, enough to make them want to click but not too much to make them skip over it.

Partnerships and Collaborations:

Partnering with a brand would help not only you but also the brand. When partnering with a brand you could do something as simple as your review of new products or simply just promoting them. When you are consistent with a brand people will pointed in your direction simply because of the brand. Tubular Creator Profiles is one option to help connect with brands. Collaborations are also helpful; this compares to guest blogging. When you do a collaboration video with somebody this will help get your name out with new viewers. If another YouTuber has a strong following their viewers will be more likely to go check out your page and vice versa. Your collaborations should be with people who share similar content to yours, a second opinion never hurts!​


Dec 05
Home Automation Shopping List

​Continuing to add new devices to my Home Automation Shopping list (http://amzn.to/2g3vTZo) The Samsung PowerBot is the latest device that has me drooling.​

Save the link to the ProDataMan Home Automation Shopping List on Amazon (http://amzn.to/2g3vTZo) and ​check back over the next couple weeks as I will be adding many more items to the list as Christmas gets closer.  Also stay tuned to the ProDataMan YouTube channel at www.YouTube.com/ProDataManTrains​ as there will be Box Openings and Reviews of Home Automation Products that we install in our remodeled Smart Home in Kenmore, Washington... Also check back after the holidays if you are interested in spending a few nights in our vision of the Smart Home of the Future.  Actually the Smart Home of the Present at very affordable prices!!  The house will be available on Air BnB in February.


Dec 03
Home Automation

Over the past few mont​hs I have purchased and installed a few of my favorite home automation devices. ​ I will post box openings and reviews in future posts.

For now suffice it to say that Affordable Home Automation is here and really easy to aquire, install and setup.

To begin my Home Automation adventures I purchased an Amazon Echo, Philips Hue​ Hue White and Color Ambiance A19 Starter Kit and Samsung Smartthings Hub.  I plan to add motions sensors as well as smart switches and plugs in the very near future.

Reviews of each of my current Home Automation devices coming soon. Also just received the Google Home in the mail a few days ago as well as an Amazon Echo Dot. More on those later.

     ​
Nov 05
Slicing User Stories – Method 5

Slicing by Input Parameter (Datatypes)


In most cases a business process or whatever function that the new feature is intended to automate requires some data to perform its actions. For the sake of this discussion we will refer to this data as Input Parameters. Data of different types in most cases will need to be processed differently. For example a search for a customer's last name would most likely require a String Comparison against the LastName field in a database while a search for a customer by their Customer ID would require an Integer Comparison against the CustomerID field in a database. Some User Stories​ can be split based on the datatypes they return or the parameters they are supposed to handle.

Take, for example, a search function for a standard ecommerce website:

As Customer, I want to search through available products so I can view their details and order them;

Since there are potentially many different ways a customer might want to search for a product that they need or have previously ordered, each one of these search methods could be considered as a unique User Story:

As a Customer, I want to search for a product by the order date, so that I can find products that I have ordered before;

As Customer, I want to search for a product by its Product Id, so that I can find a product that I am familiar with;

As Customer, I want to search for products within a Price Range, so that the search results are relevant;

As Customer, I want to search for products by Color, so that the search results are more relevant;

As Customer, I want to search for products by Category, so that the search results are more relevant;

As we begin to think on a more granular level about the search function we can more clearly understand the kinds of search criteria the customer might be used. This allows us to more accurately implement the customers desired functionality, but it also allows a Product Owner to make decisions about priority within the feature and not just at the story level. For example, with just a few products in a new ecommerce web application paging 10 products at a time may not be necessary. Or maybe some of the search functionality can be implemented in a simplified manner for the time being. Another example is breaking down the User Story​ based on how the returned data is displayed. Perhaps our ultimate goal is to have sales results and product ratings displayed as beautiful 3D charts and animated graphics dynamically produced based on real-time sales data. But for the first release the sales manager will simply import the sales data into excel and manually export 3D charts and graphs from excel on a weekly basis.

Slicing User Stories – Method 4​ ***** Slicing User Stories – Method 6​

1 - 10Next