Software Project Estimation Sheet and Walkthrough Video

Home / Software Project Estimation Sheet and Walkthrough Video

Recently I created a software project estimation sheet in Excel, and I wanted to share it with our blog readers.

This tool captures some of the thought processes I use when I’m going about the estimation of a software project for our clients.  It isn’t exact of course, as to do a true project estimation you need to go line by line through each feature and calculate the actual time needed to do the task.  But if you’re not a developer, and you can’t answer the line by line estimates, this tool may allow you to answer “business level” questions about a project and gain an understanding of the costs.

To gain access to this tool, please enter your email address in the form below, and it will be emailed to you.  Also, look below the form for a walk-through video I made where I explain my thoughts behind each field on the sheet, and what it means.  If you prefer to read rather than watch, a transcript of the video is below as well.

Enjoy!

Free Project Cost Estimation Tool

Software_system_cost_estimation_tool_-_provided_by_unstoppable_software_v1_0_xlsx

Download this free Microsoft Excel Project Estimator tool to gain some insights into what your software development project might cost! Fill out the form at the right to download this FREE resource.

Powered by ConvertKit

Walk-Through Video:

Video Transcript:

Hi folks, and thanks for downloading our estimation tool from our website. Thought I would go over this tool with you real quickly. Ultimately this tool is a way for you to learn to become a better estimator as well as for you to get some numbers on what a project might cost. I think it’s important to talk about the different items in here so you can understand what they mean and how maybe they can be added to the way you think about estimation on things that you’re working on on your side as well.

I have the estimation sheet here in front of me. I’m just going to go through these real quick and talk about why I added them and what they mean. Obviously this one, does your system have an iPhone app? Does it have an Android app? This is meaning when you look at your overall system, web back end, desktop apps, iPhone apps, Android apps, web front ends, what pieces are in that architecture? Typically, iPhone development takes quite a bit more effort than Android development. Depending on who you ask, that can be twice as much effort, maybe 50% more effort. People might disagree, but that’s just a general rule that it can be a little harder to work in that environment. That’s why that’s the case.

You can answer yes or no here in that box to say whether or not you have an iPhone app. Let’s say that in this case we do. Does it have an Android app? We’ll say no for that. Does it have a web interface? This would be is there a user interface that is web-based? These numbers are really all just determining at a base level how complex the system is. Does it have a Windows or Mac desktop interface? This would be something that runs as a thick client that you install and download on your desktop like Microsoft Word, in the same way that you install Microsoft Word, or Excel, or any other program that runs thick. We’ll say no in that case.

Does it need a touch interface? Definitely requires sometimes some additional work to make an interface work well with touchscreens. Mainly it’s just because of having to deal with things like the size of the buttons, size of text boxes, things like that. If it’s all keyboard and mouse driven, you don’t have to worry about that as much. We’ll say no in this case. Is it an existing code base that we or some other developer would be taking over? If there’s a bunch of code that already exists, somebody’s got to figure out what that code does and how it works, so that takes extra time. We’ll say no in this case.

Those were all the high level attributes. Now we go into process attributes. This is more “what does the system do?” What’s the number of screens the system has? That’s a very rough way to estimate – a system with 10 screens typically takes longer than a system with one screen. Not always, but sometimes. Let’s says this has 10 screens. That would be 10 web interface screens. Let’s say seven web interface screens and three iPhone app screens might be another way to think of that.

How many users are using this system in terms of user logins? If you have a system that’s being used by a small department of 5 or 10 people, that takes a certain amount of effort to support and think about those users, handle all those users’ needs and the different user types that might be in the system because of that. If you have a system that has 10,000 users, that’s a whole other scale. Let’s say 500 users in this case. Let’s say that it’s a company with 750 employees and 500 of the employees will be in there using it, most likely. Maybe it’s an application for managing their HR records or something like that, or perhaps overtime.

How many different APIs will the system talk to? (That’s application programming interfaces.) If you’ve got some other third party system that you want to integrate with or move your data from that’s not just a standard database, that’s where this would go. We’ll say in our case we don’t have any APIs to talk to. In terms of just development process, how many times a month would you want to meet? Typically, we’re doing two week sprints, so milestones and meetings every two to three weeks. Sometimes people want to meet more often than that and say, “Well, we have a weekly meeting that we want everybody to be in,” so that’s why we put that here. Let’s just say a standard two meetings.

How many reports do you think the system will have? Obviously, some reports might take a small amount of effort, some might take a large amount of effort, but you’re going to have a number to start with. We’ll say there’s four reports in this system. On a scale of 1 to 10, how complex are the business rules of the data in the system? This is a very subjective thing, obviously, but I guess it’s your gut feel. If you think that it sounds really straightforward to you, you could say a one, or a two, or a three where it’s just reading and writing some values out of a database. If you know that it’s a system involving some kind of engineering automation or some kind of graphical auto-generation of graphics or something like that, that’s probably more business logic, same as if you were doing a lot of OCR or some other kind of system like that. That could be more complicated. Let’s just say this is middle of the road, it’s a five.

