Sunken Costs: Cut Bait While You Still Can

Alright, you’ve made it this far. You’ve effectively identified that you have a problem, your project costs are sunk and you’ve worked to analyze and understand the problem. Now is the time. That time that no project manager or IT lead ever wants to reach. You have to make a final decision on your project and you have to decide how you can further mitigate any future damages. Below are some of the steps that should help to ease the pain on this decision process, and they should help set you up for a more successful future release.

  1. Have a short term memoryIt is likely that you have put forth a large monetary and emotional investment at this point, so this may be hard to do, but you have to forget all that. Whatever has been invested thus far has already been spent and cannot be recovered. Now look at your project as if it was day one and estimate the costs of your options. Costs of pursuing the project, not pursuing the project, and pursuing an alternate project should all be estimated at this point. Would you invest in this project at its current point if you were comparing the costs against other initiatives at this point?
  2. Fish or cut baitYour project has been a money pit thus far and you are hemorrhaging cash. This project has exceeded budget and has no chance of success. You haven’t cancelled yet, so now is the time where you make a final decision. With the information you have gathered, there is likely only one decision. Whether or not you feel like you have to cancel at this point, it may make sense to get some outside help on the final decision, but ultimately, you need to come to a conclusion and own it. This is your choice and you need to realize that it is likely people are going to be asking you questions on why the project was cancelled.
  3. Plan for release with future projectOk, you decided to cancel the project. This wasn’t an easy decision, but it was necessary. Depending on what the project was for, there were a variety of reasons why it was pursued in the first place. If it is related to a software security or support cycle then it’s likely you’ll need to figure out something to resolve this issue fairly soon. The same can be said of government or banking regulations. It will be beneficial to you and your company if you start planning for how you can implement and begin examining what really went wrong in the previous project.
  4. Work with experienced team for future deployment/releaseNo matter what issues came up that ultimately led you to sinking a large amount of time and resources into a failing project, one thing that will be incredibly beneficial for future efforts, if you choose to pursue a similar project down the road, will be finding an outside team that has worked on similar releases in the past. Whether or not it was a staffing issue in the previous attempt, having someone who has lived through the adversity seen in a similar project will be able to offer a better chance at carrying the team past some of the major hurdles and towards success.

It’s easy to take the credit when a project goes great, but it’s not nearly as easy to admit to failure. Nobody likes to fail, but it’s important to realize when you’re stuck in a situation where a project is sucking up resources with no hopes of producing positive results. Being able to recognize your failures is a great skill and can ultimately save you from investing additional resources when there is no hope of salvaging things.

If you have any comments on please hit the comment button at the top of this post, and be sure to follow me on twitter @burked585.

Sunken Costs: The Second Step is Understanding and Analyzing the Problem

Okay, you’ve admitted you have a problem. You’ve taken an important first step in fixing your issues with sinking costs into failing projects or legacy systems. That must be a huge weight off your shoulders. You’ve made an important stride today, and these efforts will help to better you and your company. Now that you’ve admitted the problem, it’s time to do some analysis. What’s the point in knowing the problem if you can’t learn anything from it or figure out why you are failing.

  1. Flag the deficienciesWhere did things go wrong? What caused this project to fail, and what has led to this scenario where you are chasing bad money with good? There is no easy answer to the problem, but I have found that working with your team and compiling a list of issues with a failing project can not only be incredibly therapeutic, but can also provide different levels of understanding of where issues came up.
  2. Figure out current costThis is a necessary step for covering you bases. If your project is failing, whether it is your fault or not, you are going to have to report up the food chain on the why’s and overall costs. Knowing these numbers will provide a basic idea of what a future project could cost, and this should provide some clarity around future budgetary needs for your team.
  3. Forecast potential future costsLook at your project as if you were on day one and try and estimate how much more money you will need to invest to make this successful. Be honest and don’t try and give the optimistic numbers that you may have been geared towards recently. Knowing that the project hasn’t been going well, try and account for the unknown-unknowns at this point and provide a large amount of variance. After getting this number, also come up with potential costs for any future project that may be required if this one is scrapped.
  4. Know your labor contractsThis is important if you signed a contract for a set period of time, or for a project’s duration. If you have a good legal team, this likely isn’t much of an issue, but if a project is terminated prior to completion, it is important to know what type of continued impact this could have on your budget and bottom line. Failing projects with poor project team contracts can really be the gift that keeps on giving.

