The Cloud Life, Backups are for People Too

I had a real life cloud crisis moment occur this week. Fortunately some wise choices prevented disaster. The crisis was in my business but I will bridge the gap to personal very directly. This experience cemented my belief that my current cloud data strategy is correct. More importantly I stressed the system and it worked. We use Spanning Backup for business AND personal cloud backups. I could not be more pleased. Skip to the bottom if you just want the punchline.

The Background:

Last year we were working for a customer converting an internal purchasing application to a current technology stack. The old app was written in Delphi over the course of roughly 15 years by a single developer. The app was not bad but had the normal warts present in such an application that was developed in isolation by a single individual. We took the project down the field and completed roughly 80% of the work. We then transferred the project back to the internal development team last November. At that point we mothballed the project and were in a mode of supporting the internal team on the conversion.

A couple of weeks ago we were asked to pick the app back up and finish it. Our workflow allows us to do this and we had all the work defined in our systems. We simply turned the project back on in our cloud systems (Drive, JIRA, BeeBole, BitBucket) and got back to work. Painless process.

The Crisis:

Stressed BusinessmanWe work hard to ship all of our active projects on a weekly basis. This commitment keeps us moving forward rapidly and working on items that mean something to the customer. After the second week we went to ship and the customer-shared folder was missing. This folder included all the weekly deliveries from 2013, the supporting docs the customer provided to us and the snapshot of the source as of our pausing the project in November. An aggressive search proved fruitless. The loss of this data damaged our ability to efficiently work on the project. The customer had provided us a lot of valuable insight as well as some supporting code from their backend systems.

I was very concerned.

The Solution:

Having spent my career in IT I knew that going to the backups for the data was a crapshoot at best. Backups are notoriously flaky and it appeared the folder had been deleted back in November when we paused the project. It could have been me or possibly the tech lead on the project or the customer. We will never know.

In 5 minutes the folder was restored from an incremental backup from November 20, 2013. This sounds anticlimactic but I was thrilled and impressed. Backups working as advertised are rare and a very big deal. I only had to do the following:

  1. Open Spanning’s console
  2. Select the checkbox to search All Backups
  3. Search for the folder by keyword
  4. Click restore

Best restore experience I have had ever, no contest. To understand my thrill you need to realize I have been working with backups since the late 1980s as a youth.

Why is this important?

Stressed businessman governed by puppeteer handsI hear from people all the time that simply trust their pictures, emails, chats, notes, videos etc. to various cloud solutions. In a very personal sense this data is much more important than a customer project. Customers come and go but your family and your experiences are yours. Understand that Facebook, Evernote, Google, Twitter, Microsoft, Apple and any number of others have outages and failures. They are not guaranteeing that your data will be secure. I know a number of people that have simply lost their content with no warning and no explanation. Google had an especially serious problem a couple of years ago when an algorithm went haywire and completely deleted thousands of accounts and all of their history. Take back control of your content and still use the cloud.

I use Spanning for my backup needs. I cannot think of anyone that would say their content is not worth $45 per year. The link I have included gives you a $5 discount, click here. This could be you, but I doubt it. This is a reliable company that provides a reliable and robust product. I use them on my Gapps domain as well as my personal Google account. They provide something even one step better: I can download a backup of all my data at any point in time. Personally I do this once a month but it keeps my pictures of kids growing up, my work product over 20+ years and other important data in my hands. I even keep multiple copies in multiple locations.

It is possible to live a cloud life and still have your data secure. I would encourage everyone to jump on and giveSpanning or something similar a shot. When those pictures from your son’s graduation or your daughter’s birth get deleted, you will want them back. This I can promise you.

 

Custom Directives in AngularJS

Here is another talk from the St. Louis Angular Lunch we sponsor / operate here at the Oasis Digital. In this talk, Mark Volkmann of OCI explains how to use AngularJS to extend HTML to include custom, modular components.

The ability to define custom directives is one of the most powerful features of AngularJS, and as always Mark does a great job summarizing it in a short lunch talk.

Enjoy the video, embedded below.

Transcript

We have transcribed the talk about to text, provided below. This is a rough, first-draft transcription, so any errors are probably from that process.

Continue reading Custom Directives in AngularJS

Chromebooks, Coming to the Surface

