140 likes | 356 Views
Agile Development Process. Stumbling Towards Chaos. Team Interactions. PLANNING. The Agile Process defines development needs so we can concentrate development on the most vital features of a project. Project Plan defines overall scope and goals and work across the entire project.
E N D
Agile Development Process Stumbling Towards Chaos
Team Interactions PLANNING
The Agile Process defines development needs so we can concentrate development on the most vital features of a project. • Project Plan defines overall scope and goals and work across the entire project. • Release plans define a critical need within a project and summarize the strategy to address it. • User Stories define vital features for a release in a clear and testable way. • Prioritizing User Stories will help clarify what features are needed to define a release.
Software Engineering Process Map Development Cycle Release Cycle Planning Cycle • Velocity • Hours • Daily Stand-up • Estimate Effort • Scope Iteration
A User Story defines a feature well enough to be coded and tested so we can ensure features are implemented. • Concentrate on Telling a Story about using the application. • Define WHO is acting in this story. (person, user role, application or service) • Define WHAT they are doing in a simple and clear way. • Define WHY they are doing it so everyone can keep the overall goals in mind and clear up and questions. • Use well written user stories to communicate what an application can do now that it couldn’t do before.
A Trac Site provides a way to Create and Update a Release Plan to communicate development progress and facilitate Hand-Offs • Create a Trac Milestone for each Release • Create a Trac Wiki Page to list the User Stories using the Development Plan Template. • Link the Release Wiki Page to the Roadmap. • Planners and Developers work together to create User Stories. • Developers add Tasks to User Stories and estimate their complexity.
Lets Look at a Trac Site and Release Plan The dWranglerTrac Site
Bad User Stories are Bad • Fail to communicate needs in a way that someone can address. • Often unclear what is trying to be accomplished. • Don’t conveying in any meaningful way what an application can do now that it couldn’t do before. • Are Difficult to Test. • Lack clarity on why this feature is important.
User Story Examples • Good User Stories (or at least not so bad) • (Rushdie) Researchers can search and browse Rushdie emails via the web search interface. • (GHC) User can browse each chronicle by content type, people, country, and date. • (dWrangler) Project Editors can import Ticket Information from a Trac Site to track development progress and display trends in project planning. • (ETD) CST author can login to ETD site and successfully create and submit a record. • Bad User Stories • (DigWf) Fedora-Commons Ingest • (DifWf) User is able to call the getItemsapi function twice in a row using the refresh button without getting an empty results on the second call. • (Rushdie) Researchers have easy access to digital help documents in Researcher Workstation environment. • (ETD) Researchers can cite ETD records using bibliographic services like Zotero.
Common Problems • Not Planning or Planning at the last minute. • Not create good User Stories. • No support plan after handoff or not accepting responsibility across the organization. • Incomplete plans and revisiting issues.