0

I have a little new company that works with robotics, machine vision and natural language processing. But for some projects, we need to write some Android/iOS applications. In our company we don't have smartphone programming experience! So I don't know how to calculate how much time is needed for an Android program.

Maybe you say you can ask for that from many developers and find the average time, but the problem is that I don't know which developer really has enough experience or if he/she lied to get the job! Are there any rules or guides to do that?

In general I want to know, if I hire a programmer, how fast should I expect him/her to work? How much work should I expect he/she does in a day or week?

  • This forum acts like a helping-hand and not to solve your challenge. The question you have posed seemed to be pretty naive as you might be a newbie to Project Management itself. Quite likely, you might need to learn the trade prior posing questions. Your immediate help should be your supervisor. Hope this helps you. – Devasuran Jan 9 '18 at 15:59
  • You hired somebody without knowing how good they really are? That's rather risky on your part. – Danny Schoemann Jan 10 '18 at 10:00
  • 1
    @DannySchoemann: No , I want to hire someone, but don't know how much work should I expect for him to estimate my projects time! – user8663682 Jan 10 '18 at 13:27
  • @user8663682 You have to ask your new hire how long it will take him to do the work. As unsatisfying as that may be, any other metric will not yield accurate estimates for his work. – Todd A. Jacobs Jan 13 '18 at 20:36
2

In regard to obtaining an average project timeline, I would ask your potential new hires how long they think it will take. Since they'll be working on the project, their judgement would be the best metric. If one potential hire says it will take them 2 weeks and another says 1 month, you'll need to consider the reasoning in their responses. Ask them to justify it by asking them why and how they determined the timeline. Additionally, do not be afraid to challenge them by asking them if they could complete it in a shorter timeframe. Some people are perfectionists and would therefore spend countless hours toiling away at something that didn't need to be "perfected" in the first place. It's important for one to remember, especially as a project leader or manager, that you'll simply just need to "make do" with what you have. What if the deadline were more stringent or there was pressure to complete the project by a certain date? How would the new hire perform then? Consider that some people work better under pressure.

Unfortunately, the answer to your question about timeline is solely case-by-case; however, there are methods you could employ to determine a range. Try breaking down the project for the new hire into the smallest actionable pieces. Perhaps this would be a task for the project lead or project manager. List all possible steps of the project in a detailed fashion so that the programmer can fully visualize the extent of it. Create the list so that it is results based meaning that the programmer should have a strong idea or vision of the goal you're trying to achieve. If they are competent in coding for Android/iOS, then they should be able to give you a strong time estimate for each task or group of tasks. Have them complete a small group of tasks, then evaluate whether or not they met their estimate taking note of their margin of error. Were they on time? Did they complete the tasks within minutes of their estimates or within hours? Within days? Find out the reasons behind their completion time. Why and how did they finish on time, late, or early? Identify strengths and weaknesses in their abilities, having this knowledge is important when managing them on subsequent projects.

Then again, Steve Jobs never asked someone how long it would take...

1

Knowledge Work Isn't an Assembly-Line

[I]f I hire a programmer, how fast should I expect him/her to work? How much work should I expect he/she does in a day or week?

This is always the wrong set of questions, because it is based on the outdated notion that knowledge work is similar to assembly line production. It isn't.

Instead, you should be evaluating people based on their ability to deliver business value and meet objectives within their own skill envelope. You can do this with target-based assessments, individualized assessments, or a combination of the two.

Outcome-Based Evaluations