Number of roles in the system? That’s different roles for those users, for those 500 users we talked about. Is it two roles, three roles? Let’s say it’s three roles. How important is graphic design? Are you really picky about graphic design, or do you not care if this whole thing is black and white and just looks like this Excel sheet does? Let’s say that we’re a four there.

Specific features, there are some specific features that can add complexity to a project no matter how they’re implemented. Video is one. Will it work with video, editing video, playing video, storing videos? Let’s say no. Barcoding, does it deal with any kind of barcoding? Again, you might have issues of a failure to recognize barcodes and handling that, integrating with some kind of barcode library that can handle that recognition for you. That can add complexity. Let’s say no. There’s obviously a lot more things that could be in this list of feature attributes, but this is a high level list.

Does it work with OCR, optical character recognition? Let’s say no. Do we need to integrate it with some other platform, SharePoint, WordPress, something like that? Do we deal with electronic signatures in this, collecting them, storing them, burning them into documents? Let’s say yes, that this system does, we’re going to capture those from an iPhone app. Are we going to generate documents on the fly with this system? Let’s say yes, we’re going to burn that signature into the PDF, let’s say. Does it deal with HIPAA protected information? If it does, there’s a whole lot of security concerns and extra steps you need to take in the system to make sure that you’re being HIPAA compliant. That’s why this is a question. We’ll say no. Does it deal with financial or credit card information? That might require PCI compliance, that sort of stuff, which again is additional work and complexity. We’ll say no in this case. Do we need to charge credit cards? That’s really just working with a payment gateway. We’ll say no.

Just as a question as far as servers, do you own your own servers this system would run on? That helps us determine how much effort would be involved in us getting access to things. Do we need to VPN into your system? Again, sometimes that’s just a human workflow of getting access like we should have.

You can see this gives you an estimation here, and you can go back and tweak and fiddle with numbers. Gives you some contact information. That’s what each of these metrics means. If you’re working on estimating a project and you’re a developer, I would encourage you to think about some of these items as you’re coming up with your estimates if you’re using this Excel sheet for those purposes. If you’re a business owner or executive or manager and you’re using it to come up with a guess, obviously these are rough numbers, these project costs. They could be way over, they could be way under. An Excel sheet is not a perfect way to capture this sort of thing, but it’s at least some sort of a general inaccurate idea of things. You can get an idea of how much would HIPAA compliance, if we added that to the system, what kind of cost does that add in a general way, what kind of cost does document generation add. You can tweak and look at those numbers based on that.

I hope it helps you. There’s also a link in the email I’ll send to this sheet if you don’t have it anymore. You can download it again, and feel free to share it. Thanks.

Sam Schutte
Sam Schutte
Sam is the founder of Unstoppable Software, and has his hands in all aspects of its operations and growth. He loves architecting software solutions to fit a specific business need and helping CIOs and other technology managers figure out their software development strategies.
Recommended Posts
Showing 2 comments
  • Luis Camarena
    Reply

    Great article and insights. As the founder of Asentex, a business process improvement company, we focus on helping clients understand what they want and see what can be done to improve the process. Then we focus on the application development and know exactly what happens through this stage.

    It is definitely a challenge. Its comparable to asking a home builder, what the cost is to build a home. The difference is that with a home most people can envision it, but it is more difficult to envision a software application.

    What are your thoughts on comparing a home builder to a software developer?

    • Sam Schutte
      Reply

      Hi Luis – one comparison I’ve heard when it comes to home building versus software building is that with a home, you can’t build the roof first and fix the foundation later. Software has the flexibility that if you want to start with the “roof” first, you can, and if you want to only create enough “foundation” as necessary, you can do so, and firm things up later.

      So from one standpoint, it’s nice to have that flexibility – we don’t have to get things right the first time, or rather, we can allow the ideas customers have along the way to change our plans without tearing out and ripping up concrete. 🙂

      I do however think that you’re right about the difficultly conceptualizing software versus buildings. I think part of the trouble is that everyone knows what a brick is, what a shingle is – people know what homes are made out of. So they can very easily understand that you put it all together and boom – you have a house.

      Most people really don’t have any idea what is under the covers with software though – what makes these images and words appear on my screen when I use my web browser? Why do all these developers act like its so hard to build the system I want?

      I think people need to start thinking of software as more of a big complex math problem where you have to get the formula right, or else you get the wrong answer. Instead, they sometimes think of it as a fancy form of typing, which leads to problems.

Leave a Comment

Start typing and press Enter to search

Managing Software Developer Productivity Webinarcomputer science heros