Congratulations! You’ve made it through step two. You now know you have a problem and have some of the necessary tools to CYA when your boss asks you about your sunk costs on a failing project. The last step is making a final decision. Check in later this week for the last installment in this series. If you have any comments on please hit the comment button at the top of this post, and be sure to follow me on twitter @burked585.

Sunken Costs: The First Step is Admitting You Have a Problem

Every manager hates to have a failing project on their resume, and will fight tooth and nail to get the necessary funds to lift the proverbial albatross from their neck. Sometimes, very rarely, a failing project can be turned into a successful project by spending your way out of it. Sometimes an organization will spend money on supporting legacy software and hardware applications because they don’t want to invest the money in upgrades, and sometimes an organization will spend millions of dollars to keep Windows XP support for a few months rather than upgrading their machines **cough** IRS **cough**

Have you ever reached a point in a project or a software support cycle where it feels like you just keep piling in more and more money without getting any tangible results? This is an all-to-common occurrence, and often there isn’t any real time to reflect on why something is continuing on the same trajectory even though it has become a money pit. There are several reasons why people will continue to pile money into failing projects or supporting end of life hardware and software, but short of it being an absolute necessary undertaking, most of the rationale for continuation is weak at best.

How can you tell if your company is stuck chasing sunken costs on a failing project? Below are my recommendations for recognizing the problem.

  1. Get an outsider’s perspective
    If you’re part of a project team, or involved in the software deployment for your organization, it is likely that you’re not far enough removed from the project in question to be able to make an analytical decision. Emotions run high on pet projects and an outsider should be able to analyze the situation better than the project team.
  2. Analyze the need Is your project absolutely necessary?
    What are the impacts of not finishing this project? It’s important to keep the end goals in sight when you’re analyzing the need for your project to come to completion.
  3. Perform a cost benefit analysis
    This is critical for determining the actual value of your project relative to the costs that you are inputting. If done properly, this should be one of the key identifiers for your team on whether a project is going to pay off in the end, or whether the continued costs will be made up for by the gains created after finishing.
  4. Identify the likelihood for a new project in the future
    If your project is focused on application or hardware deployment, knowing there is a new release dropping in 6 months might be a good indicator of whether your current project is worth the time and money. Nothing is worse than having to go through another major project on the same tool less than a year after you finish the current build.

 

The first step here is admitting you have a problem. Once this has been identified, it’s much easier to take the proactive steps to get things fixed. Check in later this week for my next installment in this series. If you have any comments on please hit the comment button at the top of this post, and be sure to follow me on twitter @burked585.

When Easter Egg Hunts Turn Rotten

Easter is over, and if you’re lucky your kids found all of the eggs you had hidden around the house. If you’re not so lucky, you’ll begin smelling that distinct rotten egg odor in a few weeks, and after looking under every couch cushion, on every window sill and behind every nook and cranny, you’ll hopefully get the last of them. The problem is there is always the chance for a few more surprises in the coming weeks/months, and without properly identifying where you hid everything, it can be difficult to remember if you got them all.

You’re probably asking yourself why a tech blog is discussing kid’s Easter egg hunts. The term Easter egg is also used when describing hidden surprises or inside jokes in programs that were put in by the programmers. These are usually fun surprises that end-users end up discovering at some point and add a little sense of enjoyment and feeling like they are on the inside of the circle that created the joke.

I’ve also seen the word used in a different way. This definition isn’t necessarily the happy surprise found in the other definition. The other type of Easter eggs are those that were not intentionally put into place, but are still included in the end program (sometimes also described as glitches). These are a surprise bug or defect that can diminish the product but were not found when initial vetting by the programmers or end users. These are the rotten Easter eggs that your kids did not find.

When setting up an application, a network, or a server farm, there are several points that require human input. If you have the wrong person inputting these decisions, there can be many unforeseen repercussions down the road. Like catching a whiff of some three-month-old hardboiled eggs that have been sitting at room temperature, finding these types of issues can have a seriously negative impact on your day and your overall view on how things should be done.