When I consider the Chromebooks I use, I constantly think of the future. The constant, steady expansion of features. The improved choices in the marketplace. The coming waves of new applications. I tend to think of what it can do, not what it can’t. I have realized this is the core problem with the mainstream tech media’s approach to the platform. How quickly we forget the history of other platforms. I constantly hear comparisons and lists of what a Chromebook cannot do.

Little Flower Sprout  Grows Through Urban Asphalt GroundWhen you look at other platforms; Windows, Mac, Linux, we find the truth. There was a time when you could not edit images or videos effectively on Windows. The platform was mocked and derided, its doom forecasted. There was a time when editing docs on a Mac was a complete disaster, it was said there would never be a place for Mac in corporate America. There was a time when Linux was unusable without heavy command line use, the UI was severely limited, it appeared there would never be widespread consumer adoption.

Well we all know that Windows dominated, Mac has a solid place in business, and Linux is now a common option (with many many good choices). So why all the naysaying? We have gone from “Chromebooks are a failed experiment”, to “Chromebooks are the new netbooks”, to “Chromebooks are only good for schools”. I would argue that everyone is still wrong. Here is why.

Computers have some basic hardware components today across platforms. They have processors, graphics engines, memory, storage, ports, screens, and keyboards. Chromebooks use the same components as most computers on the other platforms. Yes, there are some ARM (smartphone style processor) based Chromebooks, but most are now coming with standard Intel desktop/laptop processors. ARM is coming fast, but that is for another day…

I will make the same argument I have made a number of times. With a Chromebook you have a computer that will be better six months after you bought it. The platform has not hit the obsolescence cycle yet. It will, of course, but we have not arrived. The platform is on the rise and it has the potential to permanently change the landscape. Consider these four major features of a Chromebook:

  1. Agricultural ConceptSecure, well-documented as the strongest platform on the market

  2. Fast, boots in a few seconds, efficient platform

  3. Easy, if you have used the Chrome browser there is little to learn

  4. Modest cost, most Chromebooks are relatively inexpensive

The Chromebooks use the same hardware as other computers and have these features listed above. Who, in their right mind, thinks this is not going to work? If you still think they will fail I cannot help you, but I do believe you will be disappointed.

There is one other major piece of the puzzle coming into focus. This is a platform that the market is rushing towards. I am not talking about the user market, although that appears to be happening. I am talking about the developer market. Everyone in this space is rushing headlong into developing web applications. Even Microsoft has ported Office to the web. Every corner of the software industry is rushing to get onto this bandwagon. If you do not believe me please talk to any developer you know. Very little new effort is going into R&D of large monolithic apps. If you know of some, please share, I am in the industry and aware of none.

This is a very unique place to be. Google does not need to coerce developers to build apps for the platform. The marketplace is on a convergence course with Chromebooks. As these apps arrive, which they are every day now, the platform has the 4 enormous features listed above; security, speed, ease of use, cost. I am absolutely thrilled with the prospect of having a investment like I have in this Pixel, pay off so well. I have a better computer over 12 months after I purchased it. How amazing is that?

Street Road Sign BandwagonAll of this convergence is also opening up doors to a future imagined in movies and science fiction for many years. I am able to walk up to any computer I have access to, login, and have my applications and tools at my fingertips. This is available to me on any platform, centered around Chrome. Believe me, corporate IT with vision is watching the platform very carefully. We are very close to having a true flexible computing environment available for workforces all over the world. Oh, and remember those big 4 features? They matter to business as well.

I really hope more of the tech and mainstream media can pick up on the truth of the platform very soon. Chromebooks are good for consumers. They can radically cut down on the malware issues, especially when combined with the excellent spam catching ability of Gmail. The media prides itself on pointing out what is best for us, hopefully they will see the past for what it is and recognize the future. Chromebooks are still accelerating and that $200 Chromebook you bought 2 years ago as a novelty is more powerful today than it has ever been. Who would not want that kind of investment?

JIRA Training 102 – The Little Things

When I observe various JIRA installations, some common problems tend to bubble to the surface. Many cases of poor adoption or user interaction can be traced back to inadequate setup. As a JIRA Admin or champion you can send a clear message to your users by how you approach the system in the first place.

