top of page
Prototype Designer

Agile Development

"Money for Nothing and Change for Free."

-Jeff Sutherland

Requirements Gathering

Requirements indicate the needs of a successful product. Therefore, requirement gathering is often the first step in the development process. We separate the requirements into two categories: user and business.

User Requirements

To understand user and customer needs as well as how well the app is functioning, we released the beta version to conduct internal usability testing within the organisation. Thus, we obtained the first actual user feedback.

 

We started collecting UX data when users interact with the app.

 

Users perform several tasks we defined as the main features, which we assume to benefit business.

 

Some tasks can be easily performed. However, in some cases, multiple methods are available for users to attempt to accomplish a singular task.

 

We conducted interviews with participants who had accomplished all the tasks and queried keynotes of the app by asking questions, such as

 

  • How would you approach the tasks given?

  • What limitations or difficulties have you encountered during the trial that should be attended to?

  • Where did you waste your time?​

  • Then, we asked “Why?” to expand on their thoughts and feelings and elicit further data.

 

Moreover, we allowed users to explore the app further and in return, the users provided valuable feedback. We gathered quite a few responses from them for questions, such as

 

  • Which features impressed users the most?

  • Which features do users feel more interested in?

  • Which features are used more frequently?

  • What frustrated them while using the app?

  • Any specific features users expect in the near future?

  • Any opinions for UI flows which users have experienced?

  • Any comments about UI placement?

  • Any confusing wordings?

  • Any bugs reported while they were using the app?

 

Issues always arise from usability testing.

After data gathering, we started grouping and organising the data, and some patterns were obvious:

 

  • Most confusing aspects for users about the app

  • The judgements of user experiences, which is often mentioned

  • Reoccurring problems that are iterated through testing

 

We identified specific areas of improvement of the existing design.

Determining frequently used features assists us in understanding whether the app can retain active users.

Moreover, we noted some potential features that should be developed in the app during the trial.

 

These common insights from users assist in formulating a list of functional requirements.

Business Requirements

In our case, these requirements can be understood by conducting meetings with executive stakeholders.

These executives provide funding and support for developing the app, and have interest or concern in the organisation.

 

Through interviews with executive stakeholders, product owners can ask questions about their expectation, overall business goals, visions, and concerns of the development of the app. These questions define the purpose of the app, which is presented in the organisation and defines where the app stands in the marketplace. Thus, the purpose concludes and clarifies what the app is meant to accomplish.

 

Executive stakeholders usually summarise the latest vision of the product and identify new market opportunities from this vision, and then conduct further discussions with product owners on the business benefits that the product may bring. Some discussions are listed as follows:

 

  • How will the app satisfy a revenue target?

  • What is necessary to monetise the app?

  • Anything unique of the app that makes it stand out from the market?

  • Would the app strengthens the brand values and promote the brand?

 

Even though executive stakeholders have considerable influence on the direction of the product, product owners are still responsible for coordinating several issues during meetings:

 

Controversy:

It is common for executive stakeholders to be unaware of an idea or requirement that is different from customer insights. Stakeholders’ vision and customers’ requirements frequently do not align. In this case, product owners inform stakeholders of the actual user requirements and the current user experience, highlight areas of conflict and disagreement, and then, attempt to achieve consensus for balancing the perspectives of both users and stakeholders.

 

Capability:

Quite often, the stakeholders’ vision is so ambitious that its implementation may be improbable in practice. Product owners should also contemplate on how to balance marketing and capability of development.

 

Timeline:

The main focus for the meeting is to clarify the exact requirements that are expected to be dealt with and communicate the corresponding development timeline.

 

Development team is concerned about is that the time to finalise the releasable product may be insufficient.

 

Unrealistic expectation can often cause mismatch between goals and timelines. When controversy occurs about the schedule, such as limited developing time on compiling a wide scope of features, the apparent contradiction should be indicated. The product owners should attempt to reach the consensus with executive stakeholders to extend the timeline.

 

If urgent requirements emerge that are beneficial for business, product owners must negotiate with stakeholders for possible release into the first version at that particular instant to partially satisfy benefits and then publish the eventual product.

Product Backlog

After conducting meetings with executive stakeholders, product owners collate the updated requirements and information to the development team. With the support of the scrum master, product owners clearly articulate those issues and ensure everyone is able to understand.

 

Moreover, the defined business requirements and well-organised user requirements are transformed into action items. Then, on the product owner’s discretion, we decide whether these items should be placed in the “product backlog.”

 

Product backlog is an ordered list of items of requirements, features, and enhancements that shape what the product needs.

 

All product backlog items (PBIs) require the product owner to determine the order of developments.

 

A product owner defines the business value of the PBI, whereas the development team estimates the complexity and amount of effort that should be put in each PBI.

 

Based on these data, the order of PBIs are prioritised.

 

The actionable list would not only assist the product to evolve during the process but also detail upcoming work.

Sprint Planning

