in agile, what should be planned when project starts? [closed] - agile

Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 6 years ago.
Improve this question
In my agile development course, after gathering user requirements, I'm asked to write a plan (for developing an application) that is supposed to define project activities, milestones - iterations and deliverables. The plan is actually the work breakdown.
So what should the initial plan in an agile project look like? If I'm giving a plan of everything in advance (as the homework asks), isn't that the waterfall model. If each iteration in agile deals with the whole cycle of plan-do-check-act, then why do we need an initial plan?

You need an initial plan because somehow you have to decide how many people are going to work on the project and develop a budget. You can never know what your scope, time, and budget are all going to be, but generally one of these is going to be fixed. Figure out which is the most important and build a plan around that. Without this as a starting point, nobody is going to fund the project.
Build a project backlog with all of the known goals. Then pull out the biggest of the goals as key milestones. Generally, a client needs to see progress towards their desired feature set. A smart client will be prepared to adjust these as the project goes, but you can absolutely lay out a series of goals to give you targets for creating working software with each sprint.

You should read Planning Extreme Programming by Kent Beck. If you ignore the extreme part of the title you can easly adapt this to your agile methods.

Related

Use SCRUM for website maintenance - Deal with single task [closed]

Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 4 years ago.
Improve this question
I am new to Scrum and I am trying to use it for website support and maintenance.
For website support and maintenance, we often receive small tasks, for example: replace a banner on homepage, change phone number on contact page, remove image xyz on article 123, etc... I don't know how to deal with these small tasks in Scrum.
At the moment, I create a single task in backlog, and a single Sprint for each task. Then, execute each task individually. Am I right?
In Scrum we have fixed length, repeating sprints. We bring work to the sprint, rather than creating sprints from tasks.
This is useful for a number of reasons, including:
After a while we get to know the capacity of a sprint.
We know at the start of the sprint what we will be doing and there is no change to the sprint goal during the sprint. This stability helps the team get organised.
The regular cadence helps the team get into a rhythm of planning, executing and then adapting.
Scrum isn't as effective if:
You don't have a team of 3-9 people
Work items and priorities change frequently and stable sprints are not possible
From your description, I wonder if Scrum is the best agile framework for your team.
Perhaps you might consider using Kanban?

Incremental Development - Agile or Plan Driven [closed]

Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 6 years ago.
Improve this question
I'm currently confused in incremental software methodology
what is the main difference between incremental development which adopt plan driven approach and the one that adopt agile approach ?
can anyone explain to me what is the difference between those two and if my choice was good for the project?
Learning is at the core of the agile approaches. It embraces the fact that it is almost impossible to have enough information to make detailed plan up front. Instead implementing, or possibly trying to implement, your first feature will trigger very valuable learnings. Both about your implementation and the usage and actual needs in the field.
I'm not sure what "documentations are really important" actually means, but dividing implementation along module boundaries will cause a number of unwanted effects:
you can only learn about the usage of the complete system after all modules are done, a.k.a. Too late. That will drive unknown remaining amount of work after you thought you were done.
how do you know that the first module is done? Presumably based on some guesswork about what it should do, which might be right but most probably is at least slightly wrong, which causes unknown late modifications
integration problems will also show up after the third module was supposed to be finished
All three drive late realizations about problems and unknown amount of work left to the end.
Agile focuses on driving out these learnings and information by forcing early feedback, such as early integration (as soon as there is a skeleton for the three modules), user feedback by forcing implementation of one user level feature at a time with demos of them as soon as hty are ready.
It is a strategy for minimizing risks in all software endeavours.
In my mind, you should have gone for an agile aproach.