Other JIRA Articles:
JIRA Training 101 – Workflows
Using JIRA – Be a Winner not a Loser
Adapting a Microsoft Project mind to a JIRA world

Our JIRA Training Course:
JIRA Boot Camp

Screenshot-2014-03-12-at-6.38.59-PMJIRA is a platform that supports extensive customization. Some of these include:

  • UI

  • Project

  • Fields & Screens

  • Workflow Transitions and Statuses

  • Dashboards and Agile Boards

  • Security and Notification Profiles

I am not suggesting paralysis until all of these areas are customized, but I am suggesting that some thought regarding each of these areas is important. It is also very important to show continuous iterative progress toward a system that will provide maximum value to the leaders and users in your teams. Let’s look at each of these areas and touch on what value they have to your organization.

UI

This is the easiest and most of this should be done prior to launch. Add your logo, adjust the color scheme to match your other internally created tools. Help the user recognize it as important. The flexibility here can also ruin your instance. Use colors in a non-intrusive way, mainitain contrast and readability, and most of all, be subtle. We often overdue it on the first pass of customizing the UI. Less is more, seriously.

Project

Show the users that their project is important. Categorize your projects, some organizations have hundreds of them. Use the tools available to organize and group similar initiatives. This can have substantial value and create important conversations across multiple teams. Add a custom image for the project. The team members identify themselves with their work, help them make that connection. Clearly identify the project lead and give them the ability to modify, assign and lead their project in JIRA.

Fields & Screens

Create fields that apply across different aspects of the organization. Also be ready to use custom fields especially for fields you want to ensure are populated. A user is more likely to notice custom fields that pertain to their project over generic names. This one is a bit of a challenge because without restraint and planning, custom fields can create a mess over a number of projects.

Also be sure and organize your screens. Avoid the mistake of piling all your fields on every edit screen and transition screen in your instance. Work with your users and design the screens to be effective. Doing this can drive user interaction and productivity.

Transitions and Statuses

As with Fields and Screens, above, work with your users, name statuses and transitions well. Build workflows that lead to increased productivity. One additional way you can help your team is by paying attention to the display of transitions on the issue screen. Avoid making users dive through the menu to find the transition they typically need. Put the “happy path” right there in the main toolbar for their ready access. Get regular feedback from your users.

Dashboards and Agile Boards

After a project has been running for a while there is a mountain of data available. Dashboards, Wallboards and Agile Boards can be very useful to leaders and team members alike. They can be used to communicate real time progress, identify problems, and monitor workloads. They can also be a point of pride. A team gets a lot of satisfaction from releasing an Agile Board, and this can improve productivity and engagement. These tools can become hubs around which your teams operate, take the time to implement them and make them work for the team.

Security and Notification Profiles

These are often overlooked but can provide a level of privacy with transparency that can enhance the work environment. Often JIRA is implemented in a very flat way where most information is accessible to all the members of the team. In many cases, this can be problematic. By applying some specific limitations to what coworkers can see about each other, you can help users focus on the work at hand and thereby increase productivity. You can also assist managers by giving them the option to have some control regarding information flow. A variant of this approach is to limit individual access to some information while making it available in a centrally published wallboard.

Managing notifications is also important. If not managed, JIRA notifications can flood email boxes and become a drain on energy and attention. Work with your managers to establish who should get which of the dozens of possible notifications. In some organizations you may need to turn email notifications off completely.

Conclusion

Show your users that JIRA is important to you in addition to the organization. Take the time to understand the little things that can make a big difference to your users. I want to reiterate that there is no need to hit all of these before you launch. Hit them one at a time over successive weeks. Continue to improve the system until you get through all of these areas. Users will notice that you are making an effort to improve the system. This will improve their view of you and JIRA. Once you are running smoothly, regularly get feedback and make adjustments to keep the system relevant to how your teams change. Also keep an eye out for team leads and managers creating spreadsheets to track items that could be handled in JIRA. This kind of fracturing can become a serious problem. When you run across such a spreadsheet, work with the individual, it is rare that you cannot meet the need within JIRA.

JIRA Training 101 – Workflows

Atlassian’s JIRA is a powerful tool to manage your team and your projects. Having a tool and bringing a tool to bear on a problem are two totally different things. I teach a JIRA Boot Camp class that is three days long and focuses on skills, like workflow configuration, needed to be successful implementing JIRA.

