Protoyping for Smarties
From BriansWiki
- Originally presented by Hal Helmes and Clark Valberg
Contents |
[edit] The Presenters
- Clark Valberg
Clark is a passionate advocate for "obsessively thorough software design" and is a founder of Interface Driven Architecture, a conversation between business leaders and software architects that offers a radically different way of determining and developing custom software.
- Hal Helmes
Hal Helms is a well-known speaker/writer/strategist on software development issues. Hal has a monthly column in "ColdFusion Developer's Journal" and has written and contributed to several books.
[edit] What is Prototyping?
- Prototyping is a medium of communication where we define the business value in terms of a piece of software, that includes all the stake holders.
- A prototype typically simulates only a few aspects of the features of the eventual program, and may be completely different from the eventual implementation.
- Reduced development time and costs
- Discover unknown Use Cases
- Quantify the cost and time to deliver for the project
[edit] Why Prototype?
- Designing software for ease of use and efficiency can give you a business advantage.
- Software is the new scaffolding of business so it’s website has to be attractive and convey an image that defines the business
- Most software on the web doesn’t answer basic questions the customer have about their products
- We should think about designing software rather than building it
- Customers can’t tell us what they want until they see it.
- Translating a business strategy into a software architecture
[edit] How to Prototype
- You can’t worry about looking stupid
- What about the use cases no one thought about?
- Business people will defer involvement until a product is delivered, then they will tell you what is wrong.
- The Sherpa role – asking dumb questions, translating fuzzy ideas into specs carrying the weight of specifications to real software – there is no wiggle room in software, you can’t write things in the margins
[edit] Typical Mistakes
- Over technical presentation (UML)
- Too Early involvement
- Too Late involvement
- Be Agile:
The prototype is the most important phase of the project, you may use a real framework, but there should be very little resistance to change (the jet fighter metaphor – no resistance to change)
- You have to love your customer – but like children, you can’t let them run the project, you know best how to achieve their goals
[edit] The Push Back
- The “just start writing code” directive – you have to push back that it is more important to get the project done right that simply done.
- We can’t just do what the customer wants, they will have to live with the results and your reputation rests on whether they are satisfied with the results.
[edit] Steps to Success
- Create Advocates - Find someone in the management who will use the prototype process and make sure that the process is a success.
- Define the stakeholders
- Define the business goal
- Determine use cases
- Build the first iteration
[edit] Rapid Prototypes
- What ever tool you use, at he most you want 48 hours between prototype iterations
[edit] Prototyping Software
- Serena Software Composer boasts a rich user interface that has a familiar office application look and feel, including a left navigation pane and a task pane on the right, as well as menus and visual toolbars to provide access to key capabilities.
- iRise (Application definition software) gives companies a way to test drive and fully experience applications before they are built
- Vitruvian-Pro (a user interface prototype design tool)
- SednaSpace is a browser based quick prototyping tool. The prototypes developed can be used in development also.
- Swipr is a free and open source add-on to Visio (2003). Swipr will combine your screenflows and wireframes into a clickable and interactive deliverable, and it allows you to create links on the wireframes, thereby creating an interactive prototype.
