• Post Reply Bookmark Topic Watch Topic
  • New Topic
programming forums Java Mobile Certification Databases Caching Books Engineering Micro Controllers OS Languages Paradigms IDEs Build Tools Frameworks Application Servers Open Source This Site Careers Other Pie Elite all forums
this forum made possible by our volunteer staff, including ...
Marshals:
  • Tim Cooke
  • Campbell Ritchie
  • Ron McLeod
  • Liutauras Vilda
  • Jeanne Boyarsky
Sheriffs:
  • Junilu Lacar
  • Rob Spoor
  • Paul Clapham
Saloon Keepers:
  • Tim Holloway
  • Tim Moores
  • Jesse Silverman
  • Stephan van Hulst
  • Carey Brown
Bartenders:
  • Al Hobbs
  • Piet Souris
  • Frits Walraven

Way to break this task into smaller tasks of less than 8 hours each

 
Ranch Hand
Posts: 2560
13
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Suppose in a user story there is a task "implement junit". If the number of test cases is too much it may take more than 8 hours. What is a way to ensure in this case that each task should not be more than 8 hours.

Thanks
 
Saloon Keeper
Posts: 24804
172
Android Eclipse IDE Tomcat Server Redhat Java Linux
  • Likes 1
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Designing, coding and debugging software is not like assembling flat-pack furniture. It will take as long as it takes. Attempting to make it run faster is like speeding up a meat grinder - instead of getting mince, you're likely to get cooked meat.

I do realize that conversely that there's an adage that projects expand to fit the time alloted, but more often, enough time isn't alloted.

In many cases, when you're doing lots of similar tasks, however, you can get a good feel for how each long each will take and compute based on that. Unit-tests may or may not fall out that way, however, or more likely have many tasks that do and some that are major exceptions.

A more realistic approach would simply be to allot a number of days for coding the tests and just do as many as you can per day. Unit tests generally are not supposed to be dependent on each other, so it's not like you'd be leaving something major half-finished and broken from one day to the next. Just remember that actual time required is usually about double the time you think it requires and 10 times as long as management and users think it requires (because All You Have To Do Is...).
 
Sheriff
Posts: 16767
281
Mac Android IntelliJ IDE Eclipse IDE Spring Debian Java Ubuntu Linux
  • Likes 2
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator

Monica Shiralkar wrote:Suppose in a user story there is a task "implement junit". If the number of test cases is too much it may take more than 8 hours. What is a way to ensure in this case that each task should not be more than 8 hours.



Nitpick: the task is NOT to implement JUnit: it has already been implemented. That's kind of like saying "Invent Colgate." It doesn't make sense. What you say is "Brush your teeth using Colgate toothpaste" or simply, "Brush your teeth." Likewise, the task is really to "Unit test your code using JUnit" or simply, "Unit test your code."

First of all, how do you know there are too many tests? Have you thought about all the tests before hand? If there are indeed too many, then maybe prioritize the ones that give the most value: what's the most risky thing that's being tested? What has the most likelihood of breaking? What has the most likelihood of impacting our users adversely if it's wrong? Focus on those tests.

If all your tests are important, then you're just going to have to allocate more time, break the story down along testing themes. Move out the parts of the story that you can't test in the current iteration. Basically, split the story.

 
Monica Shiralkar
Ranch Hand
Posts: 2560
13
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator

Junilu Lacar wrote: What you say is "Brush your teeth using Colgate toothpaste" or simply, "Brush your teeth." Likewise, the task is really to "Unit test your code using JUnit" or simply, "Unit test your code."



Thanks. Yes, I should be creating like these and not like "implement unit tests".


For the actual time the task takes it's acceptable that this task takes more than one day.

But my point is that if before only we have some idea that some task may take say 2 days, should one not break it into small tasks until we reach a level where each is expected to take less than 8 hours ( in actual it may take more that's fine ).

That's because I had read that we should break tasks into further smaller tasks this way.



 
Tim Holloway
Saloon Keeper
Posts: 24804
172
Android Eclipse IDE Tomcat Server Redhat Java Linux
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
That would be true if you were creating sub-assemblies which would then be integrated to form larger components.

But unit tests are pretty much by definition independent of each other, so I'd just do as many as I could reasonably do each day until they were all done.
 
Monica Shiralkar
Ranch Hand
Posts: 2560
13
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Thanks
 
Marshal
Posts: 5215
323
IntelliJ IDE Python Java Linux
  • Likes 2
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Separate tasks/stories for unit tests is a process antipattern in my opinion. Adequate and passing unit tests is better required in your definition of done for the feature being developed, so no passing unit tests means the feature is not done.

In practice you'll find you spend less time overall since it's often quite hard to retrofit tests to existing code. The longer the time gap between feature implementation and test implementation the harder it gets.
 
Monica Shiralkar
Ranch Hand
Posts: 2560
13
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator

Tim Holloway wrote:, so I'd just do as many as I could reasonably do each day until they were all done.



And create only 1 task for it which will span across multiple days ?
 
You showed up just in time for the waffles! And this tiny ad:
Building a Better World in your Backyard by Paul Wheaton and Shawn Klassen-Koop
https://coderanch.com/wiki/718759/books/Building-World-Backyard-Paul-Wheaton
reply
    Bookmark Topic Watch Topic
  • New Topic