My programmer underestimates deadlines or is just lazy





.everyoneloves__top-leaderboard:empty,.everyoneloves__mid-leaderboard:empty{ margin-bottom:0;
}






up vote
5
down vote

favorite












Since august, I have had a software programmer in my charge and I became the project leader of my area.



She went well with learning things about our area, configuring some tasks, but ever since I started to ask her more complex things (to be specific, complex in the sense, understand sql functions and how the back end of a application works) is when my problems got started



First of all, I think she underestimates the complexity of the tasks, then I believe she became secure and stretches her schedule doing the bare minimum until I ask her how she goes; for example she does not implement her changes in the development environment, she just goes "I'm just testing things here in my sql session" like some query's on the fly without testing the project as a whole (I assured her that she can do and test whatever she wants in development environment)



Wednesdays are the days that new releases are made, so I told her days ago to check with time her development with the entire project, not just use the Monday and Tuesday to adjust things. Today. Friday she implemented her changes and of course, in the development environment everything crashed



This is not the first time she has done this. My specific question is, with that personality should I implement a sort of specific scrum for her? We use waterfall because our projects are small; I'm thinking about sitting with her 15 minutes a day to ask her about her progress.



This is not what we're used to doing, we normally just set deadlines and set a Gantt diagram, I'm not saying every other developer is perfect but her case is very isolated. She only had that task and previously I was assured that she understood how the project works and I tried to respond to her questions as clearly as possible.










share|improve this question
























  • You can't do anything Scrum related if it's just you in charge and her. Scrum is a way to organize team projects.
    – Erik
    Dec 1 at 7:20










  • Does this programmer have a team? Or at least some peers to work with? What's their experience level? Does your company do a lot of software development, or is this outside the norm?
    – Erik
    Dec 1 at 9:51






  • 7




    Don't forget Hofstadter's law - "It always takes longer than you expect, even when you take into account Hofstadter's Law"
    – Mawg
    Dec 1 at 11:53






  • 5




    Does she have any expereince in SQL & backend? Or has she been thrown in at the deepend? Is she new to the company? if not, how did she do on previous projects? Sounds like you are new to being prohect leader - no offence, but could that have anythng to do with it?
    – Mawg
    Dec 1 at 11:56










  • You should remove all references to gender. It seems that you are getting downvoted for mentioning the employee is female by some sensitive people.
    – Jack
    Dec 1 at 12:39

















up vote
5
down vote

favorite












Since august, I have had a software programmer in my charge and I became the project leader of my area.



She went well with learning things about our area, configuring some tasks, but ever since I started to ask her more complex things (to be specific, complex in the sense, understand sql functions and how the back end of a application works) is when my problems got started



First of all, I think she underestimates the complexity of the tasks, then I believe she became secure and stretches her schedule doing the bare minimum until I ask her how she goes; for example she does not implement her changes in the development environment, she just goes "I'm just testing things here in my sql session" like some query's on the fly without testing the project as a whole (I assured her that she can do and test whatever she wants in development environment)



Wednesdays are the days that new releases are made, so I told her days ago to check with time her development with the entire project, not just use the Monday and Tuesday to adjust things. Today. Friday she implemented her changes and of course, in the development environment everything crashed



This is not the first time she has done this. My specific question is, with that personality should I implement a sort of specific scrum for her? We use waterfall because our projects are small; I'm thinking about sitting with her 15 minutes a day to ask her about her progress.



This is not what we're used to doing, we normally just set deadlines and set a Gantt diagram, I'm not saying every other developer is perfect but her case is very isolated. She only had that task and previously I was assured that she understood how the project works and I tried to respond to her questions as clearly as possible.










share|improve this question
























  • You can't do anything Scrum related if it's just you in charge and her. Scrum is a way to organize team projects.
    – Erik
    Dec 1 at 7:20










  • Does this programmer have a team? Or at least some peers to work with? What's their experience level? Does your company do a lot of software development, or is this outside the norm?
    – Erik
    Dec 1 at 9:51






  • 7




    Don't forget Hofstadter's law - "It always takes longer than you expect, even when you take into account Hofstadter's Law"
    – Mawg
    Dec 1 at 11:53






  • 5




    Does she have any expereince in SQL & backend? Or has she been thrown in at the deepend? Is she new to the company? if not, how did she do on previous projects? Sounds like you are new to being prohect leader - no offence, but could that have anythng to do with it?
    – Mawg
    Dec 1 at 11:56










  • You should remove all references to gender. It seems that you are getting downvoted for mentioning the employee is female by some sensitive people.
    – Jack
    Dec 1 at 12:39













up vote
5
down vote

favorite









up vote
5
down vote

favorite











Since august, I have had a software programmer in my charge and I became the project leader of my area.



She went well with learning things about our area, configuring some tasks, but ever since I started to ask her more complex things (to be specific, complex in the sense, understand sql functions and how the back end of a application works) is when my problems got started



First of all, I think she underestimates the complexity of the tasks, then I believe she became secure and stretches her schedule doing the bare minimum until I ask her how she goes; for example she does not implement her changes in the development environment, she just goes "I'm just testing things here in my sql session" like some query's on the fly without testing the project as a whole (I assured her that she can do and test whatever she wants in development environment)



Wednesdays are the days that new releases are made, so I told her days ago to check with time her development with the entire project, not just use the Monday and Tuesday to adjust things. Today. Friday she implemented her changes and of course, in the development environment everything crashed



This is not the first time she has done this. My specific question is, with that personality should I implement a sort of specific scrum for her? We use waterfall because our projects are small; I'm thinking about sitting with her 15 minutes a day to ask her about her progress.



This is not what we're used to doing, we normally just set deadlines and set a Gantt diagram, I'm not saying every other developer is perfect but her case is very isolated. She only had that task and previously I was assured that she understood how the project works and I tried to respond to her questions as clearly as possible.










share|improve this question















Since august, I have had a software programmer in my charge and I became the project leader of my area.



She went well with learning things about our area, configuring some tasks, but ever since I started to ask her more complex things (to be specific, complex in the sense, understand sql functions and how the back end of a application works) is when my problems got started



First of all, I think she underestimates the complexity of the tasks, then I believe she became secure and stretches her schedule doing the bare minimum until I ask her how she goes; for example she does not implement her changes in the development environment, she just goes "I'm just testing things here in my sql session" like some query's on the fly without testing the project as a whole (I assured her that she can do and test whatever she wants in development environment)



Wednesdays are the days that new releases are made, so I told her days ago to check with time her development with the entire project, not just use the Monday and Tuesday to adjust things. Today. Friday she implemented her changes and of course, in the development environment everything crashed



This is not the first time she has done this. My specific question is, with that personality should I implement a sort of specific scrum for her? We use waterfall because our projects are small; I'm thinking about sitting with her 15 minutes a day to ask her about her progress.



This is not what we're used to doing, we normally just set deadlines and set a Gantt diagram, I'm not saying every other developer is perfect but her case is very isolated. She only had that task and previously I was assured that she understood how the project works and I tried to respond to her questions as clearly as possible.







performance employees deadlines






share|improve this question















share|improve this question













share|improve this question




share|improve this question








edited Dec 1 at 9:31









Kilisi

110k61246426




110k61246426










asked Dec 1 at 3:19









Naty Bizz

1512




1512












  • You can't do anything Scrum related if it's just you in charge and her. Scrum is a way to organize team projects.
    – Erik
    Dec 1 at 7:20










  • Does this programmer have a team? Or at least some peers to work with? What's their experience level? Does your company do a lot of software development, or is this outside the norm?
    – Erik
    Dec 1 at 9:51






  • 7




    Don't forget Hofstadter's law - "It always takes longer than you expect, even when you take into account Hofstadter's Law"
    – Mawg
    Dec 1 at 11:53






  • 5




    Does she have any expereince in SQL & backend? Or has she been thrown in at the deepend? Is she new to the company? if not, how did she do on previous projects? Sounds like you are new to being prohect leader - no offence, but could that have anythng to do with it?
    – Mawg
    Dec 1 at 11:56










  • You should remove all references to gender. It seems that you are getting downvoted for mentioning the employee is female by some sensitive people.
    – Jack
    Dec 1 at 12:39


















  • You can't do anything Scrum related if it's just you in charge and her. Scrum is a way to organize team projects.
    – Erik
    Dec 1 at 7:20










  • Does this programmer have a team? Or at least some peers to work with? What's their experience level? Does your company do a lot of software development, or is this outside the norm?
    – Erik
    Dec 1 at 9:51






  • 7




    Don't forget Hofstadter's law - "It always takes longer than you expect, even when you take into account Hofstadter's Law"
    – Mawg
    Dec 1 at 11:53






  • 5




    Does she have any expereince in SQL & backend? Or has she been thrown in at the deepend? Is she new to the company? if not, how did she do on previous projects? Sounds like you are new to being prohect leader - no offence, but could that have anythng to do with it?
    – Mawg
    Dec 1 at 11:56










  • You should remove all references to gender. It seems that you are getting downvoted for mentioning the employee is female by some sensitive people.
    – Jack
    Dec 1 at 12:39
















