Chapter 2: Agile Methodologies and Approaches
29
even for you, and in some ways, you might be right. However, one of the great strengths of any Agile
methodology is that it can be adapted to your needs.
The rest of this chapter is devoted to walking you through an Agile methodology for gathering
requirements, planning your work, and getting started on the actual work. This basic modification has
been refined by various “ lone gun ” programmers and has seen lots of success with typical web
development projects. The example provided throughout the rest of this chapter assumes that you are
working as a solo entrepreneur with a single small business owner. As you continue through this
chapter, you should consider how you might tailor the information presented here to fit your specific
needs. However, the basic approach to the methodology is applicable to many different - sized teams in
various situations.
Because the goal of this book is to build a series of web tools (shopping cart, newsletter tool, others),
there ’ s no time like the present to start the process. Accordingly, the rest of this chapter focuses on
gathering the requirements needed for the projects in the book.
Gather Your Requirements While You May
For the purposes of this book, you are working with a hypothetical customer who wants to build an
eCommerce site. That ’ s really all you know when you agree to meet with the customer. The customer ’ s
name is Claudia, and she runs a thriving retail store devoted to “ all things kids. ” She only has a very
basic web presence that gives the name of the store ( Claudia ’ s Kids ) and some basic contact information.
This is not a lot to go on, which is OK, because, unlike when using predictive methodologies, you want
to adapt to the customer ’ s needs.
The First Day
When you meet Claudia, she turns out to be an energetic 30 - something who started her retail store 4
years before. The store was funded in part with credit cards, the severance from the high - tech job she
was laid off from, and a loan from various friends and family. It took almost 2 years for her to claw out a
decent profit in the store, but by catering to a specific market (moms who would pay anything to
provide their kids with branded clothes and toys), Claudia has made a success of it.
Claudia ’ s pretty sure it ’ s time to expand. It didn ’ t take long for her phenomenal growth to flatten out,
but there isn ’ t enough money coming in to expand to a second brick - and - mortar store. Nor does she feel
comfortable with the costs associated with a mail order catalog. This is where you and CodeIgniter come
in. Although she has no idea how to code an eCommerce site, she knows that a transactional site is the
key to her success — she could, with the right site, expand her customer base and bring in lots of revenue
beyond what comes in from walk - ins and the occasional long - time customer who phones in an order.
As you listen, you ’ re taking notes, mostly about high - level nouns and verbs. You know already, for
example, that you will need some kind of online catalog of products. You don ’ t know what pieces of
information you will need to track for each product, but you can be sure that each will have a price, a
photo, a name, and some kind of unique identifier. Furthermore, they ’ ll probably be organized into some
kind of category scheme, such as toys or clothes. But that ’ s all you know right now. You also know that
there are customers involved, but you don ’ t know if she wants to track each unique customer.
So now you have a place to start. There are only so many ways to attack the problem. With your previous
experience building these kinds of systems, you know how to guide the discussion, which is fine, because