The Shortest Distance

We’re always looking for ways to get better and faster at what we do. I was thinking the other day about how in Geometry the shortest distance between two points is a straight line.  Look at this image I created:

Straight Line

“A” and “B” represent directions. Perhaps these include research, design, and implementation. In the middle there is a decision point. Either way, whichever direction you go, you’re not taking the most optimal path. Both “A” and “B” have right angles, or in this example, extra work.

Now look at this image:

Straight Line

A new path, “C”, has been established. This is the most optimal path to take. It has a shorter distance and is a simpler solution.

Strategy: Keep it simple! The best way to think of this is that by introducing “turns” we increase complexity. These are simple drawings and most projects would have many more factors to consider. Imagine the drawing with 10 or 15 angles. Keeping things simple, in order, and straight should be a goal. Obviously, scope changes and things happen, but overall the “keep it simple” model is what I always try to use.

Note: The shortest distance between two points being a straight line is only true on flat surfaces. Introducing depth changes this fact.

Posted in philosophy, project management | Tagged , , | Leave a comment

Priority Consideration Table

It can be difficult when trying to determine which project should get priority over another. If left up to business leaders, they would all get priority. I’ve actually seen instances where different business units could not come to an agreement on the top priority because no one would give an inch.

This table, if used, can actually prevent this scenario from even happening:

Untitled

This can be edited to better suite your organization. The key take away is that each project should be put up against something similar to this.

Strategy: Assign points to each category: 5 points for High, 3 points for Medium, and 1 point for Low. For each check box selected, add up the total points. The project with the highest point count gets the #1 priority tag. A project with two high priority categories trumps a project with three Mediums for example.

Posted in Management | Tagged , | Leave a comment

Nerf Wars!

Untitled

I was recently taking  a training class across town. During the class the instructor said, “Oh, at about three o’clock the room next to us will have a nerf gun war. So, sorry if they get loud.”

Most of us in the room looked at each like “what?”. Well, right at three o’clock, not only did we hear the nerf gun war but we saw nerf bullets flying by as well.

I have to be honest, this put a smile on my face. What a cool and fun way to let off some steam! I could tell this place was all about fun because they also had a ping pong table in the middle of the floor with plenty of balls and paddles as well as snacks and soft drinks freely available.

Boosting morale is something that companies should have high on their to do list. Happy employees should be a top goal – and is something that gets pushed aside due to “business as usual.” It’s not always expensive and difficult to achieve this. It may just take a few toy guns and a few minutes each day.

Posted in Morale | Tagged , | Leave a comment

Prioritization between projects

The most efficient way to prioritize projects and complete the work is one item at a time. See the below diagram for further explanation:

Prioritization

This diagram was borrowed from the book “Scrum” by Jeff Sutherland. The explanation is as follows:

1.) The top line shows that traditional project management follows the line of thinking that everything is important so work on every project at once. By working multiple things at once, you lose a % of time to context switching i.e. waste.

2.) The bottom line shows that Agile says to focus only on one project at a time. You do not incur waste due to context switching and you finish all three projects sooner than focusing on all three at once.

Strategy: Focus on as few items as possible. This goes along with WIP limits. As well, it may be necessary to enforce hard project limits per person i.e. no more than two projects at any given time.

Posted in Management | Tagged , , | Leave a comment

Team Health Check

This is an idea that leaders can use to gauge the overall health of a team. This should NOT be used in a negative way such as comparing one team to another or making a team feel bad for having a lower status. The point should be that if a team rates themselves low then we must ask why. Here is a very simple graph that can track this metric:

Untitled

The team should rate themselves and no one else. If a team is in the red we should start asking questions. Why did they rate themselves as red? What can we do as servant-leaders to improve their status? They should put reasons next to why they rated themselves a certain way.

Strategy: This is a drawing that can be made on a marker board or a stick and peel easel pad. It can then be placed into an area that the team often frequents such as the daily stand up. Let the team choose their health status and the reasons why. Use real sticky notes as shown above. There should be consensus from the entire team when going from one status color to another. This can be used for both scrum and silo’d teams alike.

Posted in Management | Tagged , , , | Leave a comment

Leadership at all levels

If you’re not being a leader because of your title then you’re missing out. I’d like to think that I’m a leader even though I’ve never been a manager or executive and haven’t had an official “leader title”. The point is that your level, be it a new hire or seasoned veteran, should not dictate whether you bring leadership to the table.

Leadership is one of the most important intangible skills because it takes a combination of the others (communication, positivity, etc.) to possess it. During hiring I look for leadership skills and other intangibles over technical skills because, in my opinion, it’s harder for someone to learn those skills vs the “0’s and 1’s.”