A sprint is a time-boxed concept in which the entire team works to accomplish sprint goals. In our case, we set a time-box of two weeks as a sprint. Each sprint consists of a sprint goal, a plan that guides it, the development work, and the potentially releasable product.

 

After a sprint begins, the development team selects the set of PBIs which can be delivered in the sprint, and discusses the working plan for achieving the sprint goal. This event is called sprint planning and must be done in collaboration with the whole development team.

Sprint Backlog

Product owners defines the goal that the team should achieve within a sprint and describes what PBIs are required to contribute to that goal. Based on the sprint goal, we promise product owners which PBIs we can work on. The number of selected PBIs from the product backlog is decided by the development team. However, higher ordered PBIs are usually selected as higher priorities for the list.

 

This list with the plan for delivering it is called the sprint backlog.

Planning

After every attendant has clearly understood what can be “done” in the coming sprint, it is time to plan the work necessary to deliver the sprint goal.

 

The PBIs in sprint backlog can be written as user stories, which is an excellent method of describing the work from a customer’s point of view.

 

A user story uses a few simple sentences to outline the requirement and valuable outcome from the user perspective. It is an end goal and the description should be specific and clearly measurable, to ensure that all members would know when work is complete.

 

Through user story writing, we can clarify how a requirement transfer to corresponding features, and how these features are used by users.

 

The team must be clear about the description of each user story, which enables further discussion of the tasks that each user story requires.

 

In the planning phase, our team has something worthy to mention.

If user stories summarised that a new feature should be developed, the development team would undertake UI flow and wireframe brainstorming during the sprint planning.

 

This is the best timing to share the complete UI flow and wireframe with the development team, scrum master, and product owners.

UI, UX, UI Flow
UI, UX, UI Flow
UI, UX, UI Flow
UI, UX, UI Flow
UI, UX, UI Flow

The progress of development process should run efficiently. In order to facilitate discussion, as a UI/UX designer, I usually draw a diagram of the UI Flow on whiteboard or sketch on paper. Often, the discussions may lead back to revision on the UI Flow. The advantage of this is that we are able to modify the content easier and in a faster pace.

During the discussion, I would also put sticky notes on UI Flow to annotate additional details. Designers and developers can both use this method to map out technical implementation. The aim is to complete and design a user friendly Flow.

When the feature was set to be developed, product owners might scope out some rough ideas and provide strategic direction for feature based on data they acquired during the meeting with executives stakeholders and internal usability testing.

We thought critically and creatively about how to best solve for an end goal, and while we had identified some potential solutions, we reviewed with product owners to better define the right features to be created.

 

The structure of a UI flow and wireframe provides a great reference for the development team in the process of work planning. It helps us discuss in concrete details, in which we would feel more comfortable to break each user story into several tasks. A set of tasks are specific steps for completing a user story and each of them is assigned to team members individually.

 

The entire development team collaborates on accomplishing the goals of sprint planning meeting. Close communication enables a certain layer of transparency with what the technical and creative are working on, and how every member breaks down the work.

Estimation

Another essential step in sprint planning is estimation.

The development team examines the complexity of story based on estimated amount of relative effort required, and sizes of each story are rated as story points. When a story point exceeds a certain threshold, it is then bifurcated into smaller pieces for the reason that a large amount of work is often hard to provide proper estimation. Therefore, re-estimation is then performed.

 

We typically should work on the highest value, that is, the biggest size stories first.

 

Once the user stories are divided into specific tasks, we use time format to estimate the accurate hours for completing individual task.

 

All estimates must include everything that can affect the sprint, that is, any risk or uncertainty in doing the work.

 

Each specialist brings a different perspective to the user story. During the estimation process, we can obtain multiple responses from different people. Different estimates create a shared understanding between all parties and ensure the entire team has comprehensive sight of the work.

Scope

A resulting sprint backlog can be produced through sprint planning, which makes all the work visible. Subsequent development work relies on the sprint backlog. That includes user stories and tasks which detail work context, desired outcome, complexity, the effort required for each work and the value work creates for the development team.

 

The development team collaborates with the product owners to negotiate the scope of sprint backlog within the sprint. If the quantum of work is high, scope should be reclarified by the product owners. Some user stories can be excluded from this sprint and brought into the following sprint. However, if we deliver on the sprint goal early, new items can be picked from the product backlog.

 

The most important outcome for a sprint planning meeting is that the development team is able to describe how it intends to work as a self-organising team to accomplish the sprint goal.

The Development Work

In the development phase, UI/UX designer takes responsibility for certain necessary works.

Research: Competitor Analysis

Understanding of development requirements helps to form a basic structure of the new feature. At this stage, competitor analysis is my high priority job. Observing and analysing similar products on the market is a very helpful method to have better insight of a new feature’s competitive positioning within the market.

 

