This class
is aimed at the hardest part of development, deciding what needs to be
done. It focuses specifically on how the customers, analysts, users,
testers and developers can collaborate to rapidly and reliably create
valuable products and business processes.
Software
is not very valuable all by itself. All software is embedded, some in a
hardware device, some in a business process. The benefit delivered by
these products and processes determines the worth of the software. The
hardest part of software development is to make sure that the product or
process the software supports will deliver real value to the market in
which it competes.
The team
developing the product/process needs feedback from an iterative design
and incremental delivery approach to ensure that the resulting
product/process includes the right capabilities, features, and
qualities. The tools we discuss are thinking tools that help the whole
team precisely and concisely capture and communicate what they decide to
create.
The course
starts by exploring the lean principles that make agile development
work. It offers planning, motivating, and modeling techniques to
effectively guide a team whose developers are using agile software
development disciplines. Core topics include essential use cases,
domain modeling, essential UI design and other design techniques. We
then express these as user stories and automated Fit tests to drive the
software development.
Workshop Format
We
alternate presentation and small group exercises to provide the
opportunity to try out each technique on a project the group is working
on.
Who Should Attend
This workshop
is about improving collaboration among members of the whole development
team: champions, end users, analysts, testers, developers, architects, and
managers. Product Owners, Project Managers, and Business Users will find the
course valuable. They should plan to bring one or two people from
Software Department (for example Lead Architect, Testers, User Interface
Designers) to the seminar as well.