The book The World Is Flat is about economics, but you could also apply that title to leadership. Businesses are increasingly going to a flat management style. This is putting more onus on individual contributors than ever before. I think this is  a good thing. Too many layers creates bureaucracy. It also means, like it or not, you’re going to have to step up your leadership game. Better to start now than to wait around.

Here are some ideas on things you can do to further your leadership skills:

  • ALWAYS have a positive attitude. I can’t stress this enough and it’s personally my #1 leadership skill. I’ve been around too many people with jaded attitudes and it’s just awful.
  • Do good work. It’s that simple. If you’re putting out the best work and are the most efficient team member others will recognize that. It may also lead to promotions.
  • Have answers to questions that no one else does. This is not easy but it is possible. If you’re always the one with answers management will go to you above anyone else.
  • Think outside the box. This is a bit of  a cliche, I know, but it is true. If you do things only because that’s the way they’ve always been done then you’re not innovating.
  • Innovate. You can do this by learning a new skill-set or bringing new ideas to the table.
  • Lean on someone you feel is a leader and learn from their habits.

Update 3/30/16: I came across an article on linked in called How TO Be A Leader When You’re Not The Boss. It was written by Ilya Pozin, the founder of Pluto TV and  writer for Forbes. I was extremely surprised by this article for two reasons: One, it was a nearly identical article to this post, and two, in the article is a survey done by Waggl that says the top Human Capital priority of 2016 is “Leadership at all levels” – the exact title of this post. My post was written in Oct. 2015. The survey was done in Dec 2015 and Ilya’s article written 3/2016. I’m gratified to know that my thinking is in line with Ilya’s!:)

Posted in Management | Tagged | Leave a comment

Create vCO/vRO scheduled workflow automatically

With vCAC/vRA, when you “destroy” a machine it deletes the vm immediately. There is a setting you can disable that will not delete it but instead will power if off and send it to a default “destroyed” folder in vCenter. However, after that it just sits there until it’s manually deleted.

Due to a business need, I wrote a workflow that automatically deletes the vm after a given number of days. In my example, we delete vm’s 14 days after they’ve been shut off. You can edit the code to make it however many days you’d like though.

First, if you haven’t changed the destroy option yet, check out this blog on how to do that. Once done, go on to the next step. http://dailyhypervisor.com/vcloud-automation-center-vcac-5-1-preventing-vcac-from-deleting-destroyed-virtual-machines/

Once you have disabled the immediate delete feature, you’ll want to do the following in your vCO/vRO console:

In your Decommisson workflow, drag and drop a scriptable task element on the page. You’ll probably want to make it one of the very last elements. Here are the properties:

and the script is:

workflowScheduleDate = new Date();
var day = workflowScheduleDate.getDay();
workflowScheduleDate.setDate(workflowScheduleDate.getDate()+ (day == 0 ? 14 : day == 1 ? 14 : day == 2 ? 14 : day == 3 ? 14 : day == 4 ? 14 : day == 5 ? 14 : day == 6 ? 14 : 0 ));

//This workflow ID is Delete virtual machine — copy and change to suit other workflows
var workflowToLaunch = Server.getWorkflowWithId(“BD80808080808080808080808080808003C180800122528313869552e41805bb1”);
if (workflowToLaunch == null) {
throw “Workflow not found”;
}

var workflowParameters = new Properties();
workflowParameters.put(“vm”,vcVirtualmachine);
var scheduledTask = workflowToLaunch.schedule(workflowParameters,workflowScheduleDate);

System.log(workflowScheduleDate);
System.log(scheduledTask);

The most important part is understanding how the days are calculated. If you see where it says “day ==0 ? 14”, this is javascript saying if day = Sunday, then schedule the deletion 14 days later. You could work the numbers to be business days only. You’d have to take into account the number of days and weekends etc. Our policy is 14 days from the time of shut down – business or not. Nevertheless, if your policy is 30 days, then just replace the 14 with 30.

Update1: If you want to give the user the ability to choose the number of days, all you have to do is create an input parameter type number called something like “numDays” and replace all of the “14’s” with the numDays variable. Then, when the workflow is run, you can put in any numeral and the workflow will be kicked off that number of days later.

Lastly, be sure to change the long character string that is the delete vm workflow. In essence, you could schedule any workflow with this script – you just have to change the workflow ID. To get the workflow ID, click and highlight the given workflow, then hit ctrl-c, then open notepad and ctrl-v. This will paste the workflow ID!

Now when you “destroy” a machine in vRA, it will be shut off, moved to the default folder, and deleted 14 (or however many) days later!

Update2: If for whatever reason you want to kill the deletion of vm, all you have to do is the following: Open vCO/vRO client -> From the main “Run” page and on the home tabe, click on “Tasks scheduled in the sytem.” Find the scheduled task created for your vm and delete it. That’s it!

Posted in Uncategorized | 1 Comment