You can't do anything Scrum related if it's just you in charge and her. Scrum is a way to organize team projects.
– Erik
Dec 1 at 7:20




You can't do anything Scrum related if it's just you in charge and her. Scrum is a way to organize team projects.
– Erik
Dec 1 at 7:20












Does this programmer have a team? Or at least some peers to work with? What's their experience level? Does your company do a lot of software development, or is this outside the norm?
– Erik
Dec 1 at 9:51




Does this programmer have a team? Or at least some peers to work with? What's their experience level? Does your company do a lot of software development, or is this outside the norm?
– Erik
Dec 1 at 9:51




7




7




Don't forget Hofstadter's law - "It always takes longer than you expect, even when you take into account Hofstadter's Law"
– Mawg
Dec 1 at 11:53




Don't forget Hofstadter's law - "It always takes longer than you expect, even when you take into account Hofstadter's Law"
– Mawg
Dec 1 at 11:53




5




5




Does she have any expereince in SQL & backend? Or has she been thrown in at the deepend? Is she new to the company? if not, how did she do on previous projects? Sounds like you are new to being prohect leader - no offence, but could that have anythng to do with it?
– Mawg
Dec 1 at 11:56




Does she have any expereince in SQL & backend? Or has she been thrown in at the deepend? Is she new to the company? if not, how did she do on previous projects? Sounds like you are new to being prohect leader - no offence, but could that have anythng to do with it?
– Mawg
Dec 1 at 11:56












You should remove all references to gender. It seems that you are getting downvoted for mentioning the employee is female by some sensitive people.
– Jack
Dec 1 at 12:39




You should remove all references to gender. It seems that you are getting downvoted for mentioning the employee is female by some sensitive people.
– Jack
Dec 1 at 12:39










7 Answers
7






active

oldest

votes

















up vote
12
down vote













You might have been describing a young me. Estimating the time required for a task is a skill that takes some time to learn. When asked for an estimate, she probably thinks of how long it will take in a perfect world with no distractions and where nothing goes wrong, and maybe adds a tiny buffer to it. She then feels that she should be able to complete the task in that amount of time, and is embarassed to offer a more realistic time frame because it might make her appear incompetent or lazy. Having given her estimate, she now believes it, and thinks she has time to spare.



Next time an estimate is required from her, I would sit down with her and analyse the estimate, breaking it down into several smaller sub-tasks. For example, if she says she can add this feature by a certain date, ask her how long it will take to analyse the requirements, how long to write the tests, how long to write the code, how long to run the tests and fix any bugs. At several points, ask her if she wants to revise her estimate. Remind her that things seldom go perfectly smoothly, and that you're looking for a realistic estimate. I'd do this for the next few estimates until she starts to get the hang of things.



This approach will accomplish several things. It will show her a systematic approach to coming up with an estimate. And when one of the smaller subtasks takes longer than expected, it will make her realise that she is in danger of missing the deadline (and give you advance notice). It will help her notice patterns in her estimates.






share|improve this answer

















  • 9




    In my organization, managers get estimation training as part of their management training programme. But whenever they want to know how long something will take, they ask the engineers, who haven't had any estimation training.
    – Simon B
    Dec 2 at 0:23


















up vote
2
down vote













First up, humans suck at task estimation time. I mean, Really Really Suck.



They did one study where they got participants to estimate how long it'd be before they were 50% sure they'd be done (aka, an average be-done-by time.) A second group was asked to do the same with a 75% certainty. And the third, a 99% certainty (aka, I'm almost positive I'll be done by this time.)



The results? Only 13% of the first group was done in time, not half. And of that 99%-certain group? Only 45% were done. Aka, people were being pessimistic, trying to give a safe conservative answer, and they STILL underestimated.



So they did a follow up, to figure out why we suck at task estimation. One group was asked to guess how long something would take. One group was asked to guess how long it would take best case, if everything went right. And one group was asked how long it would take worst case, if everything went wrong. And they found that the first two groups gave nearly identical times. Basically, people naturally plan as if everything will go perfectly. And it doesn't - it almost never does - and our estimates are bad because of it.



So, right off the bat: people naturally suck at task estimation. I'd highly suggest reading about the Planning Fallacy a bit to get some more (interesting, imho) information on the subject.



So! What can you do about it?



Door #1: Story Points



Well, Agile groups typically don't use 'Time' as an estimate for how long something will take. Why? Because, well, people suck at task estimation. The minute you ask how long something will take, it sweeps them into bad-task-estimation-mindset.



Instead, they use Story Points. Instead of estimating how long something will take, they estimate how complicated something will be. This can often help bypass people's overly-optimistic nature.



Door #2: Time Translation



There are some people that when they say something will take "4 days", you mentally have to translate to "2 weeks." Yeah, the person should hopefully get better with task estimation as things go forward, but you might have to get into the habit of figuring out the relationship between how long they say it'll take, versus how long it actually takes - and then do some mental calculation when their estimates come up.



Now, as for the Possibly-Lazy issue?



You'll have to take special care at figuring out whether it's actually laziness or if they're just not the most familiar at what you're asking them to do. There have been times that I've been in the weeds for a project, with no clear visibility on what I'm doing, what I'm supposed to be doing, and how exactly things are supposed to be done - and it sucks.



If they're in the weeds? You're either going to have to give them some slack to get things figured out, or have someone get more involved in helping them out. Pair programming can actually be a god-send in these types of situations.



And if they're just lazy? You're probably going to have to get more involved - daily task goals, or something with more rapid feedback that don't allow them to slouch for days at a time. (Again, make absolutely sure it's a laziness issue before treating it as such.)



EDIT: A link was requested - but the easiest thing is to google Planning Fallacy or go to the wikipedia page. The article itself is behind a paywall. It's: Buehler, Roger; Dale Griffin; Michael Ross (1995). "It's about time: Optimistic predictions in work and love". European Review of Social Psychology. American Psychological Association






share|improve this answer























  • Can you provide a link/reference to that study you mentioned? Thanks in advance.
    – CPHPython
    yesterday


















up vote
1
down vote













Best practices in software development include some testing methodology. It can follow an official definition such as Test Driven Development or Behavior Driven Development. Or it can some personal method. What matters is an organized approach to writing software where clear, repeatable tests are an integral part in the process.



If you have a developer who doesn’t apply these best practices, he/she is either inexperienced or somehow survived in previous positions despite this issue. In any case, this approach won’t work long term.



Such a developer needs to be taught proper programming practices by a senior dev, which shouldn’t take very long. Furthermore, examine the culture in your company - are best practices encouraged/enforced? Do your devs share knowledge? Do the managers (you) understand these things and nourish a conducive environment?



As for time estimates, you need an organized approach which is beyond the scope of your question. But from the info you gave, it sounds like you are using waterfall, which may not be the best method for software development.






