background preloader

Agile & UX

Facebook Twitter

Lean UX, Product Stewardship, and Integrated Teams. Several emergent themes in software design and development are converging into a new way of working: Entrepreneurs understand the strategic value of user experience design in the guise of Steve Blank’s customer development and Eric Ries’ lean startupManagement are entrusting designers with product management responsibilities as frustrated designers are seeking them outAgile teams are coming to recognize the contribution of UX as designers learn to function in agile environments Each of these ideas have significant impact on the way user experience designers approach their work and how businesses structure their design and development efforts. Together, Lean UX, Product Stewardship, and Integrated Teams define a cross-functional, balanced approach to delivering software and services. Lean UX Traditional User Experience (UX) design techniques were developed in waterfall environments. Lean UX leverages the highly fluid nature of modern lean and agile development practices.

Product Stewardship. Startup Monthly (Palo Alto, CA. Steve Blank. Andrew Chen (@andrewchen) Balanced Team. Balanced Team. Balanced Team. Balanced Team. The UX Designer’s Downward Dog: Designing in a Lean Environment « Second Thoughts. Posted: May 29th, 2012 | Author: Lindsay | Filed under: mobile , Projects , side project , User Interface , volunteer | No Comments » Two weeks ago, I wanted to work on a mobile design for New York Cares’ volunteers as a way to brush up on Photoshop and tinker with Marshall Bock’s iPhone 4s Template . Background: New York Cares matches approximately 53,000 volunteers every year to projects around the 5 boroughs through partner organizations.

On the NYCares website, volunteers can search projects using a variety of criteria. This functionality is available through the mobile web, but is not optimized for mobile use, nor does the organization have a mobile application. Research: I created an 8 question survey to understand how other volunteers find projects (search with specific criteria versus browse), what criteria they use to select a project (type, day, borough, etc.), and the ideal project date (within a week, within a month). Check out my Pinterest boards and please do connect. Lean UX, Product Stewardship, and Integrated Teams. Design - An Agile approach to User Experience and Design. Maturing Usability: Quality in Software, Interaction, and Value. Overview Maturing Usability: Quality in Software, Interaction, and Value contains a collection of writings from various experts in the field of usability and user interface development. It provides an understanding of how current research and practice has contributed towards improving quality issues in software, interaction and value.

I wrote Chapter 4 which describes how usability fits into the Agile lifecycle. Other chapters look at how using development tools can enhance the usability of a system, and how methods and models can be integrated into the process to help develop effective user interfaces; theoretical frameworks on the nature of interactions; techniques and metrics for evaluation interaction quality; the transfer of concepts and methods from research to practice; assessments of the impact that a system has in the real world; and how to focus on increasing the value of usability practice for software development and on increasing value for users. Chapter List Chapter 1. Requirements Envisioning: An Agile Best Practice. 1. When Should You Do Initial Agile Requirements Modeling?

Agile Model Driven Development (AMDD), see Figure 1, explicitly includes an initial requirements envisioning effort during Iteration 0 of an agile project (what some processes might call the Warm-UP, Inception phase, or Initiation phase). Initial requirements envisioning is particularly important for scaling agile software development techniques to larger, more complex, or globally distributed development (GDD) efforts. The goal is to understand the requirements at a high-level, it isn't to create a detailed requirements specification early in the lifecycle, a traditional practice referred to as "Big Requirements Up Front" (BRUF) which proves to be very risky in practice (traditional theory is that BRUF is a best practice, but experience shows otherwise).

Figure 1. 2. Some people will tell you that you don't need to do any initial requirements modeling at all. You can answer fundamental business questions. 3. 3.1 Usage Model 4. Requirements Envisioning: An Agile Best Practice. Architecture Envisioning: An Agile Best Practice. A common agile practice is to perform some high-level architectural modeling early in the project to help foster agreement regarding your technical strategy within the team and with critical stakeholders. The goal at this point is to identify an architectural strategy, not write mounds of documentation, enabling you to do this swiftly.

You will work through the design details later during development cycles in model storming sessions and via TDD. This article addresses several critical questions: 1. When Should You Do Initial Agile Architecture Modeling? Agile Model Driven Development (AMDD), see Figure 1, explicitly includes an initial architectural modeling effort during Iteration 0 of an agile project (what some processes might call the Warm-UP, Inception, or Initiation phase). Figure 1. 2. Some people will tell you that you don't need to do any initial architecture modeling at all. 3. 3.1 Technology Diagrams Figure 2. Figure 3. 3.2 User Interface Flow Models Figure 4. Figure 5. 4. Agile Best Practice: Prioritized Requirements.

1. Product Backlog: Simplistic Figure 1 overviews the Scrum approach to managing requirements where your software development team has a stack of prioritized and estimated requirements which need to be addressed (Scrum calls this prioritized stack a "product backlog"). There are several important points to understand: New requirements are prioritized by your project stakeholders and added to the stack in the appropriate place. Figure 1. 2. The approach depicted in Figure 1 is fairly simplistic, a reflection of what I would consider agile construction level thinking. Figure 2. 3. Figure 3. There are several ways that options are added by stakeholders: When the team is initially formed, via requirements envisioning session(s). 4. No one strategy is best in all situations, and you will need to identify choose and then tailor the one that works best for you. Table 1. Roles on Agile Teams: From Small to Large Teams.

There are several key differences between the agile approach to team organization and the traditional approach. Agile teams are "whole teams". Whole team is an Extreme Programming (XP) practice that advises you to have sufficient skills within the team itself to get the job done. The implication is that the development team has the requisite testing skills, database skills, user interface skills, and so on and does not rely on external experts or teams of experts for these sorts of things. Agile teams are formed (mostly) of generalizing specialists. A generalizing specialist, sometimes called a craftsperson, is someone who has one or more technical specialties (e.g.

Small Agile Teams There are several roles, which have different names depending on the methodology being followed, common to agile teams. Team lead. Figure 1 overviews the structure of a small agile team. Technical experts. Figure 1. Figure 2. Large Agile Teams Project management activities. Figure 3. Suggested Reading. ExperiencesIntegratingUEDPractices. Best Practices for Agile/Lean Documentation. Ideally, an agile document is just barely good enough, or just barely sufficient, for the situation at hand. Documentation is an important part of agile software development projects, but unlike traditionalists who often see documentation as a risk reduction strategy, agilists typically see documentation as a strategy which increases overall project risk and therefore strive to be as efficient as possible when it comes to documentation.

Agilists write documentation when that's the best way to achieve the relevant goals, but there often proves to be better ways to achieve those goals than writing static documentation. This article summarizes common "best practices" which agilists have adopted with respect to documentation. Best practices for increasing the agility of documentation: 1.

The following practices will help you to improve your approach to writing documentation: 1.1 Prefer Executable Specifications Over Static Documents 1.2 Document Stable Concepts, not Speculative Ideas 2. 5. The Agile System Development Life Cycle (SDLC) As we described in the book The Enterprise Unified Process (EUP) the scope of life cycles can vary dramatically. For example, Figure 1 depicts the Scrum construction life cycle whereas Figure 2 depicts an extended version of that diagram which covers the full system development life cycle (SDLC). Later in this article we talk about an Enterprise IT Lifecycle. My points are: Figure 1 uses the terminology of the Scrum methodology. The rest of this article uses the terminology popularized in the mid-1990s by the Unified Process (Sprint = Iteration, Backlog = Stack, Daily Scrum Meeting = Daily Meeting) and also adopted by Disciplined Agile Delivery (DAD).

Figure 1 shows how agilists treat requirements like a prioritized stack, pulling just enough work off the stack for the current iteration (in Scrum iterations/sprints are often 2-4 weeks long, although this can vary). The Scrum construction life cycle of Figure 1, although attractive proves to be clearly insufficient in practice. 2. 3. Agile Product Design, holistic product design and agile software development.