The problem with these hidden issues, is that they are often recognized too late, or after the original creator has left. If the person was inexperienced or just taking an easy path towards finishing their tasks, then it is likely that they knew how they set things up and were in no hurry to change them. It’s only after a different set of eyes are on the environment, that there is a realization that things were done incorrectly.

While it is not fun to hear when you’re sitting in a smelly living room, or working through a non-standard network deployment, the solutions to both of these problems are very similar: plan ahead. All egg placers or employees should know how to properly plan where and what they do with their resources (or eggs) and all decisions should be made known and documented. By simply planning ahead, there should be no rotten Easter eggs stinking up your future.

If you have any comments on please hit the comment button at the top of this post, and be sure to follow me on twitter @burked585.

Unleash the Power (View)

Sit in any managerial meeting these days and you’ll likely hear a bevy of words describing the use of, or need for advanced data analytics. People and businesses are becoming more aware of the need for advanced metrics, as well as the need to analyze the different facets of their business.

In a previous post I described the different ways in which Microsoft SharePoint can be used to build dashboards and analyze data using their BI tools. One of the most powerful tools in the SharePoint BI arsenal is Power View. This is a newer feature that was added in the SQL 2012 suite and combines the power and capabilities of SQL Server Reporting Services, PowerPivot, and SQL Server Analysis Services. That last line really was a mouthful, but Power View does provide much more capabilities than any other service Microsoft had previously offered (although recently released Power BI in O365 is expanding on this even more).

So, at this point, you’re probably asking yourself what is this and what can it do for me? In short, it’s a much more user friendly way to create reports and presents a clean way to present data sets and reports to your target audience. Here are some of the ways in which you can leverage Power View.

  1. Embed Reports in PowerPoint PresentationsYou can embed interactive reports in PowerPoint presentations. For anyone who has ever struggled through inputting twenty different screenshots around the same data set, this is a lifesaver. You can Pivot on different data and show different views during a presentation. This is especially helpful in complicated data sets where your audience will be asking questions on how the data relates.
  2. Embed Reports in SharePoint SitesAlong the same lines as the embedded reports in PowerPoint presentations is the idea that your can embed a report directly on a SharePoint site. This is helpful in creating a collaborative report that many different people can slice and narrow to their own personal needs. The interrelationship between PowerPivot and SSRS allows for interactive reports that are updated in realtime by the data connections on the site.
  3. Build Location Based ReportsOne of the great features in Power View is that you can build interactive reports based off of location data. This allows for a visual perspective on how different areas may be covered by different data sets. If you’re an international business you can build in the map data associated with your sales or metrics reports. If you’re a domestic company, you can build a state or locality view of your metrics. This reporting feature is a great way to visualize your data and the locations associated with your business.
  4. Pivot on Live DataYou can build reports based on live data that is pulled into SSRS. These data connections are available in PowerPivot as well, but the capabilities are expanded in Power View.
  5. Attach Images to Data SetsFor further visualization, you can attach images to your data points and different row or columns in your data set. This doesn’t remove any of the functionality described above, and using images can help to enhance the views you are providing for your audience. This give a much cleaner and more professional look to the reports than PowerPivot and provides an added layer to the overall look of your presentation / or site.

Power View has been available since the release of SQL 2012, and the functionality is only going to get better with each additional release. The current setup is conducive to better visualizations and reporting than SSRS or PowerPivot on their own.

If you have any questions or have anything else to add please hit the comment button at the top of this post, and as always, be sure to follow me on twitter @burked585.

6 Tips for Getting More Social with Social Media

The revolution has started and you’re in the front row. You’re at a decision point here: do you want to be a part of the change, or do you want to take a passive approach, carefully watching what everyone else is doing. If you chose the latter, go ahead and skip reading the rest of this post, crack the champagne and toast to your company’s impending decline.

This may seem like it’s a bit alarmist but it’s the truth. New technologies and ways to reach audiences come around once a generation. This generation’s change is social media, and it’s far more reaching in its impact to the way that people interact with companies. Things are no longer done in a one-to-many communication format. People expect instant results along with instant access to the people they are communicating with. Your business is included in these expectations.