What is a workflow?

Atlassian’s Definition

“A JIRA workflow is the set of statuses and transitions that an issue goes through during its lifecycle.”

I think of it more for universal use:

“A JIRA workflow represents the actual value being produced by your team.”

Taking it back to this level helps us to visualize what a workflow needs to be. This is a process explored extensively in many systems over centuries. Process management and workflow diagrams have been around for a long time, I have some very old drafting templates that would prove my point. In fact you can buy them on ebay and they make for great technical nostalgia pieces in an office.

bigstock-Mathematical-Drafting-Concept-17933525Click here to see the listings on ebay

In essence any work process can be represented in a JIRA workflow. I use it personally to track our marketing and sales efforts at Oasis Digital. It took me an afternoon to build a good tracking workflow and we now use it exclusively to track our opportunities. Atlassian even describes how to use it to track blog post creation as an example. The trick is to recognize WHAT should be a workflow and what should not.

How should I view workflows?

I believe you should have a workflow for anything that could make or break your team. A workflow will allow you to monitor, visualize, measure and redirect a process. Your time should be spent monitoring, measuring (often through visualization), and redirecting your team regarding any critical issue. A workflow in JIRA will help you do just that. Viewing workflows in this way allows you to not just apply them to the problem of software development, but the success of your organization.

Issues of secondary importance are usually not worth building into a workflow. Without the momentum of constant attention, systems that monitor secondary functions fail at a very high rate. It is usually not a good idea to invest a lot of time in things that do not add a lot of value.

Making an effective workflow

 

Sales-Workflow-Text

To make an effective workflow we need to step back from a process and identify how many “states” or “statuses” a piece of work goes through. It usually takes a few iterations to get this down, most organizations have this kind of knowledge in a manager’s head and not on paper. Once you have a feel for the statuses then you look at the actions that get it there.

In the sales example a project will go from a prospect status to a proposed status with the submission of a proposal. This is referred to as a transition. When drawing out your workflow there are lots of arrows connecting statuses. Every one of these arrows is a transition. Some transitions move an item forward in the workflow and others move it back.

When you have a complex workflow, I think it is good to use the visual tool in JIRA to make “stages” for the item. To continue the sales analogy, all of the presales statuses are grouped together and the item can jump to the next stage when it is proposed. There is then a final stage where the item lands and is either sold, lost or delayed. This can be seen in the diagram below.

An Ever-Changing Core

 

Sales-Workflow-DiagramMost organizations that use JIRA use it in at least a partially agile way. The concept of iterating to ever improve needs to apply to your JIRA workflows as well. It will take some time to accommodate all the fringe cases within your workflow. The system is designed to allow you to make rapid changes to the workflow, use it! Do not sit on needed changes for more than a day, discipline yourself to jump in and improve. Every day that a needed change is not made hurts the adoption of your workflow, there is a critical need to be responsive.

Also try not to over-regulate your team in the beginning. Work slowly towards things like required fields being entered in a transition. Only disallow backtracking in a workflow if absolutely necessary. Making it easy for your team to interact with the system will allow you to use it to its fullest potential

What about Workflow Add-Ons?

There are a large number of enhancements available in the Atlassian Marketplace. These add-ons can be very powerful and a great fit for many teams. I would encourage pushing the stock tools as far as you can before installing any of these. As a general rule in any system, master the base tool before installing third party products. In the first rounds of improvement it is not unusual to radically change your approach. It is best to evaluate enhancements in the context of your educated approach, not an initial attempt.

Conclusion

JIRA workflows are feature-rich and capable of great complexity. Do not allow yourself to be intimidated. By following some of the lessons noted here you can tackle even the most complex workflow and start to take what can be opaque process and make them transparent and manageable. JIRA is a powerful tool and workflows are its heart, bring their power to bear in your team.

Atlassian’s JIRA is a powerful tool to manage your team and your projects. Having a tool and bringing a tool to bear on a problem are two totally different things. I teach a JIRA Boot Camp class that is three days long and focuses on the skills needed to be successful implementing JIRA.

If you want to learn more please visit:  http://jirabootcamp.com

Beware of Prototyping

