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…)
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.
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…)
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…)
Custom software can drive incredible change for a business – whether as a consumer-facing product or a business process application for internal use. Yet many decision-makers imagine that the cost of developing custom software puts it out of their organizations’ reach.