The only real way to evaluate knowledge workers is outcome-based measurements. In my experience, there are two types of outcome-based metrics:

  1. Target-Based Assessments

    For this usage, a (management) target is a goal or deadline set by fiat. If you have three months to deliver a product or feature, then you should staff your project with people who are confident they can deliver within your target time-frame, and who you believe can get the job done when you need it. Both sides need to maintain transparency for this to work.

    Of course, that means that you can't hire mediocre people to meet aggressive time frames. It also means you need to remain aware of the distinction between "confidence" and a guaranteed outcome. In knowledge work you will never have the latter, even if it's contractually stipulated. Ask a separate question if you're not clear on why this is true.

    Target-based assessments and estimates also require exceptional communications, clear specifications, well-delineated scope, effective work breakdowns, and deep domain expertise. This costs time and money. In my experience, the more target-driven a project, the more it will cost you; however, your mileage may vary.

  2. Individualized Assessments

    Rather than comparing people to other people, you measure people against their own skills and experience. A job that might take a domain expert 30 days might take a novice or journeyman months, so you have to rely on the trend lines for each person rather than estimating based on someone else's knowledge and experience.

    You get what you pay for, so you can't necessarily hire the cheapest labor pool possible and expect a stellar outcome. While price doesn't guarantee results, there is certainly a correlation between skills/experience and labor costs, so your budget must reflect the level of abilities that you want to staff for on your project.

    With individualized assessments, you need to get the estimates directly from the task performers. No one else can estimate how long it will take that person to do a task, because it is based on their knowledge and experience. Your management levers are limited to holding task performers accountable for their estimates, and choosing staff (or replacing them) based on whether or not reasonable results can be obtained from a given skill set.

    Continuous feedback and open communications are not levers, but they can certainly optimize the process. For this model, think "planning effectiveness" rather than delivery speed. That will deliver the best possible results from the resources you have, and is often a more sustainable approach from a cost perspective.

In more pragmatic terms, you can either staff your project to meet pre-set deadlines, or schedule your project to deliver based on the skills and abilities of the people you have. Both can work, but the latter is generally more reliable over time.

Management Owns the Risk

In all cases, management owns the risk. If a plan is created without input from the task performers, there is inherent risk that the project will be mis-estimated. Alternatively, if targets are unreasonable or sufficient budget/skill is not brought to bear on the objectives, management owns that risk too.

In other words, you can set expectations through effective two-way communication (or by diktat, if you're so inclined), but you can't flog the programmers to work faster. If you don't currently have the skill set in-house to accurately estimate the project's scope and schedule, then you will have to hire resources you trust to deliver at their best possible speed.

1

Here is a partial checklist of pre-requisites for estimation

In order to arrive at an estimate of developer output or cost of a mobile app, you need to sit down and try to answer some questions first:

  1. Articulate your business goals: What is the criteria to declare that the app is a success? Are you going to sell the app and generate revenue or use it for support...

  2. Type of app: What type of app do you need? You can build a web app (mobile version of a website), a native app or a hybrid. If you build separate iOS and Android native apps, these are the most expensive. You will likely need to hire separate Android and iOS developers and you need to maintain two code bases. There are some cross-platform frameworks/tools available that will let you write a single codebase and deploy to iOS, Android and other mobile platforms.

  3. Features needed: Have you figured out the list of features that you need in the app? If you need a lot of bells and whistles, obviously, it will take more time. People often carve out the set of features needed in a Minimum Viable Product (MVP), build and launch this MVP and then add other features, as needed.

  4. Other roles: For the developer to be productive, you need someone with the product vision to work with the developer to describe what features need to be built and lay down acceptance criteria. You also need UX/UI designs, wireframes, graphics... You also need someone to test the features as they are getting built and provide feedback. Some of these roles can be combined, of course, depending on the size of the team. But you need to designate people for these roles and free-up their time.

Hopefully, this checklist gives you the basic idea that it is more than hiring a developer and letting them loose on a project.

0

Maybe you say you can ask for that from many developers and find the average time, but the problem is that I don't know which developer really has enough experience or if he/she lied to get the job! Are there any rules or guides to do that?

I would suggest something like a planning poker session that includes you and all the developers you are thinking of to work on the app. Planning poker is great for clarifying scope, and can also help give you a feel for who is speaking from more or less technical knowledge when they explain their estimate.

In general I want to know, if I hire a programmer, how fast should I expect him/her to work? How much work should I expect he/she does in a day or week?

I don't think that's going to be a helpful question, because it will depend a great deal on the type of work and will also vary to some extent from person to person.

Your Answer

By clicking "Post Your Answer", you acknowledge that you have read our updated terms of service, privacy policy and cookie policy, and that your continued use of the website is subject to these policies.

Not the answer you're looking for? Browse other questions tagged or ask your own question.