There are many threats to a successful software development project. While prototyping seems on the surface to be a 100% wholesome and good thing, it does need to be used wisely and be properly qualified, or it can become one of those threats. Like other aspects of project development, prototyping needs to be done well and with purpose.

Prototype vs. Mockup (wireframe)
This article refers a lot to prototypes. In our model we differentiate very specifically between mockups and prototypes. We will often sketch up a screen on a whiteboard or in a tool like Balsamiq. These are useful for getting buyin for a layout or a specific concept. This is a step or many in the development of the prototype. These sketches become archived in the project history within design docs and JIRA issues.

We view the prototype as a specific deliverable. It is where the vision for a project comes together. Where we communicate the following things to our clients.

We understand your problem
We know how to solve your problem
We are really good at this
Imagine your team using this tool

On the surface this may seem at odds with the article itself. The key is to establish realistic and accurate answers for the client to the obvious questions we are answering in our communication. The executive team will enter a presentation with at least a subset of the following questions:

Do they really understand my problem?
Can they solve the problem?
Did we pick the right team?
How will this work?

Mockups and wireframes will not answer these questions. This is why we deliver a working prototype that uses dummy data to emulate what the app will deliver. We gain incredible feedback and make the project “sticky” when we successfully do this.

Many times a non-technical customer will see a prototype and mistakenly assume a certain level of completeness. After all, here is a piece of software approximating a subset of what they want. It works, right? bigstock-Mobile-Web-Design-And-Developm-52160128Surely it can’t take much longer to complete since they are this far? There are many ways to combat this, but often this assessment is not even conscious. Our minds assess and categorize all day long. Later in the project a misunderstood prototype can damage your relationship with the customer.

Most organizations struggle to be responsive enough to even deliver a prototype. Such an organization needs to strive to achieve this. It is a valuable skill to have in your toolbox, one that can help you win large, complex projects. A prototype allows you to demonstrate your depth of understanding of the problem, showcase your creativity, and validate your mastery of your tools. It is also an opportunity to introduce a new and hard to explain concept that might really turn a good project into a great one. These are all tremendously important reasons to build prototypes.

I have talked in the past about the tension that occurs in a project right before it is first delivered. The stakeholder cannot see into the opaque world that we are working in, and has to believe us when we tell him there has been progress. You can use issue trackers, fancy charts and graphs, even code reviews, but the truth remains: the customer is trusting you. That dark period, right before the customer has something tangible to test and evaluate, really exposes any weaknesses in your process, including poor prototyping.

In a typical application there are some core business processes and rules that drive the business needs. These are implemented, executed, and supported in a server-side application. This application might parse requests, route work, accept/calculate data, generate complex results based on inputs, or prioritize based on business rules. These efforts are typically where most of the work occurs, coding all of these processes is time-consuming and detailed work.

The user interface is often partially or wholly generated by a framework or ide and takes much less time. BUT, the user experience is what the typical executive or user at your customer will care about the most. It is also the most graphical/visual component of the system where users will interact with vital business processes. By default, this is typically where we prototype. This is the correct place to prototype but we have to be careful. We have to communicate to the customer the mountain of work required to turn a prototype into production code.

Just like a customer only hears the dollar amount when you give an estimate no matter how you qualify it, customers rarely comprehend the shell you are demonstrating to them in your prototype demo. Because, “How much longer can it possibly take if I can already see x, y, and z on the screen?” I have learned to display a complete project progression graph along with a prototype. You can see an example of one below. This does not solve the problem, I know I will still be asked later. But I will be able to refer back to a visual description that shows just how little of the project is done to generate the prototype. It is very important to not just have said the words, provide a visual that is stamped in their memory along with the fancy eye candy you are showing them in the prototype.

Screenshot-2013-10-17-at-12.41.39-PM

You cannot avoid tension from a well done prototype. Remember, a successful prototype will  excite your customer, it will demonstrate for them the direction you will take in solving their business problem: how you will fulfill the promise you made by accepting the project. Just do not be naive and think there is no risk with a prototype because there certainly is. In fact I have watched it derail multiple projects over my career.

