Why Tech Projects Fail

Tech projects are hard.  If you work in the tech industry, or have worked on a tech project in some capacity, you already know this.  They are hard to get right, hard to get done, and hard to even get started.  68% of tech projects fail in some way.  Only 2% of companies regularly achieve software project success. Now that all that gloom-and-doom is out of the way, let’s take a look at why they fail, and how you can minimize your risks. Our People Matter Companies are made of people.  Even programmers are people, albeit strange ones at times.  And people are all different.  Put the right ones in key positions; play to their strengths, their ambitions, even to their egos.  But the wrong person in the wrong role can disrupt everyone else. Look in the Mirror Once you know your people, know yourself.  Take an honest moment of reflection.  The biggest marker of an organization’s software success is its business analysis capabilities.  Do you and your team have the chops?  It’s ok to say no.  That’s why there are consultants; you can “rent” their insight and competence to help you through a project.  Remember, paying for success is much cheaper than paying for failure. We Didn’t Define the Problem Technology is only valuable if it does something better than the old way.  Rewriting a 17-step manual process from MS-DOS so it’s a 17-step manual process on an Ipad isn’t solving the problem.  Now it’s a problem that employees can experience on the go! Some problems show themselves pretty plainly; things that cost money (and shouldn’t) or upset employees, things...

Angular 2 in Developer Preview

It was announced today that Angular version 2 has moved out of “Alpha” release phase and into Developer Preview.  For geeks like me, this is big news. Here at work, Angular.js has become a favorite tool.  I totally geek out about model binding, Bootstrap UI, and declarative HTML.  But I’ve been hesitant to start any new projects in Angular.js v 1.x because version 2 is so close. Angular 2 is going to solve a lot of problems for Angular developers: it will be easier to write directives/components, there will be a “right” way to write services, and even the markup attributes help clean things up.  The reason all this matters is that developers can write cleaner, more bug-free code, faster and with less hassle.  Considering the gift that was Angular 1.x, that’s saying something. My favorite things I’ve seen so far, in no particular order: ES6 (The newest version of JavaScript) support, out of the box. Tight integration with TypeScript to simplify writing compilable code. Differentiation in the markup: Square brackets [] signify expressions or properties. Parenthesis () signify event listeners. The pound/number/hash symbol is used as a reference- particularly handy for iteration. Asterisk can be used for flow-control directives like “for.”  Combined with the # sign, it would look like: *for=”#name in names” Scope isolation! Transclusion is being retired. Shadow DOM and performance improvements. Data-binding can be once, one-way, or two way; this can contribute to performance and clarity of code. Of course it’s not all clear sailing.  There are still a lot of questions, clarifications, and complaints.   The Angular team is taking a big leap with this new...