No more long software specifications. Let’s just draw and talk.

Povilas Korop
Successful IT projects
5 min readMar 28, 2017

Dear client,
I know it’s hard. Hard to explain to us, to developers, what you actually need. I understand it’s all inside your head, you just don’t have time to write that 20-pages software specification. Guess what — you don’t need to.

Here’s the usual scenario. Your business needs a website. You’re looking for a developer, and all the candidates are asking for some kind of documentation or specification. But you’re not a developer! You don’t really know what framework should be used or whether to use AJAX (and you shouldn’t, that’s ok). Sounds familiar?

Besides, technical specifications?

I understand, you’re busy. You’re actually running or planning your business.

I have good and bad news for you.

Bad news: you need to find time. Unfortunately, software creation is not a common product you can get in any local store, it needs to be designed around your specific needs. And if you can’t find time to explain what you need, then it’s better to not even start the project.

But good news: it’s not that much time. In modern web-development there’s no need for anything like this:

There are quicker methods. So in this article I will show you my approach.

Phase 1. Mockups and Notepad

First phase is when client needs to explain the overall concept to a developer. And visual explanations are the best.

So take pen and paper (yes, you’ve read that right) and draw how you want your project to look. Of course, don’t forget to add comments — this button should perform that action, this form leads to that page etc. I will tell you a secret — this phase is not for us. It’s for yourself to become clear about what you want and how it should look.

Also, would be helpful if you write just a brief description of the project — just a few paragraphs in your own words. What is the goal, who are the users/customers etc.

Then take your phone and take pictures of all mockups and send them to us. We will handle it from there.

Oh, you don’t have a pen? Prefer everything digital? Here are awesome online tools for doing mockups:

Phase 2. Questions and Answers

After we see the first mockups, we usually get a feeling and first impression what needs to be created. Then we try to internally translate it into “our language” — what should be the entities, database structure, objects etc. You don’t need to know any of that.

After some analysis, we will raise questions. Quite a lot of them, actually. So you will need to spend a few hours or so, answering them. And, preferably, in written form (again, this is also for yourself, too, for future reference).

Here you may get questions and suggestions like:

  • So can visitor perform operation X without logging in?
  • What happens after administrator get notified about the purchase, do they need to confirm?
  • You probably need to generate PDF invoice, right?

After getting the answers, we’re going back to the lab to prepare the final plan of actions.

Phase 3. Final plan

Have you noticed that no one has started any coding by this time? And that’s good, we first need to understand what to code. So we will prepare a simple Google Docs with a few pages table with these columns:

[Task] [Comments/questions] [Estimate time]

Notice: I’m not sure if providing estimates here is a good practice, but I personally do it. At least approximate ballpark, it’s also for myself to plan the time and have rough numbers.

By this time it should be mostly clear what do we need to create. All you need to do here is confirm the overall plan, and answer a few questions that will be left here, there shouldn’t be many.

Actually, at this point we can probably agree about the budget. Now we know the scope, and we have estimated timeline, we can evaluate the cost and investment. If we disagree on that, then it’s better to separate here than after a few months of development.

Phase 4. BONUS: Technical details

This phase is for clients who are a little more technical. Some of you do know the difference between PHP and Ruby, what is a database column and what is the latest version of Laravel framework. Heck, you might even want to code it yourself, but don’t have time? Great, let’s talk.

If you have any preference about programming language, server environment, testing process and similar things, it’s time to speak up. Perhaps, you should briefly mention your technical expertise even earlier — then we may ask those questions in the planning phase.

Also, if you have already purchased a web-hosting, domain or any software for integration, please let us know so we wouldn’t reinvent the wheel here.

But here’s an important notice: please tell your technical preference only if you’re confident enough about the reason. Too often I hear “I need WordPress, just because everyone use it”, or “I have GoDaddy FTP account and I was told it’s enough”. Please allow us to change your mind on some technical questions, if you’re not an expert in the field.

Phase 5. Finally, let’s get to work!

And, basically, that’s it! As I said before, you don’t need to have 20 pages of technical specification, all you need is to draw some mockups and describe the project in your words, and then you get “interviewed” by us to prepare the actual development plan.

Now, since we’re starting actual coding process here, I invite you to be a part of it. Let’s meet or jump on Skype every week or two, to discuss the progress. We will work in an agile way, so will try to deliver the first visual results as soon as possible, and then iterate from there, so we need your feedback. It’s like hire construction workers to build your house, you will check with them from time to time, right?

So the process will look something like this:

And if we work as a team with the same goal in mind, you can build a great business with our help. Oh, and we will build ours at the same time.

So, let’s talk?

--

--