I would first identify key competitors who provide similar products that are also widely used and then examine the features they offer. I keep things organised in a spreadsheet to compare with similar features we serve. At the top of the paper, I write the names of four or five products that compete with ours. Down on the left side of the paper, I list the main characteristics of the feature. This is a quick way to obtain a comprehensive view of a feature’s landscape. Thus, the team is able to discover if a new feature is unique.

 

In further analysis, I would then look for similar standard conventions used between competitor products in the market. This includes design patterns and user flows.

 

Users tend to rely on their experience with the products. Therefore, users make decisions they understand first. This ensures users do not have to think too hard to use our app by applying standard conventions.

 

After competitor analysis, the next step involves working with product owners to consider how to make our service stand out from competitors, even when they offer similar features. We scrutinise benefits identified from the analysis, and take advantage of applying unique but essential characteristics to create user-friendliness.

 

However, the new feature planned according to competitor analysis must be able to satisfy its initial brand value, maintain a foothold, to ensure the product will not lose its position within the market.

 

Keep tabs on the competition but don't let it distract from your own vision and endeavours.

-Anne, Owner, Santa Barbara Gift Baskets

UI Design Specifications

According to the UI flow and wireframe previously defined, I undertake the design of UI mockup as a UI/UX designer, followed by documentation of UI design specifications that are used for communications with developers.

 

I not only enhance visual quality on every page of wireframe (make detailed design to let important features stand out) but also to maintain consistent visual themes across the product to capture the spirit of the brand.

 

Creating an intuitive interface is important.

The focus of mockup is not on how fancy the design is, but on how the app should look to support the functionality.

UI Design, UX Design
UI Design, UX Design
UI Design, UX Design

Documentation

UI Design Spec should annotate:

  • Spacing

  • Alignment

  • Image Size

  • Image Name

  • Fonts.

Inspection

When features are ready to be verified, I examine UI details of each page on mobile, which includes layout, wording, colour, and feedback on buttons and user flows. I immediately response to any flaw and assist with corrections.

Polish

The purpose of each sprint is to deliver potentially releasable product and is concerned with the definition of “done” for each user story. Therefore, the description of a story should be clear and specific, to ensure we can verify whether a story is “done.”

 

Once every story is ready to be verified, the team can perform manual test according to the story description. We note down the result and indicate the issues that we need to resolve or refine.

 

We assure the quality of product on a high level, release new versions of the product, then end the sprint.

Sprint Events

Except for sprint planning and development, sprints comprise certain regular events: daily scrums, sprint review, and sprint retrospective. These events are a formal opportunity to enable transparency and inspection.

 

Daily Scrum

The daily scrum is a 15-minute time-boxed event for the development team and is typically held in the morning daily.

 

The meeting is conducted in a stand-up style is an efficient method to inform team members the progress of work mentioned in the sprint backlog.

 

It is not a detailed status meeting. However, everyone has to answer the following questions:

  • What did I complete yesterday that assisted the development team in achieving the sprint goal?

  • What will I work on today to assist the development team in achieving the sprint goal?

  • Do I encounter any barrier that prohibits me or the development team from achieving the sprint goal?

 

If any issue is highlighted during the meeting, team members discuss it in detail immediately after the daily scrum.

 

Daily scrums improve communication and enable high-level transparency, which enriches diversity of knowledge for team members.

Sprint Review

A sprint review is held at the end of the sprint to inspect the result of the sprint. The work should be of high quality, which is considered complete and showcased in the review.

 

In our case, we conduct the sprint review in a formal meeting structure. We gather every team member in a space and project mobile devices’ screen on a white wall for preparation.

 

During the sprint review, we provide presentation to fully demonstrate new features.

We answer questions from product owners and receive immediate feedback and comments from them.

 

Through the product demonstration, product owners ensure if the work achieves the sprint goal, the product is releasable.

Sprint Retrospective

The sprint retrospective occurs after the sprint review and prior to the next sprint planning. It provides a formal opportunity for the development team to inspect itself, incorporate insights from the past, and identify improvement for work processes that can be implemented in the next sprint.

 

During each sprint retrospective, we can discuss a wide range of issues related to work, which includes people, relationships, process, and tools. From this, the development team determines what worked well and retains those factors within development process. The development also clarifies what should be improved and discusses an action plan to make work process more effective for the next sprint.

The sprint retrospective provides rapid feedback and offers ongoing guidance for the team to continue exploring potential improvement for improving the product and development culture.

Agile, Scrum

Conclusion

I was honored to be part of mature agile development team as a member of UI/UX Designer. We went through the initial planning, growth progress, testing and iteration, optimization and enhancement of the product, until the mature one was launched. 

 

During the cooperation, as a mature self-management of the team, the members quickly learned and tried to understand the professional knowledge in different fields. We took empathy as the starting point to jointly plan the best solutions for various needs, in order to fast and flexibly respond to the requirements of customers and the highly complex market.

 

In several years of work experience, the most valuable part for me is not only the complicated feature output, but the chance of collaborating with different skilled elites.

bottom of page