Protoyping for Smarties

From BriansWiki

Jump to: navigation, search
  • 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

  1. Create Advocates - Find someone in the management who will use the prototype process and make sure that the process is a success.
  2. Define the stakeholders
  3. Define the business goal
  4. Determine use cases
  5. 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
  • 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.
Personal tools