share|improve this answer




























    up vote
    -1
    down vote













    You need to iron out procedures and expectations, then explain them to everyone.



    Most importantly you then monitor and enforce them, using disciplinary action if necessary. Crashing the environment without good reason and ignoring procedures once would be grounds for a warning, more often and you would need to look at disciplining her.



    You do not change procedures for a single staff member if they're fine for all the rest without risking morale issues in the team.



    Do not single her out at this point though, explain the procedures and expectations to everyone. Make sure they understand it's not a suggestion, there are issues with procedure not being followed and you will be monitoring.






    share|improve this answer



















    • 2




      To me, the statement "I assured her that she can do and test whatever she wants in development environment" is not compatible with disciplining someone for crashing the development environment.
      – Simon B
      Dec 2 at 0:15






    • 1




      @SimonB released on wrong day, didn't follow procedures,. it's a combination of issues rather than one, and the persistence of the same issues... very clearly stated, but you can pull half a sentence out here and there and make a case for anything... but thanks for the dv
      – Kilisi
      Dec 2 at 0:42












    • @Kilisi It sounds from the question as if the production releases are done on Wednesdays, which says nothing about when development environment changes are made. Indeed, if you can't change the development environment except on a rigid schedule, you make it a lot less useful as a testbed.
      – David Thornley
      12 hours ago


















    up vote
    -1
    down vote













    If you think it is appropriate given her experience and place in the team you can have the occasional, separate, short and informal meeting with her.



    You need to be careful however not to strain her too much by your attempt to mentor her or figuring out her strengths and weaknesses.



    Plus, let your team members know the priorities for their tasks.



    Also, pace the complexity of assignments, especially for juniors and
    reassure her that using the dev environment is not only allowed but part of the protocol (if that indeed is the case).



    As you see, she struggles to manage her tasks, so help her by assigning them priorities and remind her of company procedures regarding local testing and global dev environments.



    This is not to say you're at fault but anything you ask of her or mention, even if just in passing, may become a priority to a young or inexperienced (as a worker in general) employee.



    They might want to impress you with their capabilities.
    It is easy to forget time management, even for senior employees in that mindset.



    She ends up trying to please you in all areas you mentioned and won't have a chance to succeed in any properly.



    It is commendable that you want to assist in her development, it will benefit your team and her alike.



    Don't classify the meetings in any way (especially not in a separate format) or she might feel singled out or pressured to prevent your impending negative impression about her performance.






    share|improve this answer






























      up vote
      -6
      down vote













      You don_t have a programmer - you have someone incompetent for the job, to start with. Replace programming with cooking and then ask whether a cook - one working in that profession - would have problems with complex stuff like making pasta. SQL functions ARE basic. Not saying most programmers re not competent, particularly if they work for a manager with limited skillset - they may even get into senior positions then.



      Second, you have a really not too good development cycle. Wednesday release is not bad, but there should be cut offs, different test environments etc. - and what does not make it, goes into the next release.



      Third, you miss a fundamental of SCRUM - people have to be consistent with their estimates, NOT RIGHT. You THEN adjust speed based on how good or bad the estimates are. I.e. maybe they get only 10 hours done per week - but that is it. You do NOT change estimates because PEOPLE ARE BAD AT ESTIMATING. If we have learned anything about IT projects in the last 80 years or so - you can not properly estimate them, estimates always shoot low.



      That said, the fact that you DO use a waterfall process is a VERY strong indication you have NOT learned anything about IT projects in the last 80 years. They generally do NOT work - unless you have




      • very specific requirements

      • very specific deadlines

      • spend a lot on planning


      • have very strong legal requirements that are ok with wasting a ton of money on overheads (which i.e. governments love)



      None of that is normally true in business, and the whole idea of modern software development is NOT to do waterfall.



      And again, from what you say, she is not a programmer. She is - a beginner lacking the fundamental basics. Deal with it, or replace her with someone competent. Given she is the only programmer, there is no one to mentor her. Not good.






      share|improve this answer























      • Much SQL is basic. There's a lot of SQL queries that I've seen that I'd have problems with, and I'm very experienced and have used SQL off and on for decades. I've seen competent people make SQL mistakes. Without knowing what the SQL is, I can't say whether the developer is incompetent.
        – David Thornley
        5 hours ago


















      up vote
      -11
      down vote













      The things you mentioned are basics in programming. Obviously, you don't have a strong programmer in the team. No development model can solve incompetence.



      You need to get more funding, terminate her contract and hire a better programmer by paying more. No more money? Replace her with a strong but cheap overseas Indian freelancer.






      share|improve this answer



















      • 6




        There are competent devs in India, but they cost the same as their western counterparts :)
        – Juha Untinen
        Dec 1 at 8:52






      • 3




        this answer is wrong on so many levels...
        – Claudiu Creanga
        Dec 2 at 18:12










      • @SmallChess Estimation is not basic to programming, and programmer estimates usually suck. There's a difference between a competent junior developer and a competent senior developer, and nothing OP says is in any way incompatible with her being a competent junior developer. There's no reason to let her go. Hiring a freelancer overseas comes with its own set of headaches, and it's unlikely to be cheaper than hiring another developer locally.
        – David Thornley
        11 hours ago











      Your Answer








      StackExchange.ready(function() {
      var channelOptions = {
      tags: "".split(" "),
      id: "423"
      };
      initTagRenderer("".split(" "), "".split(" "), channelOptions);

      StackExchange.using("externalEditor", function() {
      // Have to fire editor after snippets, if snippets enabled
      if (StackExchange.settings.snippets.snippetsEnabled) {
      StackExchange.using("snippets", function() {
      createEditor();
      });
      }
      else {
      createEditor();
      }
      });

      function createEditor() {
      StackExchange.prepareEditor({
      heartbeatType: 'answer',
      convertImagesToLinks: false,
      noModals: true,
      showLowRepImageUploadWarning: true,
      reputationToPostImages: null,
      bindNavPrevention: true,
      postfix: "",
      imageUploader: {
      brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
      contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
      allowUrls: true
      },
      noCode: true, onDemand: false,
      discardSelector: ".discard-answer"
      ,immediatelyShowMarkdownHelp:true
      });


      }
      });














      draft saved

      draft discarded


















      StackExchange.ready(
      function () {
      StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fworkplace.stackexchange.com%2fquestions%2f123772%2fmy-programmer-underestimates-deadlines-or-is-just-lazy%23new-answer', 'question_page');
      }
      );

      Post as a guest















      Required, but never shown




















      StackExchange.ready(function () {
      $("#show-editor-button input, #show-editor-button button").click(function () {
      var showEditor = function() {
      $("#show-editor-button").hide();
      $("#post-form").removeClass("dno");
      StackExchange.editor.finallyInit();
      };

      var useFancy = $(this).data('confirm-use-fancy');
      if(useFancy == 'True') {
      var popupTitle = $(this).data('confirm-fancy-title');
      var popupBody = $(this).data('confirm-fancy-body');
      var popupAccept = $(this).data('confirm-fancy-accept-button');

      $(this).loadPopup({
      url: '/post/self-answer-popup',
      loaded: function(popup) {
      var pTitle = $(popup).find('h2');
      var pBody = $(popup).find('.popup-body');
      var pSubmit = $(popup).find('.popup-submit');

      pTitle.text(popupTitle);
      pBody.html(popupBody);
      pSubmit.val(popupAccept).click(showEditor);
      }
      })
      } else{
      var confirmText = $(this).data('confirm-text');
      if (confirmText ? confirm(confirmText) : true) {
      showEditor();
      }
      }
      });
      });






      7 Answers
      7






      active

      oldest

      votes








      7 Answers
      7






      active

      oldest

      votes









      active

      oldest

      votes






      active

      oldest

      votes








      up vote
      12
      down vote













      You might have been describing a young me. Estimating the time required for a task is a skill that takes some time to learn. When asked for an estimate, she probably thinks of how long it will take in a perfect world with no distractions and where nothing goes wrong, and maybe adds a tiny buffer to it. She then feels that she should be able to complete the task in that amount of time, and is embarassed to offer a more realistic time frame because it might make her appear incompetent or lazy. Having given her estimate, she now believes it, and thinks she has time to spare.



      Next time an estimate is required from her, I would sit down with her and analyse the estimate, breaking it down into several smaller sub-tasks. For example, if she says she can add this feature by a certain date, ask her how long it will take to analyse the requirements, how long to write the tests, how long to write the code, how long to run the tests and fix any bugs. At several points, ask her if she wants to revise her estimate. Remind her that things seldom go perfectly smoothly, and that you're looking for a realistic estimate. I'd do this for the next few estimates until she starts to get the hang of things.



      This approach will accomplish several things. It will show her a systematic approach to coming up with an estimate. And when one of the smaller subtasks takes longer than expected, it will make her realise that she is in danger of missing the deadline (and give you advance notice). It will help her notice patterns in her estimates.






      share|improve this answer

















      • 9




        In my organization, managers get estimation training as part of their management training programme. But whenever they want to know how long something will take, they ask the engineers, who haven't had any estimation training.
        – Simon B
        Dec 2 at 0:23















      up vote
      12
      down vote













      You might have been describing a young me. Estimating the time required for a task is a skill that takes some time to learn. When asked for an estimate, she probably thinks of how long it will take in a perfect world with no distractions and where nothing goes wrong, and maybe adds a tiny buffer to it. She then feels that she should be able to complete the task in that amount of time, and is embarassed to offer a more realistic time frame because it might make her appear incompetent or lazy. Having given her estimate, she now believes it, and thinks she has time to spare.



      Next time an estimate is required from her, I would sit down with her and analyse the estimate, breaking it down into several smaller sub-tasks. For example, if she says she can add this feature by a certain date, ask her how long it will take to analyse the requirements, how long to write the tests, how long to write the code, how long to run the tests and fix any bugs. At several points, ask her if she wants to revise her estimate. Remind her that things seldom go perfectly smoothly, and that you're looking for a realistic estimate. I'd do this for the next few estimates until she starts to get the hang of things.



      This approach will accomplish several things. It will show her a systematic approach to coming up with an estimate. And when one of the smaller subtasks takes longer than expected, it will make her realise that she is in danger of missing the deadline (and give you advance notice). It will help her notice patterns in her estimates.






      share|improve this answer

















      • 9




        In my organization, managers get estimation training as part of their management training programme. But whenever they want to know how long something will take, they ask the engineers, who haven't had any estimation training.
        – Simon B
        Dec 2 at 0:23













      up vote
      12
      down vote










      up vote
      12
      down vote









      You might have been describing a young me. Estimating the time required for a task is a skill that takes some time to learn. When asked for an estimate, she probably thinks of how long it will take in a perfect world with no distractions and where nothing goes wrong, and maybe adds a tiny buffer to it. She then feels that she should be able to complete the task in that amount of time, and is embarassed to offer a more realistic time frame because it might make her appear incompetent or lazy. Having given her estimate, she now believes it, and thinks she has time to spare.



      Next time an estimate is required from her, I would sit down with her and analyse the estimate, breaking it down into several smaller sub-tasks. For example, if she says she can add this feature by a certain date, ask her how long it will take to analyse the requirements, how long to write the tests, how long to write the code, how long to run the tests and fix any bugs. At several points, ask her if she wants to revise her estimate. Remind her that things seldom go perfectly smoothly, and that you're looking for a realistic estimate. I'd do this for the next few estimates until she starts to get the hang of things.



      This approach will accomplish several things. It will show her a systematic approach to coming up with an estimate. And when one of the smaller subtasks takes longer than expected, it will make her realise that she is in danger of missing the deadline (and give you advance notice). It will help her notice patterns in her estimates.






      share|improve this answer












      You might have been describing a young me. Estimating the time required for a task is a skill that takes some time to learn. When asked for an estimate, she probably thinks of how long it will take in a perfect world with no distractions and where nothing goes wrong, and maybe adds a tiny buffer to it. She then feels that she should be able to complete the task in that amount of time, and is embarassed to offer a more realistic time frame because it might make her appear incompetent or lazy. Having given her estimate, she now believes it, and thinks she has time to spare.



      Next time an estimate is required from her, I would sit down with her and analyse the estimate, breaking it down into several smaller sub-tasks. For example, if she says she can add this feature by a certain date, ask her how long it will take to analyse the requirements, how long to write the tests, how long to write the code, how long to run the tests and fix any bugs. At several points, ask her if she wants to revise her estimate. Remind her that things seldom go perfectly smoothly, and that you're looking for a realistic estimate. I'd do this for the next few estimates until she starts to get the hang of things.



      This approach will accomplish several things. It will show her a systematic approach to coming up with an estimate. And when one of the smaller subtasks takes longer than expected, it will make her realise that she is in danger of missing the deadline (and give you advance notice). It will help her notice patterns in her estimates.







      share|improve this answer












      share|improve this answer



      share|improve this answer










      answered Dec 1 at 12:38









      mhwombat

      3,43311517




      3,43311517








      • 9




        In my organization, managers get estimation training as part of their management training programme. But whenever they want to know how long something will take, they ask the engineers, who haven't had any estimation training.
        – Simon B
        Dec 2 at 0:23














      • 9




        In my organization, managers get estimation training as part of their management training programme. But whenever they want to know how long something will take, they ask the engineers, who haven't had any estimation training.
        – Simon B
        Dec 2 at 0:23








      9




      9




      In my organization, managers get estimation training as part of their management training programme. But whenever they want to know how long something will take, they ask the engineers, who haven't had any estimation training.
      – Simon B
      Dec 2 at 0:23




      In my organization, managers get estimation training as part of their management training programme. But whenever they want to know how long something will take, they ask the engineers, who haven't had any estimation training.
      – Simon B
      Dec 2 at 0:23












      up vote
      2
      down vote













      First up, humans suck at task estimation time. I mean, Really Really Suck.



      They did one study where they got participants to estimate how long it'd be before they were 50% sure they'd be done (aka, an average be-done-by time.) A second group was asked to do the same with a 75% certainty. And the third, a 99% certainty (aka, I'm almost positive I'll be done by this time.)



      The results? Only 13% of the first group was done in time, not half. And of that 99%-certain group? Only 45% were done. Aka, people were being pessimistic, trying to give a safe conservative answer, and they STILL underestimated.



      So they did a follow up, to figure out why we suck at task estimation. One group was asked to guess how long something would take. One group was asked to guess how long it would take best case, if everything went right. And one group was asked how long it would take worst case, if everything went wrong. And they found that the first two groups gave nearly identical times. Basically, people naturally plan as if everything will go perfectly. And it doesn't - it almost never does - and our estimates are bad because of it.



      So, right off the bat: people naturally suck at task estimation. I'd highly suggest reading about the Planning Fallacy a bit to get some more (interesting, imho) information on the subject.



      So! What can you do about it?



      Door #1: Story Points



      Well, Agile groups typically don't use 'Time' as an estimate for how long something will take. Why? Because, well, people suck at task estimation. The minute you ask how long something will take, it sweeps them into bad-task-estimation-mindset.



      Instead, they use Story Points. Instead of estimating how long something will take, they estimate how complicated something will be. This can often help bypass people's overly-optimistic nature.



      Door #2: Time Translation



      There are some people that when they say something will take "4 days", you mentally have to translate to "2 weeks." Yeah, the person should hopefully get better with task estimation as things go forward, but you might have to get into the habit of figuring out the relationship between how long they say it'll take, versus how long it actually takes - and then do some mental calculation when their estimates come up.



      Now, as for the Possibly-Lazy issue?



      You'll have to take special care at figuring out whether it's actually laziness or if they're just not the most familiar at what you're asking them to do. There have been times that I've been in the weeds for a project, with no clear visibility on what I'm doing, what I'm supposed to be doing, and how exactly things are supposed to be done - and it sucks.



      If they're in the weeds? You're either going to have to give them some slack to get things figured out, or have someone get more involved in helping them out. Pair programming can actually be a god-send in these types of situations.



      And if they're just lazy? You're probably going to have to get more involved - daily task goals, or something with more rapid feedback that don't allow them to slouch for days at a time. (Again, make absolutely sure it's a laziness issue before treating it as such.)



      EDIT: A link was requested - but the easiest thing is to google Planning Fallacy or go to the wikipedia page. The article itself is behind a paywall. It's: Buehler, Roger; Dale Griffin; Michael Ross (1995). "It's about time: Optimistic predictions in work and love". European Review of Social Psychology. American Psychological Association






      share|improve this answer























      • Can you provide a link/reference to that study you mentioned? Thanks in advance.
        – CPHPython
        yesterday















      up vote
      2
      down vote













      First up, humans suck at task estimation time. I mean, Really Really Suck.



      They did one study where they got participants to estimate how long it'd be before they were 50% sure they'd be done (aka, an average be-done-by time.) A second group was asked to do the same with a 75% certainty. And the third, a 99% certainty (aka, I'm almost positive I'll be done by this time.)



      The results? Only 13% of the first group was done in time, not half. And of that 99%-certain group? Only 45% were done. Aka, people were being pessimistic, trying to give a safe conservative answer, and they STILL underestimated.



      So they did a follow up, to figure out why we suck at task estimation. One group was asked to guess how long something would take. One group was asked to guess how long it would take best case, if everything went right. And one group was asked how long it would take worst case, if everything went wrong. And they found that the first two groups gave nearly identical times. Basically, people naturally plan as if everything will go perfectly. And it doesn't - it almost never does - and our estimates are bad because of it.



      So, right off the bat: people naturally suck at task estimation. I'd highly suggest reading about the Planning Fallacy a bit to get some more (interesting, imho) information on the subject.



      So! What can you do about it?



      Door #1: Story Points



      Well, Agile groups typically don't use 'Time' as an estimate for how long something will take. Why? Because, well, people suck at task estimation. The minute you ask how long something will take, it sweeps them into bad-task-estimation-mindset.



      Instead, they use Story Points. Instead of estimating how long something will take, they estimate how complicated something will be. This can often help bypass people's overly-optimistic nature.



      Door #2: Time Translation



      There are some people that when they say something will take "4 days", you mentally have to translate to "2 weeks." Yeah, the person should hopefully get better with task estimation as things go forward, but you might have to get into the habit of figuring out the relationship between how long they say it'll take, versus how long it actually takes - and then do some mental calculation when their estimates come up.



      Now, as for the Possibly-Lazy issue?



      You'll have to take special care at figuring out whether it's actually laziness or if they're just not the most familiar at what you're asking them to do. There have been times that I've been in the weeds for a project, with no clear visibility on what I'm doing, what I'm supposed to be doing, and how exactly things are supposed to be done - and it sucks.



      If they're in the weeds? You're either going to have to give them some slack to get things figured out, or have someone get more involved in helping them out. Pair programming can actually be a god-send in these types of situations.



      And if they're just lazy? You're probably going to have to get more involved - daily task goals, or something with more rapid feedback that don't allow them to slouch for days at a time. (Again, make absolutely sure it's a laziness issue before treating it as such.)



      EDIT: A link was requested - but the easiest thing is to google Planning Fallacy or go to the wikipedia page. The article itself is behind a paywall. It's: Buehler, Roger; Dale Griffin; Michael Ross (1995). "It's about time: Optimistic predictions in work and love". European Review of Social Psychology. American Psychological Association






      share|improve this answer























      • Can you provide a link/reference to that study you mentioned? Thanks in advance.
        – CPHPython
        yesterday













      up vote
      2
      down vote










      up vote
      2
      down vote









      First up, humans suck at task estimation time. I mean, Really Really Suck.



      They did one study where they got participants to estimate how long it'd be before they were 50% sure they'd be done (aka, an average be-done-by time.) A second group was asked to do the same with a 75% certainty. And the third, a 99% certainty (aka, I'm almost positive I'll be done by this time.)



      The results? Only 13% of the first group was done in time, not half. And of that 99%-certain group? Only 45% were done. Aka, people were being pessimistic, trying to give a safe conservative answer, and they STILL underestimated.



      So they did a follow up, to figure out why we suck at task estimation. One group was asked to guess how long something would take. One group was asked to guess how long it would take best case, if everything went right. And one group was asked how long it would take worst case, if everything went wrong. And they found that the first two groups gave nearly identical times. Basically, people naturally plan as if everything will go perfectly. And it doesn't - it almost never does - and our estimates are bad because of it.



      So, right off the bat: people naturally suck at task estimation. I'd highly suggest reading about the Planning Fallacy a bit to get some more (interesting, imho) information on the subject.



      So! What can you do about it?



      Door #1: Story Points



      Well, Agile groups typically don't use 'Time' as an estimate for how long something will take. Why? Because, well, people suck at task estimation. The minute you ask how long something will take, it sweeps them into bad-task-estimation-mindset.



      Instead, they use Story Points. Instead of estimating how long something will take, they estimate how complicated something will be. This can often help bypass people's overly-optimistic nature.



      Door #2: Time Translation



      There are some people that when they say something will take "4 days", you mentally have to translate to "2 weeks." Yeah, the person should hopefully get better with task estimation as things go forward, but you might have to get into the habit of figuring out the relationship between how long they say it'll take, versus how long it actually takes - and then do some mental calculation when their estimates come up.



      Now, as for the Possibly-Lazy issue?



      You'll have to take special care at figuring out whether it's actually laziness or if they're just not the most familiar at what you're asking them to do. There have been times that I've been in the weeds for a project, with no clear visibility on what I'm doing, what I'm supposed to be doing, and how exactly things are supposed to be done - and it sucks.



      If they're in the weeds? You're either going to have to give them some slack to get things figured out, or have someone get more involved in helping them out. Pair programming can actually be a god-send in these types of situations.



      And if they're just lazy? You're probably going to have to get more involved - daily task goals, or something with more rapid feedback that don't allow them to slouch for days at a time. (Again, make absolutely sure it's a laziness issue before treating it as such.)



      EDIT: A link was requested - but the easiest thing is to google Planning Fallacy or go to the wikipedia page. The article itself is behind a paywall. It's: Buehler, Roger; Dale Griffin; Michael Ross (1995). "It's about time: Optimistic predictions in work and love". European Review of Social Psychology. American Psychological Association






      share|improve this answer














      First up, humans suck at task estimation time. I mean, Really Really Suck.



      They did one study where they got participants to estimate how long it'd be before they were 50% sure they'd be done (aka, an average be-done-by time.) A second group was asked to do the same with a 75% certainty. And the third, a 99% certainty (aka, I'm almost positive I'll be done by this time.)



      The results? Only 13% of the first group was done in time, not half. And of that 99%-certain group? Only 45% were done. Aka, people were being pessimistic, trying to give a safe conservative answer, and they STILL underestimated.



      So they did a follow up, to figure out why we suck at task estimation. One group was asked to guess how long something would take. One group was asked to guess how long it would take best case, if everything went right. And one group was asked how long it would take worst case, if everything went wrong. And they found that the first two groups gave nearly identical times. Basically, people naturally plan as if everything will go perfectly. And it doesn't - it almost never does - and our estimates are bad because of it.



      So, right off the bat: people naturally suck at task estimation. I'd highly suggest reading about the Planning Fallacy a bit to get some more (interesting, imho) information on the subject.



      So! What can you do about it?



      Door #1: Story Points



      Well, Agile groups typically don't use 'Time' as an estimate for how long something will take. Why? Because, well, people suck at task estimation. The minute you ask how long something will take, it sweeps them into bad-task-estimation-mindset.



      Instead, they use Story Points. Instead of estimating how long something will take, they estimate how complicated something will be. This can often help bypass people's overly-optimistic nature.



      Door #2: Time Translation



      There are some people that when they say something will take "4 days", you mentally have to translate to "2 weeks." Yeah, the person should hopefully get better with task estimation as things go forward, but you might have to get into the habit of figuring out the relationship between how long they say it'll take, versus how long it actually takes - and then do some mental calculation when their estimates come up.



      Now, as for the Possibly-Lazy issue?



      You'll have to take special care at figuring out whether it's actually laziness or if they're just not the most familiar at what you're asking them to do. There have been times that I've been in the weeds for a project, with no clear visibility on what I'm doing, what I'm supposed to be doing, and how exactly things are supposed to be done - and it sucks.



      If they're in the weeds? You're either going to have to give them some slack to get things figured out, or have someone get more involved in helping them out. Pair programming can actually be a god-send in these types of situations.



      And if they're just lazy? You're probably going to have to get more involved - daily task goals, or something with more rapid feedback that don't allow them to slouch for days at a time. (Again, make absolutely sure it's a laziness issue before treating it as such.)



      EDIT: A link was requested - but the easiest thing is to google Planning Fallacy or go to the wikipedia page. The article itself is behind a paywall. It's: Buehler, Roger; Dale Griffin; Michael Ross (1995). "It's about time: Optimistic predictions in work and love". European Review of Social Psychology. American Psychological Association







      share|improve this answer














      share|improve this answer



      share|improve this answer








      edited 13 hours ago

























      answered 2 days ago









      Kevin

      1,418312




      1,418312












      • Can you provide a link/reference to that study you mentioned? Thanks in advance.
        – CPHPython
        yesterday


















      • Can you provide a link/reference to that study you mentioned? Thanks in advance.
        – CPHPython
        yesterday
















      Can you provide a link/reference to that study you mentioned? Thanks in advance.
      – CPHPython
      yesterday




      Can you provide a link/reference to that study you mentioned? Thanks in advance.
      – CPHPython
      yesterday










      up vote
      1
      down vote













      Best practices in software development include some testing methodology. It can follow an official definition such as Test Driven Development or Behavior Driven Development. Or it can some personal method. What matters is an organized approach to writing software where clear, repeatable tests are an integral part in the process.



      If you have a developer who doesn’t apply these best practices, he/she is either inexperienced or somehow survived in previous positions despite this issue. In any case, this approach won’t work long term.



      Such a developer needs to be taught proper programming practices by a senior dev, which shouldn’t take very long. Furthermore, examine the culture in your company - are best practices encouraged/enforced? Do your devs share knowledge? Do the managers (you) understand these things and nourish a conducive environment?



      As for time estimates, you need an organized approach which is beyond the scope of your question. But from the info you gave, it sounds like you are using waterfall, which may not be the best method for software development.






      share|improve this answer

























        up vote
        1
        down vote













        Best practices in software development include some testing methodology. It can follow an official definition such as Test Driven Development or Behavior Driven Development. Or it can some personal method. What matters is an organized approach to writing software where clear, repeatable tests are an integral part in the process.



        If you have a developer who doesn’t apply these best practices, he/she is either inexperienced or somehow survived in previous positions despite this issue. In any case, this approach won’t work long term.



        Such a developer needs to be taught proper programming practices by a senior dev, which shouldn’t take very long. Furthermore, examine the culture in your company - are best practices encouraged/enforced? Do your devs share knowledge? Do the managers (you) understand these things and nourish a conducive environment?



        As for time estimates, you need an organized approach which is beyond the scope of your question. But from the info you gave, it sounds like you are using waterfall, which may not be the best method for software development.






        share|improve this answer























          up vote
          1
          down vote










          up vote
          1
          down vote









          Best practices in software development include some testing methodology. It can follow an official definition such as Test Driven Development or Behavior Driven Development. Or it can some personal method. What matters is an organized approach to writing software where clear, repeatable tests are an integral part in the process.



          If you have a developer who doesn’t apply these best practices, he/she is either inexperienced or somehow survived in previous positions despite this issue. In any case, this approach won’t work long term.



          Such a developer needs to be taught proper programming practices by a senior dev, which shouldn’t take very long. Furthermore, examine the culture in your company - are best practices encouraged/enforced? Do your devs share knowledge? Do the managers (you) understand these things and nourish a conducive environment?



          As for time estimates, you need an organized approach which is beyond the scope of your question. But from the info you gave, it sounds like you are using waterfall, which may not be the best method for software development.






          share|improve this answer












          Best practices in software development include some testing methodology. It can follow an official definition such as Test Driven Development or Behavior Driven Development. Or it can some personal method. What matters is an organized approach to writing software where clear, repeatable tests are an integral part in the process.



          If you have a developer who doesn’t apply these best practices, he/she is either inexperienced or somehow survived in previous positions despite this issue. In any case, this approach won’t work long term.



          Such a developer needs to be taught proper programming practices by a senior dev, which shouldn’t take very long. Furthermore, examine the culture in your company - are best practices encouraged/enforced? Do your devs share knowledge? Do the managers (you) understand these things and nourish a conducive environment?



          As for time estimates, you need an organized approach which is beyond the scope of your question. But from the info you gave, it sounds like you are using waterfall, which may not be the best method for software development.







          share|improve this answer












          share|improve this answer



          share|improve this answer










          answered Dec 1 at 9:52









          frankhond

          63217




          63217






















              up vote
              -1
              down vote













              You need to iron out procedures and expectations, then explain them to everyone.



              Most importantly you then monitor and enforce them, using disciplinary action if necessary. Crashing the environment without good reason and ignoring procedures once would be grounds for a warning, more often and you would need to look at disciplining her.



              You do not change procedures for a single staff member if they're fine for all the rest without risking morale issues in the team.



              Do not single her out at this point though, explain the procedures and expectations to everyone. Make sure they understand it's not a suggestion, there are issues with procedure not being followed and you will be monitoring.






              share|improve this answer



















              • 2




                To me, the statement "I assured her that she can do and test whatever she wants in development environment" is not compatible with disciplining someone for crashing the development environment.
                – Simon B
                Dec 2 at 0:15






              • 1




                @SimonB released on wrong day, didn't follow procedures,. it's a combination of issues rather than one, and the persistence of the same issues... very clearly stated, but you can pull half a sentence out here and there and make a case for anything... but thanks for the dv
                – Kilisi
                Dec 2 at 0:42












              • @Kilisi It sounds from the question as if the production releases are done on Wednesdays, which says nothing about when development environment changes are made. Indeed, if you can't change the development environment except on a rigid schedule, you make it a lot less useful as a testbed.
                – David Thornley
                12 hours ago















              up vote
              -1
              down vote













              You need to iron out procedures and expectations, then explain them to everyone.



              Most importantly you then monitor and enforce them, using disciplinary action if necessary. Crashing the environment without good reason and ignoring procedures once would be grounds for a warning, more often and you would need to look at disciplining her.



              You do not change procedures for a single staff member if they're fine for all the rest without risking morale issues in the team.



              Do not single her out at this point though, explain the procedures and expectations to everyone. Make sure they understand it's not a suggestion, there are issues with procedure not being followed and you will be monitoring.






              share|improve this answer



















              • 2




                To me, the statement "I assured her that she can do and test whatever she wants in development environment" is not compatible with disciplining someone for crashing the development environment.
                – Simon B
                Dec 2 at 0:15






              • 1




                @SimonB released on wrong day, didn't follow procedures,. it's a combination of issues rather than one, and the persistence of the same issues... very clearly stated, but you can pull half a sentence out here and there and make a case for anything... but thanks for the dv
                – Kilisi
                Dec 2 at 0:42












              • @Kilisi It sounds from the question as if the production releases are done on Wednesdays, which says nothing about when development environment changes are made. Indeed, if you can't change the development environment except on a rigid schedule, you make it a lot less useful as a testbed.
                – David Thornley
                12 hours ago













              up vote
              -1
              down vote










              up vote
              -1
              down vote









              You need to iron out procedures and expectations, then explain them to everyone.



              Most importantly you then monitor and enforce them, using disciplinary action if necessary. Crashing the environment without good reason and ignoring procedures once would be grounds for a warning, more often and you would need to look at disciplining her.



              You do not change procedures for a single staff member if they're fine for all the rest without risking morale issues in the team.



              Do not single her out at this point though, explain the procedures and expectations to everyone. Make sure they understand it's not a suggestion, there are issues with procedure not being followed and you will be monitoring.






              share|improve this answer














              You need to iron out procedures and expectations, then explain them to everyone.



              Most importantly you then monitor and enforce them, using disciplinary action if necessary. Crashing the environment without good reason and ignoring procedures once would be grounds for a warning, more often and you would need to look at disciplining her.



              You do not change procedures for a single staff member if they're fine for all the rest without risking morale issues in the team.



              Do not single her out at this point though, explain the procedures and expectations to everyone. Make sure they understand it's not a suggestion, there are issues with procedure not being followed and you will be monitoring.







              share|improve this answer














              share|improve this answer



              share|improve this answer








              edited Dec 1 at 12:21

























              answered Dec 1 at 12:15









              Kilisi

              110k61246426




              110k61246426








              • 2




                To me, the statement "I assured her that she can do and test whatever she wants in development environment" is not compatible with disciplining someone for crashing the development environment.
                – Simon B
                Dec 2 at 0:15






              • 1




                @SimonB released on wrong day, didn't follow procedures,. it's a combination of issues rather than one, and the persistence of the same issues... very clearly stated, but you can pull half a sentence out here and there and make a case for anything... but thanks for the dv
                – Kilisi
                Dec 2 at 0:42












              • @Kilisi It sounds from the question as if the production releases are done on Wednesdays, which says nothing about when development environment changes are made. Indeed, if you can't change the development environment except on a rigid schedule, you make it a lot less useful as a testbed.
                – David Thornley
                12 hours ago














              • 2




                To me, the statement "I assured her that she can do and test whatever she wants in development environment" is not compatible with disciplining someone for crashing the development environment.
                – Simon B
                Dec 2 at 0:15






              • 1




                @SimonB released on wrong day, didn't follow procedures,. it's a combination of issues rather than one, and the persistence of the same issues... very clearly stated, but you can pull half a sentence out here and there and make a case for anything... but thanks for the dv
                – Kilisi
                Dec 2 at 0:42












              • @Kilisi It sounds from the question as if the production releases are done on Wednesdays, which says nothing about when development environment changes are made. Indeed, if you can't change the development environment except on a rigid schedule, you make it a lot less useful as a testbed.
                – David Thornley
                12 hours ago








              2




              2




              To me, the statement "I assured her that she can do and test whatever she wants in development environment" is not compatible with disciplining someone for crashing the development environment.
              – Simon B
              Dec 2 at 0:15




              To me, the statement "I assured her that she can do and test whatever she wants in development environment" is not compatible with disciplining someone for crashing the development environment.
              – Simon B
              Dec 2 at 0:15




              1




              1




              @SimonB released on wrong day, didn't follow procedures,. it's a combination of issues rather than one, and the persistence of the same issues... very clearly stated, but you can pull half a sentence out here and there and make a case for anything... but thanks for the dv
              – Kilisi
              Dec 2 at 0:42






              @SimonB released on wrong day, didn't follow procedures,. it's a combination of issues rather than one, and the persistence of the same issues... very clearly stated, but you can pull half a sentence out here and there and make a case for anything... but thanks for the dv
              – Kilisi
              Dec 2 at 0:42














              @Kilisi It sounds from the question as if the production releases are done on Wednesdays, which says nothing about when development environment changes are made. Indeed, if you can't change the development environment except on a rigid schedule, you make it a lot less useful as a testbed.
              – David Thornley
              12 hours ago




              @Kilisi It sounds from the question as if the production releases are done on Wednesdays, which says nothing about when development environment changes are made. Indeed, if you can't change the development environment except on a rigid schedule, you make it a lot less useful as a testbed.
              – David Thornley
              12 hours ago










              up vote
              -1
              down vote













              If you think it is appropriate given her experience and place in the team you can have the occasional, separate, short and informal meeting with her.



              You need to be careful however not to strain her too much by your attempt to mentor her or figuring out her strengths and weaknesses.



              Plus, let your team members know the priorities for their tasks.



              Also, pace the complexity of assignments, especially for juniors and
              reassure her that using the dev environment is not only allowed but part of the protocol (if that indeed is the case).



              As you see, she struggles to manage her tasks, so help her by assigning them priorities and remind her of company procedures regarding local testing and global dev environments.



              This is not to say you're at fault but anything you ask of her or mention, even if just in passing, may become a priority to a young or inexperienced (as a worker in general) employee.



              They might want to impress you with their capabilities.
              It is easy to forget time management, even for senior employees in that mindset.



              She ends up trying to please you in all areas you mentioned and won't have a chance to succeed in any properly.



              It is commendable that you want to assist in her development, it will benefit your team and her alike.



              Don't classify the meetings in any way (especially not in a separate format) or she might feel singled out or pressured to prevent your impending negative impression about her performance.






              share|improve this answer



























                up vote
                -1
                down vote













                If you think it is appropriate given her experience and place in the team you can have the occasional, separate, short and informal meeting with her.



                You need to be careful however not to strain her too much by your attempt to mentor her or figuring out her strengths and weaknesses.



                Plus, let your team members know the priorities for their tasks.



                Also, pace the complexity of assignments, especially for juniors and
                reassure her that using the dev environment is not only allowed but part of the protocol (if that indeed is the case).



                As you see, she struggles to manage her tasks, so help her by assigning them priorities and remind her of company procedures regarding local testing and global dev environments.



                This is not to say you're at fault but anything you ask of her or mention, even if just in passing, may become a priority to a young or inexperienced (as a worker in general) employee.



                They might want to impress you with their capabilities.
                It is easy to forget time management, even for senior employees in that mindset.



                She ends up trying to please you in all areas you mentioned and won't have a chance to succeed in any properly.



                It is commendable that you want to assist in her development, it will benefit your team and her alike.



                Don't classify the meetings in any way (especially not in a separate format) or she might feel singled out or pressured to prevent your impending negative impression about her performance.






                share|improve this answer

























                  up vote
                  -1
                  down vote










                  up vote
                  -1
                  down vote









                  If you think it is appropriate given her experience and place in the team you can have the occasional, separate, short and informal meeting with her.



                  You need to be careful however not to strain her too much by your attempt to mentor her or figuring out her strengths and weaknesses.



                  Plus, let your team members know the priorities for their tasks.



                  Also, pace the complexity of assignments, especially for juniors and
                  reassure her that using the dev environment is not only allowed but part of the protocol (if that indeed is the case).



                  As you see, she struggles to manage her tasks, so help her by assigning them priorities and remind her of company procedures regarding local testing and global dev environments.



                  This is not to say you're at fault but anything you ask of her or mention, even if just in passing, may become a priority to a young or inexperienced (as a worker in general) employee.



                  They might want to impress you with their capabilities.
                  It is easy to forget time management, even for senior employees in that mindset.



                  She ends up trying to please you in all areas you mentioned and won't have a chance to succeed in any properly.



                  It is commendable that you want to assist in her development, it will benefit your team and her alike.



                  Don't classify the meetings in any way (especially not in a separate format) or she might feel singled out or pressured to prevent your impending negative impression about her performance.






                  share|improve this answer














                  If you think it is appropriate given her experience and place in the team you can have the occasional, separate, short and informal meeting with her.



                  You need to be careful however not to strain her too much by your attempt to mentor her or figuring out her strengths and weaknesses.



                  Plus, let your team members know the priorities for their tasks.



                  Also, pace the complexity of assignments, especially for juniors and
                  reassure her that using the dev environment is not only allowed but part of the protocol (if that indeed is the case).



                  As you see, she struggles to manage her tasks, so help her by assigning them priorities and remind her of company procedures regarding local testing and global dev environments.



                  This is not to say you're at fault but anything you ask of her or mention, even if just in passing, may become a priority to a young or inexperienced (as a worker in general) employee.



                  They might want to impress you with their capabilities.
                  It is easy to forget time management, even for senior employees in that mindset.



                  She ends up trying to please you in all areas you mentioned and won't have a chance to succeed in any properly.



                  It is commendable that you want to assist in her development, it will benefit your team and her alike.



                  Don't classify the meetings in any way (especially not in a separate format) or she might feel singled out or pressured to prevent your impending negative impression about her performance.







                  share|improve this answer














                  share|improve this answer



                  share|improve this answer








                  edited 12 hours ago

























                  answered 12 hours ago









                  DigitalBlade969

                  2,8151314




                  2,8151314






















                      up vote
                      -6
                      down vote













                      You don_t have a programmer - you have someone incompetent for the job, to start with. Replace programming with cooking and then ask whether a cook - one working in that profession - would have problems with complex stuff like making pasta. SQL functions ARE basic. Not saying most programmers re not competent, particularly if they work for a manager with limited skillset - they may even get into senior positions then.



                      Second, you have a really not too good development cycle. Wednesday release is not bad, but there should be cut offs, different test environments etc. - and what does not make it, goes into the next release.



                      Third, you miss a fundamental of SCRUM - people have to be consistent with their estimates, NOT RIGHT. You THEN adjust speed based on how good or bad the estimates are. I.e. maybe they get only 10 hours done per week - but that is it. You do NOT change estimates because PEOPLE ARE BAD AT ESTIMATING. If we have learned anything about IT projects in the last 80 years or so - you can not properly estimate them, estimates always shoot low.



                      That said, the fact that you DO use a waterfall process is a VERY strong indication you have NOT learned anything about IT projects in the last 80 years. They generally do NOT work - unless you have




                      • very specific requirements

                      • very specific deadlines

                      • spend a lot on planning


                      • have very strong legal requirements that are ok with wasting a ton of money on overheads (which i.e. governments love)



                      None of that is normally true in business, and the whole idea of modern software development is NOT to do waterfall.



                      And again, from what you say, she is not a programmer. She is - a beginner lacking the fundamental basics. Deal with it, or replace her with someone competent. Given she is the only programmer, there is no one to mentor her. Not good.






                      share|improve this answer























                      • Much SQL is basic. There's a lot of SQL queries that I've seen that I'd have problems with, and I'm very experienced and have used SQL off and on for decades. I've seen competent people make SQL mistakes. Without knowing what the SQL is, I can't say whether the developer is incompetent.
                        – David Thornley
                        5 hours ago















                      up vote
                      -6
                      down vote













                      You don_t have a programmer - you have someone incompetent for the job, to start with. Replace programming with cooking and then ask whether a cook - one working in that profession - would have problems with complex stuff like making pasta. SQL functions ARE basic. Not saying most programmers re not competent, particularly if they work for a manager with limited skillset - they may even get into senior positions then.



                      Second, you have a really not too good development cycle. Wednesday release is not bad, but there should be cut offs, different test environments etc. - and what does not make it, goes into the next release.



                      Third, you miss a fundamental of SCRUM - people have to be consistent with their estimates, NOT RIGHT. You THEN adjust speed based on how good or bad the estimates are. I.e. maybe they get only 10 hours done per week - but that is it. You do NOT change estimates because PEOPLE ARE BAD AT ESTIMATING. If we have learned anything about IT projects in the last 80 years or so - you can not properly estimate them, estimates always shoot low.



                      That said, the fact that you DO use a waterfall process is a VERY strong indication you have NOT learned anything about IT projects in the last 80 years. They generally do NOT work - unless you have




                      • very specific requirements

                      • very specific deadlines

                      • spend a lot on planning


                      • have very strong legal requirements that are ok with wasting a ton of money on overheads (which i.e. governments love)



                      None of that is normally true in business, and the whole idea of modern software development is NOT to do waterfall.



                      And again, from what you say, she is not a programmer. She is - a beginner lacking the fundamental basics. Deal with it, or replace her with someone competent. Given she is the only programmer, there is no one to mentor her. Not good.






                      share|improve this answer























                      • Much SQL is basic. There's a lot of SQL queries that I've seen that I'd have problems with, and I'm very experienced and have used SQL off and on for decades. I've seen competent people make SQL mistakes. Without knowing what the SQL is, I can't say whether the developer is incompetent.
                        – David Thornley
                        5 hours ago













                      up vote
                      -6
                      down vote










                      up vote
                      -6
                      down vote









                      You don_t have a programmer - you have someone incompetent for the job, to start with. Replace programming with cooking and then ask whether a cook - one working in that profession - would have problems with complex stuff like making pasta. SQL functions ARE basic. Not saying most programmers re not competent, particularly if they work for a manager with limited skillset - they may even get into senior positions then.



                      Second, you have a really not too good development cycle. Wednesday release is not bad, but there should be cut offs, different test environments etc. - and what does not make it, goes into the next release.



                      Third, you miss a fundamental of SCRUM - people have to be consistent with their estimates, NOT RIGHT. You THEN adjust speed based on how good or bad the estimates are. I.e. maybe they get only 10 hours done per week - but that is it. You do NOT change estimates because PEOPLE ARE BAD AT ESTIMATING. If we have learned anything about IT projects in the last 80 years or so - you can not properly estimate them, estimates always shoot low.



                      That said, the fact that you DO use a waterfall process is a VERY strong indication you have NOT learned anything about IT projects in the last 80 years. They generally do NOT work - unless you have




                      • very specific requirements

                      • very specific deadlines

                      • spend a lot on planning


                      • have very strong legal requirements that are ok with wasting a ton of money on overheads (which i.e. governments love)



                      None of that is normally true in business, and the whole idea of modern software development is NOT to do waterfall.



                      And again, from what you say, she is not a programmer. She is - a beginner lacking the fundamental basics. Deal with it, or replace her with someone competent. Given she is the only programmer, there is no one to mentor her. Not good.






                      share|improve this answer














                      You don_t have a programmer - you have someone incompetent for the job, to start with. Replace programming with cooking and then ask whether a cook - one working in that profession - would have problems with complex stuff like making pasta. SQL functions ARE basic. Not saying most programmers re not competent, particularly if they work for a manager with limited skillset - they may even get into senior positions then.



                      Second, you have a really not too good development cycle. Wednesday release is not bad, but there should be cut offs, different test environments etc. - and what does not make it, goes into the next release.



                      Third, you miss a fundamental of SCRUM - people have to be consistent with their estimates, NOT RIGHT. You THEN adjust speed based on how good or bad the estimates are. I.e. maybe they get only 10 hours done per week - but that is it. You do NOT change estimates because PEOPLE ARE BAD AT ESTIMATING. If we have learned anything about IT projects in the last 80 years or so - you can not properly estimate them, estimates always shoot low.



                      That said, the fact that you DO use a waterfall process is a VERY strong indication you have NOT learned anything about IT projects in the last 80 years. They generally do NOT work - unless you have




                      • very specific requirements

                      • very specific deadlines

                      • spend a lot on planning


                      • have very strong legal requirements that are ok with wasting a ton of money on overheads (which i.e. governments love)



                      None of that is normally true in business, and the whole idea of modern software development is NOT to do waterfall.



                      And again, from what you say, she is not a programmer. She is - a beginner lacking the fundamental basics. Deal with it, or replace her with someone competent. Given she is the only programmer, there is no one to mentor her. Not good.







                      share|improve this answer














                      share|improve this answer



                      share|improve this answer








                      edited Dec 1 at 9:25









                      Kilisi

                      110k61246426




                      110k61246426










                      answered Dec 1 at 8:33









                      TomTom

                      3,8822816




                      3,8822816












                      • Much SQL is basic. There's a lot of SQL queries that I've seen that I'd have problems with, and I'm very experienced and have used SQL off and on for decades. I've seen competent people make SQL mistakes. Without knowing what the SQL is, I can't say whether the developer is incompetent.
                        – David Thornley
                        5 hours ago


















                      • Much SQL is basic. There's a lot of SQL queries that I've seen that I'd have problems with, and I'm very experienced and have used SQL off and on for decades. I've seen competent people make SQL mistakes. Without knowing what the SQL is, I can't say whether the developer is incompetent.
                        – David Thornley
                        5 hours ago
















                      Much SQL is basic. There's a lot of SQL queries that I've seen that I'd have problems with, and I'm very experienced and have used SQL off and on for decades. I've seen competent people make SQL mistakes. Without knowing what the SQL is, I can't say whether the developer is incompetent.
                      – David Thornley
                      5 hours ago




                      Much SQL is basic. There's a lot of SQL queries that I've seen that I'd have problems with, and I'm very experienced and have used SQL off and on for decades. I've seen competent people make SQL mistakes. Without knowing what the SQL is, I can't say whether the developer is incompetent.
                      – David Thornley
                      5 hours ago










                      up vote
                      -11
                      down vote













                      The things you mentioned are basics in programming. Obviously, you don't have a strong programmer in the team. No development model can solve incompetence.



                      You need to get more funding, terminate her contract and hire a better programmer by paying more. No more money? Replace her with a strong but cheap overseas Indian freelancer.






                      share|improve this answer



















                      • 6




                        There are competent devs in India, but they cost the same as their western counterparts :)
                        – Juha Untinen
                        Dec 1 at 8:52






                      • 3




                        this answer is wrong on so many levels...
                        – Claudiu Creanga
                        Dec 2 at 18:12










                      • @SmallChess Estimation is not basic to programming, and programmer estimates usually suck. There's a difference between a competent junior developer and a competent senior developer, and nothing OP says is in any way incompatible with her being a competent junior developer. There's no reason to let her go. Hiring a freelancer overseas comes with its own set of headaches, and it's unlikely to be cheaper than hiring another developer locally.
                        – David Thornley
                        11 hours ago















                      up vote
                      -11
                      down vote













                      The things you mentioned are basics in programming. Obviously, you don't have a strong programmer in the team. No development model can solve incompetence.



                      You need to get more funding, terminate her contract and hire a better programmer by paying more. No more money? Replace her with a strong but cheap overseas Indian freelancer.






                      share|improve this answer



















                      • 6




                        There are competent devs in India, but they cost the same as their western counterparts :)
                        – Juha Untinen
                        Dec 1 at 8:52






                      • 3




                        this answer is wrong on so many levels...
                        – Claudiu Creanga
                        Dec 2 at 18:12










                      • @SmallChess Estimation is not basic to programming, and programmer estimates usually suck. There's a difference between a competent junior developer and a competent senior developer, and nothing OP says is in any way incompatible with her being a competent junior developer. There's no reason to let her go. Hiring a freelancer overseas comes with its own set of headaches, and it's unlikely to be cheaper than hiring another developer locally.
                        – David Thornley
                        11 hours ago













                      up vote
                      -11
                      down vote










                      up vote
                      -11
                      down vote









                      The things you mentioned are basics in programming. Obviously, you don't have a strong programmer in the team. No development model can solve incompetence.



                      You need to get more funding, terminate her contract and hire a better programmer by paying more. No more money? Replace her with a strong but cheap overseas Indian freelancer.






                      share|improve this answer














                      The things you mentioned are basics in programming. Obviously, you don't have a strong programmer in the team. No development model can solve incompetence.



                      You need to get more funding, terminate her contract and hire a better programmer by paying more. No more money? Replace her with a strong but cheap overseas Indian freelancer.







                      share|improve this answer














                      share|improve this answer



                      share|improve this answer








                      edited Dec 1 at 9:25









                      Kilisi

                      110k61246426




                      110k61246426










                      answered Dec 1 at 7:34









                      SmallChess

                      1,3193621




                      1,3193621








                      • 6




                        There are competent devs in India, but they cost the same as their western counterparts :)
                        – Juha Untinen
                        Dec 1 at 8:52






                      • 3




                        this answer is wrong on so many levels...
                        – Claudiu Creanga
                        Dec 2 at 18:12










                      • @SmallChess Estimation is not basic to programming, and programmer estimates usually suck. There's a difference between a competent junior developer and a competent senior developer, and nothing OP says is in any way incompatible with her being a competent junior developer. There's no reason to let her go. Hiring a freelancer overseas comes with its own set of headaches, and it's unlikely to be cheaper than hiring another developer locally.
                        – David Thornley
                        11 hours ago














                      • 6




                        There are competent devs in India, but they cost the same as their western counterparts :)
                        – Juha Untinen
                        Dec 1 at 8:52






                      • 3




                        this answer is wrong on so many levels...
                        – Claudiu Creanga
                        Dec 2 at 18:12










                      • @SmallChess Estimation is not basic to programming, and programmer estimates usually suck. There's a difference between a competent junior developer and a competent senior developer, and nothing OP says is in any way incompatible with her being a competent junior developer. There's no reason to let her go. Hiring a freelancer overseas comes with its own set of headaches, and it's unlikely to be cheaper than hiring another developer locally.
                        – David Thornley
                        11 hours ago








                      6




                      6




                      There are competent devs in India, but they cost the same as their western counterparts :)
                      – Juha Untinen
                      Dec 1 at 8:52




                      There are competent devs in India, but they cost the same as their western counterparts :)
                      – Juha Untinen
                      Dec 1 at 8:52




                      3




                      3




                      this answer is wrong on so many levels...
                      – Claudiu Creanga
                      Dec 2 at 18:12




                      this answer is wrong on so many levels...
                      – Claudiu Creanga
                      Dec 2 at 18:12












                      @SmallChess Estimation is not basic to programming, and programmer estimates usually suck. There's a difference between a competent junior developer and a competent senior developer, and nothing OP says is in any way incompatible with her being a competent junior developer. There's no reason to let her go. Hiring a freelancer overseas comes with its own set of headaches, and it's unlikely to be cheaper than hiring another developer locally.
                      – David Thornley
                      11 hours ago




                      @SmallChess Estimation is not basic to programming, and programmer estimates usually suck. There's a difference between a competent junior developer and a competent senior developer, and nothing OP says is in any way incompatible with her being a competent junior developer. There's no reason to let her go. Hiring a freelancer overseas comes with its own set of headaches, and it's unlikely to be cheaper than hiring another developer locally.
                      – David Thornley
                      11 hours ago


















                      draft saved

                      draft discarded




















































                      Thanks for contributing an answer to The Workplace Stack Exchange!


                      • Please be sure to answer the question. Provide details and share your research!

                      But avoid



                      • Asking for help, clarification, or responding to other answers.

                      • Making statements based on opinion; back them up with references or personal experience.


                      To learn more, see our tips on writing great answers.





                      Some of your past answers have not been well-received, and you're in danger of being blocked from answering.


                      Please pay close attention to the following guidance:


                      • Please be sure to answer the question. Provide details and share your research!

                      But avoid



                      • Asking for help, clarification, or responding to other answers.

                      • Making statements based on opinion; back them up with references or personal experience.


                      To learn more, see our tips on writing great answers.




                      draft saved


                      draft discarded














                      StackExchange.ready(
                      function () {
                      StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fworkplace.stackexchange.com%2fquestions%2f123772%2fmy-programmer-underestimates-deadlines-or-is-just-lazy%23new-answer', 'question_page');
                      }
                      );

                      Post as a guest















                      Required, but never shown





















































                      Required, but never shown














                      Required, but never shown












                      Required, but never shown







                      Required, but never shown

































                      Required, but never shown














                      Required, but never shown












                      Required, but never shown







                      Required, but never shown











                      Popular posts from this blog

                      Plaza Victoria

                      Puebla de Zaragoza

                      Musa