With this instant gratification concept in mind, you’re probably wanting me to get to the point. Without any further lead-in, here are 6 tips for your company to get social with social media.

  1. Join the conversation Whether you’re involved in the conversation or not, people are talking about your company. Make sure that you’re getting in on the discussion and framing things on terms more agreeable to your organization.
  2. Join or create the community Have a software business? Setup forums for your software and keep techs actively posting. Have a restaurant? Build a following around your brand by interacting with both positive and negative reviewers on Yelp! Don’t be afraid to interact with people in various communities related to your brand.
  3. Add Value When you are on your favorite social media site do you read the ads, or do you read posts from your friends and places that add value for you personally? This is an easy answer. Your customers will use social media in a way that adds value for them. Being told what to buy without gaining any personal benefits will not be their go-to choice. Contributing in the community can give your company more exposure than simply announcing your presence.
  4. Be relatable, be real Posts should be relatable to the community you are targeting. This isn’t to say that posts shouldn’t have a professional feel or a message that builds the company’s profile, but it should be a goal to keep things sounding like they come from an actual person. Stay in touch with your audience rather than creating posts that are easily vetted out as a marketing department’s ploy for driving sales.
  5. Know your audience’s platform preference Follow the trends and try and target your social media presence for platforms that are most commonly used by your key demographic areas. If your company is targeting the 18-24 market, LinkedIn probably isn’t the best choice for building your community. Instagram is gaining in popularity with the younger crowds and Twitter is becoming a catch-all.
  6. Don’t feed the trolls This is more art than science, but try and determine who the trolls are in the community. There are some people with legitimate gripes who should be given the necessary attention to retain their business, but some social media users are just there to get a rise out of people. These people don’t contribute to the community and can eat up large chunks of your social media marketing time.

Social media is a far reaching marketing tool that isn’t being leveraged nearly to its capabilities. If your company hasn’t implemented any social media marketing efforts, without seeing your company, I can tell you that you have room for improvement. Come join the 21st century and hop on board for the new way to reach your customers.

If you have any comments or questions, please hit the comment button at the top of this post. Please be sure to follow me on twitter @burked585.

5 Easy Steps for Mitigating Your IT Risk Exposure

Things go wrong in IT. This is a given. Hardware breaks, software has bugs, hackers find a way of exploiting security weaknesses (see Heartbleed). Nothing ever goes perfectly, and this is a fact of life. People have two ways of dealing with these technology related issues; 1) they often completely ignore the potential for problems and deal with them in a reactive manner; or 2) they plan ahead and try and get in front of these problems before they become liabilities.

For those who have not taken the time to plan ahead, the rationale given is often either cost or lack of awareness related. Having the in-depth knowledge of a business environment and the foresight to plan ahead on these issues can be expensive and time consuming. Using this strategy often leads to long nights on support calls and large bills at unexpected intervals.

For those who do plan ahead, there is a large investment upfront in avoiding any surprises. While issues can still pop-up that lead to added costs, the potential for gotcha’s is drastically decreased. For larger firms, this is often the method of choice. Any company is impacted by downtime, it’s a matter of risk tolerance for how long a company would be willing to be without their IT services.

If you’re firm is one of the first group there is hope. There are easy ways to keep your company in a risk guarded position that will help you to avoid some of the unnecessary issues that plague companies that aren’t fully planning ahead.

  1. Implement a Security and Software Patch CycleMost software and operating systems have a release cycle for security and software patches. Depending on the product, these can vary anywhere from a monthly release to as-needed releases. Setting a cycle for your business will provide your organization with proper notice on potential downtime.
  2. Develop a Realistic Hardware Upgrade CycleOld hardware can be one of the biggest efficiency killers in an organization. Whether it’s old servers, or Employee computers, upgrading hardware in a planned way will help to increase the efficiency of your organization. Older hardware is not designed to run the latest and greatest software, and this can severely inhibit the capabilities of your employees.
  3. Stay Current on Your Software and Operating SystemWith the planned phase out of Windows XP, there has been a bit of backlash in the business community. The support cycle has been released by Microsoft for years and businesses that did not plan for the change are feeling the sting now. Paying for continued support is costing several government organizations millions of dollars. Staying up-to-date would’ve cost some money up front, but would’ve ultimately saved money in the long run due to the lack of additional incurred support costs.
  4. Keep an Eye on Tech Security NewsMany news outlets have a tech page now (CNN, Fox, ABC etc) , and this is a good place to keep an eye on for awareness of any potential security issues that could impact your organization now or in the future. These issues have a way of coming around full circle and impacting an organization when they least expect it. Knowing what is happening in the world will at a minimum give you a heads up on where there might be the potential for future problems.
  5. Implement a Password Change CycleThis one sounds like common sense, but many organizations still don’t have this set as a requirement. Implementing a password change cycle will allow for added security and will prevent continued security breaches if a password is compromised. As a sidenote on this one, make sure the complexity requirements are sufficient to prevent any data breach from occurring.
  6. Deploy Changes in a Test EnvironmentIf you don’t have a test environment and you have processes that are dependent on servers or applications, this should be a prime consideration moving forward. Having a test environment enables your team to test any changes in a place that will not impact your production environment and will create a place where desired features can be vetted before they are deployed.

