User stories and a lot of talks about what matters and what fluff.
A lot of negotiations.
Also a lot back and forth on architecture. Scrum requires a stable, proven architecture. However, there are always updates and improvements. How do they approach the backlog? This is a lot of political screaming between the product owner, technology people and (to some extent) users / customers.
The process is nonlinear in nature.
It is more like crystallization. You have a solution, you start writing stories, you have technological vision, you have a team with certain skills and experience.
Any of these functions can serve as the “core” for deciding what is falling behind and in what order. In the end, something becomes the core, and the mixture crystallizes. Sometimes the costs or schedule or risks are unacceptable, so you heat it back, find another core and see if it crystallizes acceptable around this new core.
Recrystallization occurs after each sprint, by the way, making it even less linear.
Change "stable, proven architecture."
Question: Who pays for the study of new architecture?
Answer: Haha. There is no good answer. Therefore, be careful how much architectural knowledge you make while developing sprints.
If you do not have an architecture that (a) works, and (b) can be formulated by almost everyone in the team, you are going to spend time collecting this architecture.
What makes the time and cost of creating architecture for your first sprint?
You need to incorporate architecture development into the first sprint by delaying things.
Suppose you decide to implement a LAMP stack. You do not know whether to use unix PHP, Perl or Python. Therefore, you choose one. Like Python. And you promise the first sprint in four weeks. Thus, you work for 3 weeks, struggle with additional modules and kabillion carbines. After 3 weeks, you think you have a working stack, but you don’t have the promised sprint.
Are you lingering If so, everyone asks if you are aiming right and start doubling the time for all other sprints.
Are you delivering nothing? If so, what is the sprint point, if you have nothing at the end except infrastructure?
You can change, modify and improve infrastructure - in manageable parts. But it takes time to build a new architecture, demonstrate parts, train everyone and develop best practices. A lot of that. And this time should not - in fact - be charged as sprint time, creating a product that can be obtained. This is an overhead time.
Change Instrumental.
Rule 1. Flexible processes do not use many complex tools and processes. That is why I said that the process is a lot of “negotiations”. No matter what makes you productive.
Rule 2. Do not think about it. Just do it.
Most people say - in the strongest way - use 5 "x8" paper cards and stick them to the wall. Jokes aside. No tools. Just plain paper, markers, tape and blank space.
Read this: http://www.agilemodeling.com/artifacts/userStory.htm
You can use the spreadsheet to collect user stories (and epics - stories that need to be decomposed). You can add columns for complexity (story points), cost, priority and release and use it to manage projects.
We use use cases (not user stories), but the tool is the same. The use case is in some way a user story with more detailed information. But the name of the option used can summarize how the actor interacts with the system; interaction can usually be summed up with clear, simple nouns and a verb that is very similar to user history.
Tables seem convenient because you can arrange the lines at the end of each sprint. You can do simple calculations and amounts to determine how much each function will cost and when they will arrive.
I do not use a spreadsheet because, despite the brilliance of the GUI, I find it a bit cumbersome. I would consider it necessary to write a spreadsheet extractor that will turn the backlog from an Open Office Org file into a ReStructuredText (RST). I prefer RST - text markup - over spreadsheets.
These are all lengthy negotiations. Everything changes as a result of each conversation. This is the point of the Agile method. A quick sprint followed by coordination of the direction of the next sprint.
Our drive is a large RST document. We publish all our documentation using Sphinx , and it’s very, very easy to write backlogs, use cases, architecture, design, etc., to the RST markup.
Our sprints are just sections of a large document tree. They are decorated with several special-purpose text boxes for subjective things, such as an approximate completion date, and status (in process, issued).