Another thing you learn about prototypes as you gain experience is to temper what is included. It is often tempting for the younger tech designer to want to show their full arsenal and impress the client. A prototype needs to be a very intentional and calculated deliverable just like any other. Filter what you show them by understanding your goal. Make a prototype purposeful, this can mitigate an unexpected consequence later. One example is when you find out the CEO was focused on a specific secondary graphical element that got nixed early on in the project. You do not want to be explaining why his favorite thing is gone because it was included in a poorly thought out prototype.

The message is to not let your guard down. A prototype, like any other aspect of your work needs to be done with a high level of precision. Prepare your prototype like you would any other feature, with intentional goals and outcomes. A defined set of criteria can make your life much more pleasant later.

Leaders vs. Entropy

The other day my wife made a funny word association looking at our company’s timesheets. She commented that the category “Misc Management” looked an awful lot like “Mismanagement”. This got me thinking. I should clarify that what I am writing has nothing to do with that particular use of Misc Management, it is an appropriate catch-all category. What it did is point my focus at a common hazard that threatens leaders.

Another very important distinction for the purposes of this article. I am writing this for leaders specifically, not managers. They are very different and valuable roles. If your job is to set direction for a family, group, or organization then this article is for you.

Just like any other highly effective role, successful leaders are dogged by the temptation to be complacent and settle once they achieve a goal. Common signs of this are:

  • Constantly focusing on what has been achieved
  •  Your time is filled with “running” the show
  •  You start managing instead of leading
  •  Defining yourself in terms of what you manage

We have to remember the 2nd law of thermodynamics, which I believe to have spiritual, social, relational, and political implications in addition to physical properties.

bigstock-Old-Window-1676424Second Law of Thermodynamics

The entropy of an isolated system never decreases, because isolated systems spontaneously evolve toward thermodynamic equilibrium.

In Lay terms:

There is a tendency for all matter, systems and energy to decline into a state of inert uniformity and decay.

A Layperson’s Definition of Entropy

Entropy is a measure of randomness/order/disorder

The fallacy that we ever “arrive” as people permeates our society. We falsely believe that if we have a certain job, or reach a certain goal we will have happiness. The irony is that the second law of thermodynamics applies to us just as much as it applies to inanimate systems. We need to continue to grow, continue to learn, continue to develop in order to avoid degradation.

Look at physical fitness. Once someone achieves a high level of fitness, what happens if they stop exercising and sit for a month. It seems obvious that the person will lose that edge. There will still be a high level of fitness but it will not be the same. If the sitting continues for six more months the person will hardly be recognizable. Why would any other aspect of ourselves be different?

If I do not spend time in prayer, my relationship with God deteriorates. If I spend less time focusing on maintenance of my home, it deteriorates. If I spend less time focused on the goals and direction of my business, it deteriorates. I could continue with dozens of other examples.

Leaders can never afford to stop looking towards the future. In my pursuit of being a good leader, I will never arrive. I will always need to labor over the next hurdle and look into the horizon. If I do not, I simply stop being a leader and entropy takes over.

Look at those leaders that you follow. Are they focused on a future objective? Do they focus on what has already occurred? Any person who is trying to lead hits periods of doubt, whether they show it or not. If you see a leader beginning to slide into the grip of entropy, provide encouragement. Often a naturally gifted leader only needs a small bump to get back on track. If someone you are following has been off track for some time, you should probably reconsider your commitment to them. The easiest place to apply this is politics. Focus on candidates with a vision for the future, not those that just pick at their opponents.

If you are a leader, challenge yourself regularly about your future direction. Most people are expected to lead in some aspect of their lives. By keeping a vision for what you are leading today, you will be more likely to become the type of person everyone wants to follow. Do not be afraid of the future, find the vision for something better and set a course to the next horizon.

PEI Bridge

Learning AngularJS

At a recent St. Louis Angular Lunch Brian Gilstrap talked about his experience with learning AngularJS. In his talk Brian outlined a classic scenario that we have seen in many of our Angular Boot Camp classes. A polyglot developer with years of experience finds themselves in need of, or with a desire to learn, Angular. What is the best way to get started and dig deep into Angular? See the video of Brian’s talk below.

Traditional Project Management is Dead

The discipline just does not know it yet.

When I speak of traditional project management, I mean a very rigid approach where the end is predetermined, with a level of specificity to allow for detailed estimates, and schedules. This can be the construction of a building, or the management of an election campaign where massive change is not allowed. The Project Management Institute (PMI) defines project management as:

