The Four Pillars of Software Project Success
25 Apr, 18 | illumisoftadmin
Before you pick your software developer for your next technical enterprise, first ask yourself, what is your idea of a successful project? What should your expectations be in looking for a good vendor?
Accountability, budget, schedule, and communication are the four pillars of project success for nearly every software developer. If one of those pillars is slacking, it can hurt the whole project.
The four pillars are all connected in a sense. Let’s break it down for you:
If your developer is not communicating with you, then they’re probably not going to hit the budget, and they’re probably not going to deliver it on time. And they’re definitely not holding themselves accountable because they’re not in communication with you.
Communication is key to the success of projects, but absent of accountability for work and staying on budget and schedule, that communication is pretty useless.
“If all I’m communicating is, ‘Hey, we’re going to miss your budget… We’re going to miss your budget…. Hey, we’re going to miss your budget,’ at a certain point, you’re not holding yourself accountable to that budget anymore; you’re not being a steward of their money,” said Dustin Ewan, vice president of software development at illumisoft. “Same goes for the schedule, right? You have to deliver the project sometime. So they can be adjusting their schedule over and over and over, but if you’re not delivering, that’s also not a successful project.”
Success is delightful
Sometime, you might hear Dan Prince, CEO and founder of illumisoft, say he wants to “delight our customers.” People often ask us, what does that mean?
That’s where these four pillars come in, as a commitment to these four concepts.
“We would consider our clients to be delighted if we have successfully communicated throughout the lifetime of the project, successfully delivered the project on budget, successfully delivered the project on schedule and held ourselves accountable for any bumps and bruises along the way,” Ewan said.
Being accountable builds trust
Your vendor is a steward of your money and time while working on your project. In fact, you should expect your vendor to be accountable to you from day one.
Part of being accountable to you involves maintaining clear, accurate and consistent documentation on the progress of your project. Is documentation a priority for you? If not, it should be. Developers often document their progress so they can refer back to it later — an important step that keeps them accountable and everyone on the same page.
“Documentation is a means to an end,” Ewan said. “If it’s documented, both sides can go back and verify, ‘This is what I said, this is what you agreed to. This was your word.’”
Documentation serves two purposes: 1) It holds the developers accountable, and 2) It acts as evidence of the relationship between the client and the vendor.
“It’s nice to say something like, ‘Hey, we have such a great relationship; we shouldn’t need to document any of this stuff,’ right? But a relationship is great… until it isn’t,” Ewan said. “At that point, that’s when you should have some documentation.
“You also spend a lot of time on the phone going, ‘Hey, remember that thing we were talking about six months ago?’ ‘Well, kind of.’ It’s nice to be able to go back to look that up easily.”
What you should expect from your vendor
A good software developer anywhere will document their progress in a way that’s easy for you to follow along. For example, at illumisoft, your developer will typically provide you with a weekly report that lays out accomplished objectives from the previous week, priority objectives for the coming week and any identified risks with the project that need to be shared with you.
Once the product is fully developed, those weekly reports collectively serve as a record of the entire scope of the project.
“It shows the evolution of the project over time,” Ewan said.
Your developer will also follow up with you to make sure they’ve aligned the product with your vision. Oftentimes, you may find that the project needs to pivot and go in a different direction. That happens a lot, and that’s OK. Just let your developer know, and they will realign their vision to match yours.
Managing expectations keeps the plan aligned with your budget and schedule
You might think staying on budget for a project is assumed to be a given, but budgets often change as needed. Unforeseen circumstances can drive costs up or down. Likewise, a schedule is assumed to be a given, but deadlines are often missed.
At illumisoft, we have found that most of our clients interpret budgets and schedules as being written in stone. One client may say she has $15,000 for the project and not a penny more. Another may say he needs the product to be ready by November, period.
“But we find that 90 percent of the time that budgets and schedules are really fluid because of those unknown variables,” Ewan said. “Being on budget and being on schedule is, you know, a fluid, living concept throughout the lifetime of the project. They’re not so set in stone as we might have imagined.”
Very rarely are budgets and schedules hit; there are just so many unknowns that can impact your plans.
“It could be anything, from missing this requirement when we communicated something we didn’t understand fully, a developer got sick, bugs… you know, just so many types of things that can be thrown into the mix that could cause it to go off course,” Ewan said.
Even processes that are typically smooth, such as integrating with third-party applications, could delay a project if your developer underestimates the complexity of that integration.
“We can make some pretty good estimates about how complicated the integration would be, within reason,” Ewan said.
How to ensure your expectations are met
After you’ve laid out the blueprint for your project with your developer, they will give you a budget and schedule that fits their ability to deliver. Understanding that the budget and schedule are fluid will help you manage your expectations.
So long as your developer stays accountable to you and communicates with you throughout the project, it leads to the natural conclusion of being on time and on budget.
Open communication keeps you in the loop on the progress of your project
Accountability, keeping on track with a budget and staying on schedule are all vital elements of a successful project. But what good is your project if you don’t know anything about it? That’s why you should expect solid, open communication from your vendor.
When budgets and schedules are unlikely to go as planned, the more important thing your developer can do at that time is communicate that to you. In fact, keeping you in the loop should be your vendor’s top priority.
“If we just stay silent when we have a problem and we’re not going to raise a flag — we’re just going to be head down and try to hit the budget — then there’d be a certain point where our client is going to be like, ‘What’s going on?’” Ewan said. “At that point, we haven’t communicated effectively, so now it’s a problem.”
By communicating any setbacks to you, it’s easier to adjust your expectations for the project as well. Your developer can re-adjust the budget and schedule as needed in moving forward.
What to do when budgets and schedules aren’t fluid
Of course, there are some cases where budgets and schedules are quite the opposite of fluid. But open communication exposes those circumstances, allowing your developer to prioritize in order to meet your expectations.
For instance, let’s say you’re a startup company and you just received a $25,000 grant, and that’s all the money you have devoted to your project. Once you’ve let your developer know that’s your cap on the project, they can adjust our scope in a number of ways, such as removing lower-priority features or saving money on designs for the user interface.
Once you’ve communicated that your deadlines are hard and fast, or your budget is restrictive and limited, your developer will pivot the direction of the project so it fits within the scope of your vision while not exceeding those limits.
As a client, you’re probably thinking that you need to learn more about technology in order to find a good vendor. But that’s a fallacy. The truth is that the vendor should have moved in your direction in order for it to be a successful project.
“We should be working with the client to develop a plan, to establish good communication, accountability, all of this, instead of relying on a client to kind of mine that information,” Ewan said. “Because then the client’s in a really vulnerable position; they’re operating on faith. ‘I don’t really know; I can’t understand what these guys were talking about… so I’m just going to roll the dice and hope that I can get what I need out of them.’ A good vendor should have already moved in the direction and been laying a plan.”
Let us move in your direction. Do you have any questions? Please feel free to give us a call or fill out the form for more information.