In the world of software consulting, it can be virtually impossible to determine what the fair market value for software development is. Nobody estimates work according to the same parameters: some firms have differing rates for differing services, some have offshore development services, some won’t provide a meaningful estimate at all (and for good reason). (more…)
On a recent Tuesday night tapas meet-up, my friend and I were talking about social media and her use of it. She had been studiously avoiding it in an effort to keep her online profile low. I countered with my usual “that ship has sailed” speech: She has a Gmail account, uses Google, debit and credit cards, club and membership cards, etc. Her eyes grew wide in disbelief and she launched into a somewhat predictable reaction of fear, loathing and righteous indignation over the violation of her privacy.
I sighed and began to talk about technology, how and why we use it, Big Data and the Internet of Things, which may not have been the smartest of moves, but was fueled by our solid friendship and the arrival of miniature plates of mussels, crostini, and warmed olives.
I can’t help it. I am authentically interested in how new technology moves from the academic to the novel to the ubiquitous over time and I’ve been a spectator of that evolution for over a decade. (more…)
I’ve worked with a lot of clients and potential clients over the past 10+ years. Sometimes, in conversation about a project, the client will roll out, oh-so-casually, one of about 10 pat statements that reveal a pernicious and erroneous belief about the process of software development. Now, most of my job involves educating clients so I take a deep breath and wade into the waters of a software-development ideation faux pas, of explaining why what the client has just said is analogous to pairing socks and sandals: Sure, it makes sense on one level, but it’s never a good idea. (Note: I’ve been chided by our development team that wool socks and Birkenstocks are certainly acceptable and that Keens and short anklets are also acceptable. I sigh. I choose to fight my battles one at a time. . .)
The objective here is to give the audience a bit of quick and dirty insight that, I hope, will help clients be . . . well, better clients. Better clients always, without exception, mean a more successful project — cheaper, faster and far, far fewer hair-tearing-out incidents. (more…)
Why would a reasonable person undertake one of the most difficult types of software development efforts out there? Very rarely the answer is because it just sounds like a wicked fun thing to do. Usually, the decision is driven by the realization that you, as a business, are backed into a corner and, despite months or years of Denial, Bargaining, Anger, and Depression you’ve finally come to accept that the pain of creating or updating this application is equal to or less than the current or inevitable pain of not doing so.
The root of this pain can be summed as follows: (more…)
What are you doing? Stop it. Stop hitting yourself. Stop hitting yourself!
But seriously, why are you doing that? Waterfall development, defined loosely as frontloading all specifications and performing all development with little-to-no iteration or deviation from the aforementioned specs, is the Prohibition of development methodologies. It works great on paper, but in practice you end up blind from drinking bathtub gin.
All your hopes and dreams (likely including your job and retirement fund) end up dashed on the rocks of Iguazu and you’re just left there floating in the frothy bubbling water in your nice work chinos, and your iPhone is soaked, and your ironic ‘70s polyester tie is never going to be the same.
All this could have been avoided. You could be sitting pretty right now, collecting your profit share, dry, playing Minecraft in your office where no one can see you, but you had to go with the Waterfall firm.
Let me tell you what went wrong. It really boils down to just two things. Things that seem obvious in retrospect, I’m sure, but they wreak havoc in the moment.