Understanding: the Difference Maker

Three doors, a teal one opened, to represent the process of deciding on a custom software development company

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…)

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.

From First Contact to Launch: The Who’s Who of the Software Project LifeCycle, PART II

jenny downing la terrasse cc2 via flickr

Evaluating and Re-evaluating the Development Team

In the first part of this series, we looked at the critical points of hiring an employee and initiating the first contact with a vendor. We’ll now turn to the third (I won’t say final because staffing should always be continually re-evaluating team members as they work through projects) key point for staffing a software project: choosing a team to execute the client’s vision. A typical software project will have a development team consisting of about six roles, some of which may overlap in a single employee depending on the timeline and scope of the project: the Account Manager, Project Manager, Technical Lead, UI/UX Designer, Tester, and Developer.

The Account Manager (AM) will act as a business liaison and point of access for the client. Any worries or concerns the client may have with the team should flow through the AM. Any on-site visits should be lead by the AM, and they should be available to help shape and mold conversation and tone. They will also serve as a liaison between the internal project staff, and the management and staffing teams for the vendor. (more…)

From First Contact to Launch: The Who’s Who of the Software Project LifeCycle, PART I

Keyboard Image by William Hook at Flickr

We all know staffing is critical when executing a custom software project, but unless you’ve worked in the business, the timing and intricacies of the staffing decisions can seem at best opaque, and at worst like smoke and mirrors. In this two-part series, we’ll look at the three critical points for staffing a client’s project. We’ll start with hiring the new employee and responding to a new lead and then discuss managing the development team in the second blog.

Your Project Starts before You Even Contact Us

The first and maybe most important time to consider staffing for a project is when you hire and interview an employee, and comes long before you’ve even reached out to potential vendors. Now, the point at which this employee either makes or breaks your project may be weeks, months, or even years in the future, but this is the right time to start tracking the vital information that will make this new team member either a buoy or a lead weight on a software project. What is their skill set? Are they a generalist or a specialist? What is their domain experience? Are they a background, head-down, magic-maker who might choke when put in front of a roomful of clients, or do they shine in the spotlight and thrive on communication? All important criteria when making a staffing decision. Software projects need all types of people, but not every role is well-suited to every team member. (more…)