The Case for Agile Kiosk Software Design and Specifications
Your kiosk software design and specifications tells us what you want us to build and allows us to produce a
ballpark estimate. This is why this step is so critical because it allows us to produce an accurate ballpark estimate of the cost. This is not the traditional “waterfall”
style specification where you invest several weeks or even months upfront planning
every last detail of the project in the hopes of coming out with the perfect plan
before a line of code is ever written. This is more of a bullet point outline where
you simply get your thoughts down on paper and give us a mile-high view of what
the kiosk software will do without worrying too much about the technical details.
“The implications of fixing the scope early in a project can prove to be quite dire.
People are not very good at defining what they want up front, so no matter how good
your business analysts are, it's incredibly unlikely that you'll write an accurate,
detailed requirements specification at the beginning of the project. Even if you
could get the requirements right, they're going to change anyway based on changes
in the marketplace, decisions by senior management, regulatory changes, and so on.
The earlier your requirements are "firmed up," the greater the risk of building
something that your stakeholders don't actually want.” - Scott W. Ambler
Agile on a Fixed Budget April 3, 2007
We begin the specification process by identifying any constraints or limitations
that will need to be factored into our planning.
We identify any constraints with:
- Delivery Date: How flexible is the delivery date?
- Budget: How flexible is your budget?
- Feature Set: How flexible is your feature set (does every single thing have
to be done or would some just be really nice to have if the budget allows)?
Next we identify any requirements you may have. The following questions should give
us a pretty good idea of what your kiosk software will look like when it's finished. The more detail
you give the easier it will be to produce a ballpark estimate.
We identify your requirements:
- Purpose: Describe at a high-level the functionality of your kiosks (accepting
payments, collecting customer information, etc...).
- Key objectives: What are any key objectives that this kiosk software project is trying to
achieve (increase sales, shorten wait times, etc...)?
- Typical user experience: What will the typical user experience look like
when using your kiosks?
- Languages/Demographic: What languages will your kiosks need to support and
what is your customer demographic?
- Program award date: When will you select a kiosk software vendor?
- Number of kiosks in pilot program: How many kiosks will be in the pilot program?
- Intended pilot rollout date: When is the intended pilot rollout date?
- Number of kiosks in full production: How many kiosks will you have once
you rollout to full production?
- Intended deployment rollout dates (approximate start / end): When do you
plan to deploy a full rollout to production?
- Estimated daily usage: What is the estimated daily usage of your kiosks (transactions/day,
- Accepting payments: Will your kiosks accept payments and if so what form
of payments (cash, credit card, etc...)?
- Printing receipts: Will your kiosks need to print a receipt?
- Security concerns: Are there any special security concerns with collecting,
storing or transmitting data?
- Customer information: Will the kiosks be collecting customer information
and if so how should it be stored?
- Server needs: Do you already have a server in place and if so can you describe
- Technology requirements: We are a Microsoft .NET shop and code in C#. Do you have any special requirements about the coding language we use?
- Integration with 3rd parties: Will your kiosks need to interact with any
other systems, database, web services, etc…? If integration is necessary can you
provide integration documentation that explains the interface?
- Internet connection: What will the internet connection be like at your kiosks (cable,
DSL, T1, dialup)?
- Reporting: What sort of reporting will you need to monitor your kiosks usage (i.e.
user transactions, sales, etc…)?
- Graphic design: Will you need any graphical design services or do you already have a designer?
- Ongoing maintenance needs: Will you need someone to physically maintain you kiosks
or provide ongoing development services or support?
- Metrics to determine success: What measureable results do you plan to use
to determine if your kiosk software project was a success (i.e. number of sales, transactions, customer
wait times, etc…)?
- Other requirements: Any other special requirements we should be made aware