This is all about risk tolerance. If you are willing to risk your business and productivity, then there is no need for heeding this advice, but if your organization is not following any of the recommendations above, it is likely that you’re going to incur added costs sooner rather than later.

If you have any further recommendations for added security, please hit the comment button at the top of this post, and be sure to follow me on twitter @burked585.

Mitigate the Headaches from Employee Attrition

Losing talented employees can be crippling to a company or business unit. You lose the skills and knowledge that has been developed over the years in your organization, and this can be something that is difficult to recover from if the wrong person leaves your organization at the wrong time. The customary two-week notice that is given by employees is often not sufficient for filling a position (especially a highly technical one), and you can be left with gaps in coverage and support. With the average employee tenure of 4.8 years in IT related fields (From the Bureau of Labor Statistics Report), it may not be right away, but you will lose employees eventually.

In my previous blog entry, I discussed the different roles on your business’ teams. Replacing the all-stars and role players are going to be the most difficult, but there are few things that can be done to decrease the sting of these eventual departures.

  1. Promote from Within if Possible
    Hiring and onboarding new employees takes large amounts of time. If you have talented employees on staff that can learn the ropes on a new technical role, then it will save you some serious headaches. Replacing high quality employees is incredibly difficult, but sometimes there are people on staff who can fill these roles competently.
  2. Keep Great Process Documentation
    This shouldn’t be a recommendation just for filling in holes created by losing employees. Documentation is often overlooked in the IT world, and this shouldn’t be the case. If you want to reproduce a fix for a problem, not having the proper documentation will make it that much more difficult. Having great process documentation will make your life much easier when onboarding a new employee.
  3. Have Backups; Then Have Backups to Your Backups
    Cross-training is essential these days. You never know when someone is going to have an emergency or need to take a vacation. Having someone to fill in will help in these situations and will be even more helpful if someone leaves. Having team members with the ability to fill multiple roles on a team will limit your exposure in the event there are ever any issues.
  4. Document Every Team Member’s Job Duties
    Knowing what everyone does on a daily, weekly, or monthly basis will be helpful in avoiding missing any of the subtle work tasks that an employee performs. In a technical role, this can be, but is not limited to service account password changes, log maintenance, disk space management, or database maintenance; all of which could have disastrous effects if they are not done when needed.
  5. Perform an Exit Interview
    This is a common practice for most companies, but it should not be overlooked. The best way to find out why a team member is leaving is to ask them. If there are any core issues within your team, they can be exposed at this point. Knowing any mistakes your company made in managing its employees can be enlightening, and help to prevent some future attrition.

No company wants to think about losing their best employees, but thinking that no one will ever leave is naïve. Make sure that you are prepared for any future losses.

If you have any comments or any other suggestions on mitigating the impacts of losing employees, please hit the comment button at the top of this post, and as always, be sure to follow me on twitter @burked585.

Developing All-Stars and Making Tough Roster Cuts

With baseball season in full swing, rosters have been set, and some teams are making strides towards being the frontrunners for their divisions. The core of these teams is the talent on the rosters that they’ve assembled. These teams are oftentimes comprised of all-stars, role players, developmental prospects and some players that are just filling roster space.

