Agile Methods in a Complex System Project
Insta DefSec participated in the Tampere Goes Agile event on 28th of October at Tampere Hall. We gave a talk about Challenges of agile methods in system development and unexpectedly finding answers from the V-model and demonstrated our product Insta Response. Many participants were interested in our software and its integrations.
During a system development project, we have encountered a common challenge of capturing the essence of real end users' daily work into the agile backlog items, such as epics, features and user stories. By inspecting and adapting, we have found out that methods preferring hands on engagement and methods from user experience domain have enabled us to have a more clear understanding of the end users' daily work.
Agile backlog items in the sprint level, user stories, are evaluated in the sprint demos where stakeholders are able to see how user story implementations work and they have an opportunity to comment them. When end user use cases consist of tens of user stories, dynamics of the complete system may be missed. We have learned that hands on testing events, where end users and developers simulate real life use cases together in real environment, are better than sprint demos for gaining accurate understanding if user stories are fit for the purpose.
Methods from the User Experience Domain
Simulation based testing event is also an excellent opportunity to gather information from the end user by methods from the user experience domain, such as the contextual inquiry and affinity walls.
Contextual Inquiry is an interview technique that is based on four principles: context, partnership, interpretation and focus. Context means that interviews are conducted in the users' real working environment, partnership that the user and researcher collaborate to understand the user’s work, interpretation that researcher verifies insights with the user and ensures that interview focuses on the user and user’s problems. Insights from contextual inquiry can be collected as affinity notes.
Affinity wall is a way to visualize insights from the context inquiry by grouping them and identifying common themes. Based on findings, new user stories can be written to the backlog, varying from usability issues in existing implementation to new functionality ideas. Affinity mapping can also shed light on the personality traits and roles of the people using the system. These traits can be captured and distilled into Personas (through the affinity mapping or otherwise), a widely used method for user profiling. Personas may yield insight while used in conjunction with exploratory testing, for example, enabling testers to better adapt to the mind-set of the real people behind the term "end-user".
User experience design has traditionally been somewhat at odds with Agile software development, mainly due to its emphasis on building the understanding of the users and their context before anything else. This has improved lately with new paradigm shifts such as the Lean UX, which is currently the framework behind our user experience design. Lean UX emphasizes doing things rationally, critically evaluating and validating assumptions while iterating solutions to the right problems as fast as possible.
From Tampere Goes Agile we also picked up next new idea that we are going to adopt: futurespectives. Futurespectives are similar to retrospectives except focus is in the future. We anticipate that futurespectives might be a great way to identify key pain points in the future and collect risks from the team.
Tampere Goes Agile 2017
As mentioned before, we also demonstrated our product Insta Response in Tampere Goes Agile. Many participants saw the software for the first time and were especially interested in integrated approach of the system. All the tools, such as phone functionality, map and talk groups, are integrated to one system that is operated using desktop software displaying all the relevant information to the end user in organized manner.
Our demo consisted of basic operation model of an operator. We answered to simulated calls from the queue, handled the incidents via incident assessment and demonstrated other functionalities such as locating the incident. The concept of handling an incident via incident assessment intrigued many people as it guarantees similar level of service for all callers. If the assessment algorithm determines that the situation requires a response, it automatically proposes the fit emergency unit for it. Via this pattern, the decision process required from an operator is diminished. However, when working with humans also tone of the caller’s voice and words the caller chooses needs to be considered and expertise of the operator is highly valuable in understanding these factors.
The agile manifesto states that individuals and interactions are valued over processes and tools. We believe that these two values do not exclude each other, correct tools are a great advantage in many occupations: in software development as well as in emergency response center. Most tools require identified processes to work properly but in the same time, tools and processes would be of no use without proper amount of interactions among individuals.