20
votes
Calling multiple async services in parallel
One issue I see using Task.WhenAll is that it does not return results
But it does return the results. They'll all be in an array of a common type, so it's not always useful to use the results in ...
11
votes
Accepted
Shared Development Tasks for Agile User Stories
I shouldn't write a "Generate UI and DB" Task for each User Story. That's too much redundancy. But I don't know how to write a "Generate UI and DB" task that must be completed before any of the User ...
9
votes
Accepted
How can agile be applied to applications involving complex processing?
This turned out to be longer than I had planned (it had started as a comment), but I hope the added length/details are helpful and you find them justified.
Agile is not specific to CRUD apps
Most ...
7
votes
Accepted
Best algorithm to sort tasks by priorities by a human
Bucket Sort
But I'm getting ahead of myself.
Consider the use cases of listing and sorting tasks like this.
A dev completed a task and needs to know what to work on next
A Project Manager needs to ...
7
votes
When is it safe to use Monitor (lock) with Task?
So I want to ask how I can be sure that Monitor is safe with a Task (or: how can I be sure that a Task is running on a Thread of its own).
You don't. You shouldn't be using a Monitor in an ...
7
votes
Critical section with two different "rights of way"
You're looking for a shared-read/exclusive-write type lock. C# provides that with the ReaderWriterLockSlim Class. The individual swimmers correspond to threads that have read access, while the ...
6
votes
Accepted
How can we effectively manage software projects without killing creativity?
You are mistaken what "manage" means. In context of software development, managing a project means that the project progresses with necessary features, on budget, on time and with acceptable quality.
...
5
votes
Solve Synchronization
As per the wikipedia page you linked to regarding message queues:
Message queues provide an asynchronous communications protocol,
meaning that the sender and receiver of the message do not need ...
5
votes
Accepted
Whose job actually is to process data in the database to become something like a chart in frontend?
There is no clear cut answer here that applies to everyone. Your question is too vague. But as you are new to this, a thought experiment:
You want to display the average user age. You have one million ...
4
votes
How can agile be applied to applications involving complex processing?
Agile principles can certainly be applied in these cases. How?
Compilers can have new language features added later in separate user stories
Image analysis systems can have new features added as ...
3
votes
Best algorithm to sort tasks by priorities by a human
For 300 tasks you'd need to ask thousands of questions. No one is going to do that, and even if they did the results wouldn't be very useful.
For situations like this I'd suggest you stick with the ...
3
votes
What techniques can be used to clearly define the scope of a development task or work package?
How can we clearly define the scope of a task so that a developer to which it is assigned will neither implement too little nor too much?
By providing a definition of done.
For stories these are ...
3
votes
Are there any challenges with self-selecting/volunteering/signing up for agile tickets/tasks?
The retrospective system is relatively efficient at sorting any challenges out. People tend to specialize a little on topics you are better at or more interested in, and sometimes you still end up ...
3
votes
Are there any challenges with self-selecting/volunteering/signing up for agile tickets/tasks?
Since you are asking for experiences, mine is that it has never been an issue. I've worked on half a dozen different scrum teams over the past decade and in the each case there were simply never any ...
2
votes
Get service data of future iterations
Not sure I understand your design. You seem to be Waiting for each and every task right after you start it. I would think you'd have two loops (one to create and start the tasks, another to go back ...
2
votes
How can we effectively manage software projects without killing creativity?
I would advise you to think of your software development in the context of the business. The business' goal is to make a profit. To make a profit the business needs to produce as fast as it can while ...
2
votes
How can we effectively manage software projects without killing creativity?
Estimates are not deadlines.
An estimate specifies how long such a task takes on average, but particulars of that task may cause it to be easier or harder that expected.
If you treat estimates as ...
2
votes
Name of this pattern
This looks like a problem for a State design pattern.
Take a look at Spring statemachine. They handle listening to state change and
also allows you to persist the state.
2
votes
Shared Development Tasks for Agile User Stories
Given that you are entering each sprint with a prioritised list of stories, and each story is broken down into separate technical tasks, all the developers should be working on tasks for the highest ...
2
votes
Critical section with two different "rights of way"
So you can use SemaphoreSlim to make a lock with an arbitrary number of concurrent threads.
https://docs.microsoft.com/en-us/dotnet/api/system.threading.semaphoreslim?view=net-5.0
But your swimming ...
1
vote
Should we create review branch in github to story or subtask of jira?
It depends on how you use issues and subtasks in Jira along with the working agreements of the team. Considerations such as traceability, visibility, and system architecture will have an impact.
When ...
1
vote
Should we create review branch in github to story or subtask of jira?
To what end or purpose?
In other words is this necessary? Would not a simple commit message with the jira link be a better solution?
Are you doing unnecessary work? Obligatory xkcd.
What has been ...
1
vote
Best algorithm to sort tasks by priorities by a human
In practice you wouldn’t sort 300 tasks just by priority.
Tasks are related or unrelated. It is usually more efficient to handle related than unrelated tasks. So you would want to perform related ...
1
vote
Best algorithm to sort tasks by priorities by a human
The algorithm should reduce the number of comparisons, but also the access time: when the user discovers a task, it takes time for him to read it and recover the memory he has about that task. So when ...
1
vote
Best algorithm to sort tasks by priorities by a human
1 What is the best algorithm that reduce the number of comparison needed to sort all tasks ?
Strictly speaking, merge sort is hard to beat.
2 Do you have a better strategy to propose (or way of ...
1
vote
Accepted
Thoughts of Google Cloud App Engine Reliability
If you need high availability where one minute of downtime is not acceptable a single cloud provider is not enough. You need multiple providers to have high availability at that level, even then it's ...
1
vote
Name of this pattern
Always looking for the right design pattern can sometimes be misleading. Sometimes you need to combine some aspect of several patterns. And sometimes it makes you just focus on the wrong problem.
Is ...
1
vote
How can we effectively manage software projects without killing creativity?
From reading the OP, I see 2 questions here,
Creativity: I don't see a separation between tasks & creativity. The dev team should be setting how to complete the task and fulfill the requirements....
1
vote
How can we effectively manage software projects without killing creativity?
From my personal view boring projects kill creativity, not software management in general.
An interesting problem (project) typically requires you to perform at your best and utilize what you so far ...
1
vote
How can agile be applied to applications involving complex processing?
I find that people who adhere to strictly to user stories will either just engage in a very silly exercise of coming up with far fetched ways in which back end technical changes impact the user (...
Only top scored, non community-wiki answers of a minimum length are eligible
Related Tags
task × 27c# × 6
agile × 6
project-management × 5
scrum × 4
java × 3
multithreading × 3
concurrency × 3
user-story × 3
async × 3
design × 2
design-patterns × 2
estimation × 2
message-queue × 2
locks × 2
google-app-engine × 2
task-organization × 2
architecture × 1
algorithms × 1
data × 1
github × 1
sorting × 1
asynchronous-programming × 1
specifications × 1
team-foundation-server × 1