Cascading to the Bottom: Waterfall vs Agile Software Development

Inquisitve Duck by Su Neko via FLICKR

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.

What’s It Take to Get an App on iTunes?

A+L Image capture from mobile software

A lot of people wonder what it’s like to build an app and successfully submit it to the iTunes Store, so we asked former Art & Logic intern, Pranjal Satija, about his experience developing and submitting an app that was approved. Oh, by the way, Pranjal is 15 years old.

Pranjal says that he got the idea for his app, Ephemera, after hearing his peers complain about Snapchat. He felt that the issues people were having with the popular messaging app were getting worse with each update and that “People were complaining about performance, battery impact, and just about everything else you could think of.” So Pranjal decided to make a new app, specifically with those known issues in mind. guy on computer

According to Pranjal, his app differs from Snapchat in that he “built Ephemera to have stuff that people of all age groups can enjoy. I kept everything short lived, to appease teens, but I also added AES256 encryption, which adds a certain level of attractiveness to a more mature age group. I’m also trying to make it more than just a messaging client, and turn it into a true content delivery platform, and it’s something I’m working on in the new version of ephemera that I started.” (more…)

Why I Am No-Bidding Your (Crappy) RFP, PART II


Here’s What You Should Do Instead of Relying on an RFP

Here’s my advice and, look, I’m not advocating for us here, but you.

Custom software isn’t a house. It’s a business asset that has never existed before and it is customized to the very nuanced needs of your company or your product. The code for each of these applications is like a one-off novel with actions and behaviors and results defined by you and those actions and results and behaviors aren’t static. Software is ever-evolving – an organic response to the (hopefully) growing and changing needs of your organization. Creating applications is a creative and arduous endeavor and, having watched hundreds of applications birthed into existence over the past 10+ years, I can say that, despite a client’s best efforts to make this a bloodless effort, it is always a labor of vision, effort and, many times, passion. Successes in software aren’t met with a simple dusting off of hands, but rather awe, relief and pride. Our clients enthuse. They have toasts. They celebrate. Building custom software is emotional and it’s exactly for this reason that I love what I do.

So rather than approaching the effort of finding your custom software development partner in the same way you might approach your search for a copy machine maintenance contract provider, think of it as choosing a collaborator with whom you want to get into the foxhole of creativity, long nights, hard questions and deep trust. You can’t discern this with an exhaustive questionnaire or a glossy PowerPoint presentation by sales representatives. (more…)

Collaboration and Software Development

etymology of collaboration   Google Search

Most of us have probably used the term collaboration enough to have such a good idea of what it means that we don’t really have to stop to consider its implications. As the Google summary above says, the term derives from the latin word collaboratio (which also derives from the Latin terms for together (col) and and work (laborare)). Despite its similarities to the word cooperate — which also has connections to working (operari) together (co) — collaboration when it comes to software development and programming has a very distinct meaning from cooperation.

How Does Collaboration Differ From Cooperation?

While cooperating is an essential part of working with someone on a project, it does not connote a sense of ownership. This is an important distinction since ownership, the taking of responsibility for a task, is vital to working effectively when developing software. When collaborating with clients, it’s important that developers and programmers be willing to offer their clients the benefits of their expertise, particularly since it’s their expertise that clients needed when they first decided to work with an outside consultant. (more…)

Why I Am Not Bidding On Your (Crappy) RFP: An argument against the pervasive reliance on RFPs

rfp graphic

Poorly Written RFPs Can Lead to Development Headaches

I decided to write this piece when I received, after the perfunctory exchange of NDA and cordial emails, yet another (crappy) request for proposal (RFP) from a potential client. I thought about attempting to explain to the client just why their RFP was poor and warning them about the consequences of choosing a vendor based on responses generated from their RFP. I would have concluded with my heartfelt plea of “look-I’m-not-advocating-for-us-here-but-you”, but I didn’t have it in me at the moment. I’ve grown weary of writing those emails.

Although I do have empathy for why RFPs exist, let me just outline what I (and any other reputable software development firms) see in this particular RFP so that, perhaps, if any of these look familiar, you might be able to go back and reconsider your request. But more importantly, I actually want you to have a chance at developing a piece of custom software that will make you a hero and not get you fired for leading the company down a path of rampant budget extensions, schedule delays, poorly implemented features and a whole boatload of hurt feeling reports and righteous indignation.