Professional CodeIgniter

(singke) #1

Chapter 2: Agile Methodologies and Approaches


41


Each sprint, furthermore, is any unit of time (typically 1 to 4 weeks) in which tasks are worked on. The
goal is to have potentially shippable software at the end of each sprint, so it ’ s important not to
overcommit time and other resources.


You further explain that you ’ ve started the product backlog with six requirements:



  1. As a user, I want to view a featured product on the home page, so I can buy it.

  2. As a user, I want to view other related products on the home page, so I can buy them.

  3. As a user, I want to view a list of categories, so I can navigate to those parts of the site.

  4. As a user, I want to be able to navigate to Product Detail pages, so I can buy products.

  5. As a user, I want to see related products on a Product Detail page, so I can complete outfits or
    buy accessories.

  6. As a user, I want to be able to see product thumbnails and images as often as possible to get an
    idea of what the products look like.


“ Each requirement is stated in general terms: As an X, I want to do Y, so I can do/achieve Z, ” you
explain, as you go over every item in the list.


“ It looks like we need to add a few more items to the list, ” Claudia says, and adds Items 7 and 8:



  1. As a user, I want to search for products to find them quickly.

  2. As a user, I want to be able to see my Shopping Cart, so I can check out more easily.


Once she is done, she thinks about the list for a long time before speaking. “ There ’ s really nothing in
here about the administrator — me — and how I would manage the online store. I also don ’ t see
anything on here about keeping track of customers. And I haven ’ t even told you all my ideas about
wanting an online newsletter to help promote the site and communicate with my customers. ”


“ This is why you ’ re better suited to be the product owner, ” you respond. “ All you have to do is put the
information into the product backlog and then prioritize it. My job is to take the most important items —
the ones on the top of the list — and create tasks that allow me to check off each requirement. ”


“ How do you do that? Can you give me an example? ”


“ Of course, ” you reply. “ I would look at the first two items, which have to do with the home page, and
create a whole series of tasks. For example, I need to build the web page that represents what users see
when they visit the site. I also need to create the models that allow your web site to interact with the
database. I also need to build the database tables themselves. I also need to build all the special functions
that organize items on the page. ”


You smile at Claudia ’ s dismay. “ You don ’ t have to worry about all that. Just know that now that I have
mockups that we ’ ve built together and a product backlog, I can create tasks that make sense. Also notice
that a lot of the things I need to do for the first two requirements, like building database tables, also help
me build the rest of the application quicker. They ’ re one - time tasks, or at least, tasks that can be reused in
different contexts. ”

Free download pdf