As is the case with baseball teams (unless you’re Billy Beane), it’s a common practice for a company to invest their resources heavily in incentives for the All-Stars on their business units. This is important as it can be especially damaging if you lose one of these employees to a competitor. Nothing can be worse than losing the talent and knowledge that has been built during their tenure with your organization.

Continuing with the analogy, companies will also spend a lot of time and money training their developmental prospects, or younger employees. They’ll also put some money into developing their role players in the hopes that they turn to all-stars, but oftentimes massive changes in the work output is not seen. As I discussed in my previous post, Training: Invest Wisely, it’s important to invest your training budget in an intelligent way. Investing in employees that will turn the training into added profits and productivity would definitely fit in this category.

The last group are the players that are just filling roster space. There are employees like this in every organization and it’s on the management team to either shift these employees into productive team members or cut their losses.

So with the knowledge that there are different talent levels on each team, what should a manager do with each of these groups?

  1. All-StarsManagement should do what they can within reason to hold on to these team members. They are the lifeblood of the organization, and they are often self-motivated employees who generate results and increase revenues for the organization. Especially in IT, these employees are often incredibly experienced or especially talented in their organization, and they are the hardest people to replace.
  1. Role PlayersThis group is a necessary part of any team as they can take on many different tasks. While they may not be at the same level as the all-stars, their roles should be focused on their core strengths and an organization should work to provide additional training and resources to keep them happy. These employees will be consistent in their production and pair really well with the all-stars on teams.
  2. Developmental ProspectsThese are the employees that are oftentimes described as being “green.” They are typically fresh out of college and looking to get their foot in the door with the organization. These can be interns or other employees that are eager to gain the knowledge to be successful in the field. These employees don’t always work out, but they are a complete wildcard in the sense that they can become any of the other three types of employees. Management should pair them with all-stars for mentoring, so they can see the best in action.
  3. Roster FillersThese employees are oftentimes the most dangerous to keep around. If a team member isn’t pulling their weight, they can bring the morale of the entire team down. It’s important to identify when any of your team members fall into this category, so you can make a decision as to whether it is worth it to invest additional time and resources into pushing them into a higher tier or if it time to cut them lose.  Getting rid of team members is never an easy option, but sometimes a toxic attitude can poison an entire team.

Talent development is difficult, and identifying where each of your employees fall can be a bit of a tricky process. In IT, as is the case in any business unit, there sometimes are specialists that are difficult to peg into any of these roles. Deciding where your team members sit on this spectrum should assist you in deciding how to allocate resources and training.

If you have any comments on this post please hit the comment button at the top, and be sure to follow me on twitter @burked585.

When Waiting it Out Isnt Enough: SharePoint SP1

Software is never released as a finished product. This is a fact of life in the IT world, and the longer you work in this industry, the more of an appreciation you’ll have for the fact that things are released in an unfinished state. In my previous post, “When is the Right Time?” I highlighted the need to take a cautious approach to introducing new software into your environment. I had an even greater appreciation for this idea after this last week.

Microsoft released Service Pack 1 for SharePoint 2013 about a month and a half ago. Our team gave it some time to marinate, and we waited to see if any issues would pop up. Seeing as nothing major had happened over the course of that month, we worked on installing the Service Pack in our Test environment over the last two weeks. The day we finished the installation I found a post on the Reddit SharePoint sub-reddit that was describing issues associated with the service pack. Sure enough the link came up with the message below.

Even when you’re careful and you do your due diligence, there is still the potential for issues to pop up with software upgrades and patch deployments. This is not a typical situation, but we were lucky, in that we only had deployed it in our test environment to this point. Microsoft will likely come out with an additional patch to fix this issue, but the fact of the matter is that these types of things will definitely make you tense up a little when realizing there is potential that you will need to rebuild an environment.

Sometimes there is nothing you can do to prevent these types of issues, and the only thing you can do is react to the issues as they come in. This is somewhat of a micro chasm of IT support as a whole. Even when you do everything right, there are still things that will go wrong. All you can do is take your time, do your research and verify that all of the information you are working with indicates that you are making the correct decision.

If you have any comments, please use the link at the top of this post, and be sure to follow me on twitter @burked585.