Closed. This question is off-topic. It is not currently accepting answers.
Want to improve this question? Update the question so it's on-topic for Stack Overflow.
Closed 10 years ago.
Improve this question
When using an agile methodology on a team programming project, what should be done when several people needs to work in something that is to be used by everyone. For example, There is a User entity, and two people have to do requirements that need to use that entity. So, first an skeleton is created and then the activities are assigned? or what is the procedure in these cases.
And second, Is it possible to find information that addresses this kind of issues that can occur when applying such methodologies?
Thanks
The best thing about Scrum, is that it is an amazing tool for identifying bad practices. This is one of the cases. An agile team should be working with as many hands as possible, on the same requirement (requirement, feature, user story - same thing). The division of work between members should be based on the tasks needed to complete the requirement, no the requirements themselves.
Each task would be defined based on the modifications that need to be made to a certain component. Doing that will not only make the problem go away (nobody's working on the same code), but will unite the team members' efforts, and make them function as a real team, rather than a disparate group of individuals that happen to share a room and a manager.
As for official information on the subject, I can suggest reading any book about Scrum, but you might want to focus on the following sites:
Introduction to Scrum
Mike Cohn's Blog
Scrum.org
A few great books:
Succeeding with Scrum - Mike Cohn
Free ebook - Scrum & XP from the Trenches - Henrik Kniberg
And finally, if you pardon the shameless plug, you can check out my blog - I have a few posts on this subject (such as this one) and others from my experience about implementing agile methods in software teams.
Related
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
What are advantages and disadvantages of Scrum over Kanban methodology.
Which one is better for mobile development?
TL;DR; You don't have an Apples to Apples comparison here.
Scrum is am empirical framework optimised for delivering Software
Kanban is an empirical method of optimising any existing process
Kanban
Kanban needs way more discipline in your team and organisation to be able to get value. You start by modelling your current processed and then make small incremental changes to the process to optimise it for your needs. Most teams fail to optimise effectively and end up where they started (or close to it) forever.
Kanban is not focused on Software Delivery and is best suited to tasks that have a relatively small standard deviation in size of batches. This allows you to monitor flow and optimise for it.
Scrum
Scrum is a Framework that enshrines accountability, inspection and adaption, and transparency as its fundamental pillars. The three clear roles provide accountability so everyone knows what they have to do. Each and every one of the Events provides a Kaizan moment to allow you to change. Every one of the Artefacts creates transparency so we all know what is going on.
The most important artefact is the Increment of Working Software because that is what out goal is. You can read the Scrum Guide to find out how it all goes together.
Scrum is focused only on Software Delivery (although modified versions like EduScrum exist) and is best suited for tasks that have a large standard deviation in batch sizes.
Conclusion
There is no 'better' option, its what works for you. I see more teams succeed quicker using Scrum than Kanban.
If you bought the board game monopoly would you expect it to come with a rule book or a strategy guide? Right, a rule book. Will the rules help you win? No, you will need to come up with, and experiment with, strategies that work for you.
The Scrum Guide is the rule book for Scrum
In Kanban you come up with your own rule book as you go along
All the practices common to either technique are complimentary.
Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 5 years ago.
Improve this question
Does anyone have any good documents talking about agile eligibility criterias of a project ? maybe a checklist to identify opportunities and risks before the beginning of the project.
Thanks :)
The short answer is this: If your project is all of the following:
Short (no longer than a month, as a rule of thumb)
Simple (everything there will be to know about the project is presently known)
Straight Forward (After delivery, there will be no future development / maintenance)
Then you may consider not doing agile!
In all other cases, you will be well served by developing your project in an agile manner.
From small start ups to large multinational companies (Microsoft, for example) more and more companies are implementing agile mindsets and methodologies.
From small clients to middle-sized financial institutes to gigantic ones (United States Department of Defense, for example), more and more are accepting, encouraging or even demanding a flexible and incremental delivery and an open visible development project.
The important thing to understand, though is that perceptions of what agile is and isn't are often wrong. not planning, for example, or not documenting are, despite popular belief not agile.
What I would suggest, is to first make sure you understand what agile really is. Here are a few good resources:
The agile manifesto (Important note: while the things on the left are more important, we still value the things on the right).
Scrum.org's Scrum Guide
Lyssa Adkins' Blog
If you pardon my own shameless plug, you can read my blog, too.
Here are they:
http://pm.versionone.com/AgileChecklist.html
http://standard-data-systems.net/Project_Checklist/Agile%20Audit.pdf
Also, you can google it for: agile project checklists.
Good luck.
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
Is it possible to or how should one use agile development processes (Scrum/XP) and write user stories in order to develop purely technical programming libraries (think Spring or a game engine for example)?
Yes, you can use agile to develop software that doesn't have a front end UI used by human users. First, because you don't have to use user stories to be agile. Even Scrum doesn't prescribe that the backlog has to be expressed in user stories. It just says there should be a backlog, it should have one order of priority and items on top of it should be small enough to fit into one sprint. They can be expressed in any way that is understandable to both the Product Owner and the team.
But, second, you can write user stories for libraries too. You just think of potential pieces of software as roles - or even create imaginary personas that could be using this library directly. "As a text editor I can call this library to encode strings in Base64" would be an off the bat example of the former technique.
To sum it all up: any type of software can be developed with agile, user stories are not key to agile - they are just one pretty useful technique frequently used by agile teams.
The same as you do for business-based requirements, except the reqs are prioritized by the API consumers/technical people?
If you're talking about Spring or Game engine, you still have a customer/product owner point of view to write your stories from..
That's you'd talk about your API, how other developers will use interfaces or what is exposed of your black-box
They are many component vendors that use Scrum to manage the development of their libraries.
I can tell you two of the StackOverflow.com sponsors are using it actively.
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 am taking a software development class right now and we are discussing agile methodologies. What are the most common agile methods? I need to look into several and discuss their strengths and weaknesses. Seems more useful to look into the most prominent methods.
Observations:
Scrum seems pretty popular (that is what my team used on two of my coops).
Extreme also seems to get quite a bit of buzz but I am not sure if that many people actually use it.
What does your company use and how do you like it? Does anyone use:
Agile Modeling
Agile unified process
DSDM
Essential Unified Process
Feature Driven Development
Open unified processes
Rational Unified Process
Are there other methodologies that I should investigate?
I've used SCRUM in personal projects with friends and schoolmates and my current employer uses a custom agile process that's very similar to SCRUM but with fewer meetings.
We have used Test Driven Development and Scrum.
I've been on some very successful teams which used Scrum very effectively. It really does help to keep everybody focused and constantly moving forward, and it discourages regressions.
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
Most Scrum teams have some sort of whiteboard or other board upon which the stories/tasks for the current sprint are visualized.
I'm curious as to how people organize this board? Do you use post-it notes? Are they color-coded? How do you group tasks? How do you distinguish the state of tasks? Etc...
I've seen groups use a whiteboard, and use different colors for each group of tasks.
If you use note cards for your stories, you can put them up there as well, and divide them by release/iteration/group of tasks. This concept is explained better here.
Update: I also use spreadsheets to visualize my sprints/iterations, because my team is not all co-located. I use tables and graphs similar to what was mentioned in Jim's answer.
Not for everyone, but for those running TFS, Scrum For Team System provides excellent sprint backlog reports.
Failing that, Ive personally maintained sprint backlogs using a spreadsheet, as per this article. Sharing via something along the lines of google docs.
Somewhere on the web there is a blog post which is just a lot of scrum boards. It is really good to see how other people do it. Maybe someone can find it for us :)
I think this looks like a pretty comprehensive way of doing things!
http://www.xpday.net/Xpday2007/session/AgileInGovernment.html
Check out the Rally tool at rallydev.com.
Depending on your needs, there is a free community edition. It's very easy to track stories and tasks within a given sprint, including estimations, actuals, and states for each story and task.
I usually use an Excel sheet, on a shared network folder: one column is used to specify the "group" of the task, and one to specify the task itself. For completed tasks, we simply mark the row in green. The primary disadvantage for that is sharing - I've yet to find a decent solution that allows more than one person to edit the backlog. We have some ways to deal with it (by limiting the updates to a specific time of day, and then having the team update it together), but it is still annoying.
For sprints with a small number of tasks, we simply write the tasks on a whiteboard, and strike over the tasks as they are completed.