Working with Bugs in TFS2010 (Agile Template) [closed]

Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 8 years ago.
Improve this question
My current work involves working on a large number of bugs.
We normally (non TFS) would add these to an iteration backlog (grouped into Stories) after estimating and prioritising; then work through, mark actual effort.
I want to try and understand how I would work on these bugs using the TFS Agile template as intended. But am really struggling to find best practices and examples specifically for bugs for the TFS Agile template in TFS2010.
Cheers, Nick
I hear some parts in your question:
"Add these to an iteration backlog": you can use the iteration path of the work items. Best practice is to create an iteration called backlog.
"Grouped into Stories": In TFS 2010, the default traceablity is that on a User Story you define the Test Cases which validate the User Story. The Bugs are reported against the Test Cases.
"Estimating": You can use the Remaining work field for that
"Prioritsing": You can use the Stack Rank field
"Mark actual effort": Use the Completed work field
What we have been doing is:
Raising bug during testing by a tester.
During iteration planning we may decide to allocate X amount of time to fix outstanding bugs, so we creat a bug fixing story for that iteration of X story points.
Bugs are chosen that we think should be fixed within the iteration, a task is created for each bug along with a time estimate and any high level technical details. Note the task is created as a child of the story and also related to the bug.
The key is that bug work items are not developed against directly, a related task is.

My chance to shape our development process/policy [closed]

Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 5 years ago.
Improve this question
I'm sorry if this is a duplicate, but the question search terms are pretty generic.
I work at a small(ish) development firm. I say small, but the company is actually a fair size; however, I'm only the second full-time developer, as most past work has been organized around contractors.
I'm in a position to define internal project process and policy- obvious stuff like SCM and unit-testing. Methodology is outside the scope of the document I'm putting together, but I'd really like to push us in a leaner (and maybe even Agile?) direction.
I feel like I have plenty of good practice recommendations, but not enough solid motivation to make my document the spirit guide I'd like it to be. I've separated the document into "principles" and "recommendations". Recommendations have been easy to come up with. Use SCM, strive for 1-step, regularly scheduled builds, unit test first, document as you go... Listing the principles that are supposed to be informing these recommendations, though, has been rough.
I've come up with "tools work for us; we should never work for tools" and a hazy clause aimed at our QA (which has been overly manual) that I'd like to read "tedium is the root of all evil".
I don't want to miss an opportunity with this document to give us a good in-house start and maybe even push us toward Agile. What principles am I missing?
EDIT 4/15 -
I might have been ambiguous about the scope of this document. For now, it's policy that my co-dev and I plan to follow. So far, we've been given free reign on choice of local tool, source control, etc, and the general process we follow in development (eg build, deploy, whether to use continuous integration...).
Ideally, I'd also like this document to be a model on which to base further process improvements. I'm mostly thinking QA, and maybe nudging our project management towards something lighter and iterative.
The Agile Manifesto and its principles might help with a few more ideas

Applying agile techniques and running a helpdesk [closed]

Closed. This question needs to be more focused. It is not currently accepting answers.
Want to improve this question? Update the question so it focuses on one problem only by editing this post.
Closed 7 years ago.
Improve this question
My team does some development, but is mainly involved in supprting an existing suite of applications. We now have an imbedded tester (and another on the way). So how can I apply agile practises in what is a purely reactive situation?
You could try to use Kanban. It is more suited for such dynamic situations than Scrum. The ultimate solution would be to use Kanban for support activities and Scrum for development, but in case you spend much less than 50% of your time for development this may be not worthed (overengineering).
Even though it is purely reactive, you surely have larger requests that need to be prioritized? I am using Scrum in a support situation to help prioritizing the non-emergency work that often requires hours or days of effort. I think that Scrum in some ways fits in even better in a support situation than in development.
I would start with prioritizing the issues that come in (someone from the business end should be responsible for that), making things visible (e.g. getting them up on a task board), and improving your definition of done for each task (tests, code review, etc).
Now that you have a tester with the team, it would be a good time to start some TDD and definitely start automating a lot of your tests.
Once you have some of these basics in place, you can look at either Scrum or Kanban depending on your needs. If tasks always seem to come out of the blue, Kanban is probably more appropriate as another poster suggested.
In order to be successful with Kanban, you must make sure that you have a very solid definition of done to ensure that you maintain quality throughout. Without it, you won't see the full benefit.
I would also recommend scheduling regular retrospectives to see what is working for you and where you need to improve.

Resources