bigstock-Project-management-concept-in--22790042“the application of knowledge, skills, tools, and techniques to project activities to meet the project requirements.”

I prefer this, more organic definition:

“Project management is the discipline of planning, organizing, understanding, motivating, influencing, and directing resources to achieve a set of goals.”

I am continuously intrigued by the application of principles across different aspects of our lives. As people we tend to want to segment our lives and decision-making when often the exact opposite is what we need. Lessons we learn in one aspect of our life often are directly applicable to others. This article on the psychology of our personal development is a good example. You can read it here.

As people we can often see how far we have come looking into the past. We see growth, we see our failures, we puff up at our successes, yet we hit a wall looking into the future. “The end of history illusion” is very real and very applicable to the far reaches of our lives. This even applies to specific professions.

I think this phenomenon helps articulate how I feel about a number of technologies. I often receive a quizzical look from people when I suggest that some company or system is a “dead man walking”. My assessment is sometimes incorrect, but more often accurate. (Blackberry – correct, Cisco – wrong, Novell – correct, Microsoft – we will see)

My intent in this article is to apply all of this thought specifically to project management. I have a number of friends who are project managers or construction managers across a number of fields. New technology, manufacturing realities, and a wavering economy are a wrecking ball to the traditional task-based, progress-tracking, Gantt-chart-toting PM.

Traditional project management is based on the premise that work can be estimated. This is the foundation of projects everywhere and a natural expectation on the part of those paying for the project. The disruptive reality is that estimating is far less accurate today than it was ten years ago for many kinds of work. The pace of technological and social advancement means that we are not estimating a predictable set of acts by a predictable workforce. If we are truly honest with ourselves, I think we will see that it is impractical to try to hone estimates very closely at all. Our society is changing even more quickly than in the past. In order to encompass all the variables in an estimate today you have to increase cost and schedule estimates to astronomical heights. This has been true to a degree throughout my career, but there are fewer companies/people today who are willing to pay a premium for something to be built predictably.

Technology

Advancements in materials are impacting every corner of our world. From LED light bulbs to durable paints to large flat screens you can lift with a couple of fingers, things are different every single quarter. The changes blow gaping holes in traditional practices and understandings. I would question any project that is not impacted by new and challenging technologies. We cannot live in the past. This specifically damages estimating, the idea that you can predict what will happen next is preposterous.

Manufacturing

Large scale manufacturing at a component level has severely declined in the US. Sure, we assemble parts manufactured in other countries into a finished product, but we are turning raw materials into finished goods at far lower rates than in the past. This impacts the choices and the quality of materials dramatically. Products at the quality level we need for certain applications are 3x or 5x what they are for the common part. A simple explanation can be seen in the steel industry. First Japanese steel starting eroding the American steel industry. It was well known and accepted that the quality was different. Now, our steel industry is almost gone and most steel comes from China. If you need very specialized steel with certain properties it is extremely expensive. In the past, it was only marginally more expensive because it was manufactured up the road, not around the world. On the other end of the spectrum, cottage manufacturing is on the verge of booming with advancements in 3d printing et al. These techs yield highly specialized parts at low production numbers for a fraction of the traditional cost. How can traditional approaches adapt to these conflicting realities?

The Economy

Money is tight, budgets are stretched. Not much stupid money floating around these days. Not much more needs to be said…

Conclusion

I believe the Agile processes pioneered in the software industry hold the answer. Many of these concepts are also defined in Total Quality Management systems and the Baldrige Continuous Improvement model. Unfortunately, none of these and the iterative cycle they promote have ever really been adopted across the project management industry. The barrier to doing so is the simple fact that many project managers are not deep experts of their industry, they simply manage schedules and compile information provided by others. As a group, project managers need to engage in their profession. I believe that project managers in the future will need to have a greater understanding and take a larger role in the active delivery of complex projects.

I am excited for the changes that are coming. For those that embrace the change occurring around them the future is quite bright. For those that want to cling to the past, they will find themselves on the outside looking in at projects they do not understand. To bring this full circle we need to visualize where our particular industry will be in ten years and build those skills. I would have expected people to realize the importance of this looking back at the impact of computers etc. I guess “The end of history” illusion is powerful in all aspects of our lives.