Programmers typically follow a process or a methodology. It's our way of doing things. There are lots of different software development methodologies. Every couple years a new one comes out and everyone jumps on the band wagon.
I follow a methodology called SCRUM. You can read about it here, Learn About Scrum, or here, WikiPedia (SCRUM). SCRUM people talk about Chickens and Pigs. I don't follow SCRUM exactly. It's more like a mind set than a strict set of rules.
How does it work?
- A product owner (or business owner) ... Mark, for example... creates a prioritized wish list called a product backlog.
- During sprint planning, the team (actually just me right now) pulls a small chunk from the top of that wishlist, a sprint backlog, and decides how to implement those pieces.
- The team has a certain amount of time, a sprint, to complete its work - usually two to four weeks - but meets each day to assess its progress (a daily scrum). I'm doing a 4 week sprint and since it's just me now, there won't really be a daily scrum.
- Along the way, the Scrum Master keeps the team focused on its goal. Maybe when we're bigger, Mark will hire a Scrum Master.
- At the end of the sprint, the work should be potentially shippable, as in ready to hand to a customer or show to a stakeholder. So, once a month, I will be in St Edward to show Mark I've accomplished something.
- The sprint ends with a sprint review and retrospective.
- As the next sprint begins, the team (actually just me) chooses another chunk of the product backlog and begins working again.
- Lather, rinse and repeat.
Example: As a BigIron user I want the screen to auto-refresh so that I know when I am out bid.
A story is an independent, negotiable, valuable, estimatable, small, testable requirement ("INVEST"). Despite being independent, i.e. they have no direct dependencies with other requirements, stories may be clustered into epics when represented on a product roadmap or further down in the backlog.