Design Thinking: Challenges for Software Requirements Elicitation
Abstract
:1. Introduction
2. Background
2.1. Requirements Elicitation
2.2. Design Thinking
- Immersion: It can be divided into two stages: preliminary and in-depth. The preliminary immersion’s objective is the re-framing and initial understanding of the problem. It aims to define the purpose of the design and its limitations, in addition to identifying the user and other key authors who should be considered. At this stage, it is also possible to raise issues which can be explored in the in-depth immersion. The stage of the in-depth immersion starts with the elaboration of a research plan with the protocol of the first research and the list of user’s profiles and key authors who assist in the mapping of the investigated context. The communication with these users can take place with the help of certain techniques, such as interviews, generative sessions and awareness raising. These techniques can help understand the context related to the product and/or the service explored during the project [25].
- Ideation: The intention here is to generate new ideas for the project with the use of tools and people to stimulate creativity and generate solutions within the context of the project. Generally, the ideation phase begins with a brainstorming around the subject in order to collect ideas, which are discussed, documented and validated constantly in meetings with the client during the prototyping phase [25].
- Prototyping: It has the function of assisting in the validation of ideas. Even though presented as the ultimate stage of the DT process, it can be carried out in parallel with the immersion and ideation phases throughout the project [25]. The main outcome of this process is to learn about strengths and weaknesses of the idea as well as identifying new directions for the prototype, a reverse way of the traditional creative thinking, with the aim to visualize and imagine new alternatives and solutions. After the solutions are well defined and inspired by the user’s needs, which is in fact the focus of the whole analysis process, the solution will then be implemented [11].
2.3. Related Works
3. Methodology
- RQ.1. What are the Design Thinking techniques used and what are the challenges faced in the requirements elicitation of agile software development projects?
- RQ.2. How do Design Thinking techniques work as a method of eliciting requirements in a real agile software development project?
- RQ.3. What are the results obtained in the use of Design Thinking as requirements elicitation method in agile software development project and was there evidence of the use of Design Thinking regarding the identified challenges?
4. Systematic Literature Review
4.1. SLR Process Method
4.1.1. Search String
4.1.2. Selection Criteria (Inclusion and Exclusion)
- The paper must be available in the previously defined digital databases.
- The study must have been written in English or Portuguese.
- The work is classified as gray literature, that is, it is technical reports, preliminary studies, technical specifications, or official documents of specific organs [38].
- Incomplete works that were published as short papers.
- Do not present sufficient information to extract the expected data, thus impairing the quality or relevance of the work [41].
4.1.3. SLR Quality Criteria
- Execution of search strategy involving automatic and manual searches.
- Identification of potentially relevant studies, based on reading the title, abstract and keywords. In this stage, it is possible to discard studies that are clearly irrelevant to the research. In case of doubt about the permanence of any study in the SLR, the next stage assists in this definition.
- Reading the introduction, methodology and conclusion of the pre-selected works, again applying the inclusion and exclusion criteria.
4.2. Selection of Primary Studies
4.3. SLR Results
RQ.1. What Are the Challenges Faced in the Requirements Elicitation of Agile Software Development Projects and What Are the Design Thinking Techniques Used?
- Estimation of costs and schedule: It is more difficult to develop accurate estimates of costs and schedule during the initial stages of an agile project than those found in traditional ones. In traditional methods, the definition of the problem lies in the initial phase of the project and, in agile approaches, the definition of the problem is unstable in these stages, and the aim of the project is subject to constant changes [4]. However, we noticed that short iterations and frequent feedback of the stakeholders help agile development teams to create better estimates of time and individual costs for each iteration [4].
- Attention to non-functional requirements: A large concern of the ER in agile software development lies in the lack of attention regarding non-functional requirements, because they are poorly defined or ignored in the early stages of the project development. Stakeholders often focus on the main functionality and ignore technical issues related to the scalability, maintenance, portability, safety and performance [4].
- Customers’ participation: Communication with stakeholders will depend on many factors such as availability, consensus and confidence, especially in the early stages of the project. An American health software developer who participated in [4] empirical studies reported that the best users will always be occupied with their activities in the organization or their boss will not allow them to join the development team in full time. “In fact, in my experience, even part-time is a problem. We were fortunate to have about 3 to 5 hours per week with the product manager. When a system involves more than one group of stakeholders and each one is focused on different system features, reaching consensus or compromise in the iterations can be a challenge. In addition, each stakeholder may not have a complete understanding that his needs were fully understood by the development team because of the iterative nature of the process which are often not fully understood by the users” [4].
- Planning of initial activities: The initial phase is a pre-development stage divided into agile projects with the aim of assessing the initial requirements and understanding the users needs and goals. In the agile approach, the team focuses on results only in terms of functionality. Thus, the agile methods discourage the developer community to make better plans for the initial project activities, because they are sensitive to a change of requirements.
- Short amount of time in the iteration to realize usability tests: Agile teams report a lack of time in the iteration for performing usability tests during development, leaving aside requirements verification and validation.
5. Design Thinking Techniques Used in Requirements Elicitation of Agile Software Development
6. Requirements Elicitation with the Use Design Thinking: A Project Case Study at the Brazilian Federal Court of Accounts (TCU)
6.1. RQ.2. Do Design Thinking Techniques Contribute to Overcome Challenges of Requirements Elicitation in a Real Agile Software Development Project and What is the Input DT Gives to the Challenges Identified in the Case Study?
6.2. RQ.3. What Were the Results Obtained in the Use of Design Thinking in an Agile Software Development Project and Was there Evidence of the Use of Design Thinking Regarding the Identified Challenges?
- Project Manager/Requirements (PM): Responsible for the project planning, definition of goals and monitoring its implementation as well as for the collection and analysis of all the software requirements information.
- Product Owner (PO): Responsible for the requirements, assisting in prioritizing them and validating the implementation in order to ensure the quality of the final product.
- Developer (DV) Responsible for the development of the system.
- User experience/interface UX/UI design: Responsible for planning the best practice and and interaction with the system.
6.3. Discussion of the Results RQ.2. and RQ.3
- Participation of users/stakeholders: From the user’s point of view, they realized that there was a proper incentive to assist the project team in assessing the initial requirements, through the exposition of ideas and the underpinning during its construction, the discussing of needs and the reaching of consensus regarding the requirements. This incentive was caused by means of DT technics used in the workshop. From the point of view of the project team, the stakeholder participated actively in the course of the project, contributing to the prioritization and validation of requirements, testing and improvements. This contribution was due to the dynamics adopted in the project meetings, which used DT techniques and required the participation of the stakeholder.
- Requirements Definition: From the users point of view, we may affirm that the use of DT techniques in the workshop helped both users and the team to define the requirements and deliver the product, and the defined requirements were reflected in the final product. From the point of view of the project team, the DT techniques used in the workshop gave users the opportunity to express their wishes and needs and indeed fulfilled their main purpose, which was to define the requirements of the system.
- Requirement Validation: From the users point of view, it may be asserted from their responses that the use of DT techniques enabled an environment for discussing requirements, thus allowing to validate them. From the team’s point of view, the techniques used together with the diversity of the users present in the workshop with their different points of view, contexts of work and needs enriched the discussion and forced the project team to meet the most relevant requirements so that everyone could feel included and taken into account.
- Project Schedule Estimation: According to the project team, the needs identified during the workshop allowed to estimate the complexity of the project in a way that the elaboration of an estimation of a more appropriate schedule could be enabled. As a result, a chain effect could be observed: the use of DT in the workshop provided a better identification of the project needs and allowed the preparation of a more reliable schedule.
- Initial Activities Planning: According to the project team, there was a great effort in planning the initial activities, via the study of the DT and an analysis of its practical implementation, so that the main focus of the workshop was the stakeholder’s involvement in order to allow the extraction of system key features.
- Details of the requirements: In accordance to the project team and considering the participation of the stakeholder, the system requirements were well detailed regarding the prototyping, the DT approach and the regular presence of the stakeholder in the course of the project, which was also fostered by DT.Prioritization of requirements: In accordance with the project team, the dynamics applied in the meetings during the project, which were based on DT techniques, were important to prioritize the requirements.
- Interdependence between requirements: In accordance with the project team, the dynamics applied in meetings in the course of the project, which were based on DT techniques, were important to identify the interdependence the requirements.
- Attention to non-functional requirements: In accordance to the users’ vision, questions related to non-functional requirements were addressed during the the workshop, but not so efficiently, so that the DT techniques used did not promote a discussion about this. Taking all the questions asked in the after-workshop questionnaire, those questions related to the non-functional requirements were the ones which obtained a lower average. Evaluating the view of the users after the delivery of the product, they observed the presence of some resources related to non-functional requirements, mainly concerning safety and the question of system usability. From the point of view of the team, they considered that the non-functional requirements were addressed superficially during the workshop, and that they were only considered more effectively during the development phase mainly related to the usability, which is due to the use of prototyping and performance which is due to the type of system they were developed. Due to the characteristics of the applied system, it is difficult to come to a conclusion on the influence of the DT on non-functional requirements. However, it can be asserted that DT fosters the discussion of some items related to non-functional requirements, such as usability.
- A correct combination of artifacts and their proper use: In accordance with the vision of the team and because the workshop had well defined goals, they succeeded together with the users, identified in a well-defined way which were the key needs and characteristics of the system and, starting from this, elaborated the artifacts which would be necessary for each member of the team. However, it can be seen that, in the decision making of what artifacts should be elaborated in a project, the DT does not influence the choice. The methodology only provides the input needed to elaborate the artifacts, with the team being responsible for the definition of which artifacts will be used.
- Change of requirements: According to the vision of the team, due to the regular participation of the stakeholder to discuss ideas and to create prototypes, items which are related to DT, the atmosphere seemed favorable for the dealing with changes of requirements in a way that it would not cause much impact. The only mistake perceived in the development of the system in the study was the lack of testing when discussing and prototyping these new ideas. This made it difficult to analyze the real need of change in the requirements. Hence, there is partial evidence for the contribution of a challenge related to the changes of the requirements, but this is more due to the negligence of the team than to the methodology itself.
- Cost estimate: According to the perspective of the team and because the project was carried out within a public institution by internal staff, the cost estimate was not dealt with in this project, only the timeline was relevant to the context. Therefore, the influence of DT on the resolution of the challenge of the cost estimate cannot be evaluated.
- Time available to perform usability tests: In accordance with the team’s point of view, a usability testing was not realized. The only tests performed in the project were functional. Therefore, the influence of DT in the resolution of challenges related to the time to perform the usability tests cannot be evaluated.
7. Limitations and Threats to Validity
8. Conclusions
Author Contributions
Funding
Acknowledgments
Conflicts of Interest
References
- Hofmann, H.F.; Lehner, F. Requirements engineering as a success factor in software projects. IEEE Softw. 2001, 18, 58. [Google Scholar] [CrossRef]
- Brooks, F.P. No Silver Bullet. IEEE Comput. 1987, 20, 10–19. [Google Scholar] [CrossRef]
- Beck, K.; Grenning, J.; Martin, R.C. Manifesto ágil. Capturado em. 2011. Available online: http://agilemanifesto.org/ (accessed on 31 October 2019).
- Ramesh, B.; Cao, L.; Baskerville, R. Agile requirements engineering practices and challenges: An empirical study. Inf. Syst. J. 2010, 20, 449–480. [Google Scholar] [CrossRef]
- Inayat, I.; Salim, S.S.; Marczak, S.; Daneva, M.; Shamshirband, S. A systematic literature review on agile requirements engineering practices and challenges. Comput. Hum. Behav. 2015, 51, 915–929. [Google Scholar] [CrossRef]
- Pressman, R.S. Software Engineering: A Practitioner’s Approach; Palgrave Macmillan: New York, NY, USA, 2005. [Google Scholar]
- Brown, T. Change by design. J. Prod. Innov. Manag. 2009, 28, 381–383. [Google Scholar] [CrossRef]
- Sun, W.N.; Schmidt, C. Practitioners’ Agile-Methodology Use and Job Perceptions. IEEE Softw. 2018, 35, 52–61. [Google Scholar] [CrossRef]
- Adikari, S.; McDonald, C.; Campbell, J. Reframed Contexts: Design Thinking for Agile User Experience Design. HCI (9). In Lecture Notes in Computer Science; Springer: Berlin, Germany, 2013; Volume 8012, pp. 3–12. [Google Scholar]
- Brown, T.; Katz, B. Change by Design: How Design Thinking Can Transform Organizations and Inspire Innovation, 1st ed.; Harper Collins: New York, NY, USA, 2009. [Google Scholar]
- Bonini, L.A.; Sbragia, R. O modelo de design thinking como indutor da inovação nas empresas: Um estudo empírico. Rev. De Gest Ao E Proj.-GeP 2011, 2, 3–25. [Google Scholar] [CrossRef]
- Higuchi, M.M.; Nakano, D.N. Agile Design: A Combined Model Based on Design Thinking and Agile Methodologies for Digital Games Projects. Rev. De Gest Ao E Proj. 2017, 8, 109. [Google Scholar] [CrossRef]
- Kitchenham, B.; Pretorius, R.; Budgen, D.; Brereton, O.P.; Turner, M.; Niazi, M.; Linkman, S. Systematic literature reviews in software engineering–a tertiary study. Inf. Softw. Technol. 2010, 52, 792–805. [Google Scholar] [CrossRef]
- Fadel, A.C.; Silveira, H.d.M. Metodologias ágeis no contexto de desenvolvimento de software: XP, Scrum e Lean. Monogr. Do Curso De Mestr. FT-027 Ao De Proj. E Qual. Da Fac. De Tecnol. 2010, 98, 101. [Google Scholar]
- dos Santos Soares, M. Metodologias ágeis extreme programming e scrum para o desenvolvimento de software. Rev. Eletrônica De Sist. De Informaç Ao 2004, 3. [Google Scholar] [CrossRef]
- López-Alcarria, A.; Olivares-Vicente, A.; Poza-Vilches, F. A Systematic Review of the Use of Agile Methodologies in Education to Foster Sustainability Competencies. Sustainability 2019, 11, 2915. [Google Scholar] [CrossRef]
- Nardi, J.C.; de Almeida Falbo, R. Uma Ontologia de Requisitos de Software; CIbSE: London, UK, 2006; pp. 111–124. [Google Scholar]
- Kotonya, G.; Sommerville, I. Requirements Engineering: Processes and Techniques; Wiley Publishing: Hoboken, NJ, USA, 1998. [Google Scholar]
- Aurum, A.; Wohlin, C. Requirements engineering: Setting the context. In Engineering and Managing Software Requirements; Springer: Berlin, Germany, 2005; pp. 1–15. [Google Scholar]
- De Lucia, A.; Qusef, A. Requirements engineering in agile software development. J. Emerg. Technol. Web Intell. 2010, 2, 212–220. [Google Scholar] [CrossRef]
- Schön, E.M.; Thomaschewski, J.; Escalona, M.J. Agile requirements engineering: A systematic literature review. Comput. Stand. Interfaces 2017, 49, 79–91. [Google Scholar] [CrossRef]
- Horkoff, J.; Ersare, J.; Kahler, J.; Jorundsson, T.D.; Hammouda, I. Efficiency and Effectiveness of Requirements Elicitation Techniques for Children. In Proceedings of the 2018 IEEE 26th International Requirements Engineering Conference (RE), Banff, AB, Canada, 20–24 August 2018; pp. 194–204. [Google Scholar]
- Tiwari, S.; Rathore, S.S. A Methodology for the Selection of Requirement Elicitation Techniques. arXiv 2017, arXiv:1709.08481. [Google Scholar]
- Du, J.; Jing, S.; Liu, J. Creating shared design thinking process for collaborative design. J. Netw. Comput. Appl. 2012, 35, 111–120. [Google Scholar] [CrossRef]
- Vianna, M.; Vianna, Y.; Adler, I.; Lucena, B.; Russo, B. Design Thinking: Inovação em negócios; MJV Press: Atlanta, GA, USA, 2012. [Google Scholar]
- Vetterli, C.; Brenner, W.; Uebernickel, F.; Petrie, C.J. From Palaces to Yurts: Why Requirements Engineering Needs Design Thinking. IEEE Internet Comput. 2013, 17, 91–94. [Google Scholar] [CrossRef]
- Roach, T. How to Combine Design Thinking and Agile in Practice. 2015. Available online: https://medium.com/startup-frontier/how-to-combine-design-thinking-and-agile-in-practice-36c9fc75c6e6 (accessed on 31 October 2019).
- Hehn, J.; Uebernickel, F. The Use of Design Thinking for Requirements Engineering: An Ongoing Case Study in the Field of Innovative Software-Intensive Systems. In Proceedings of the 26th IEEE International Requirements Engineering Conference, Banff, AB, Canada, 11 July–31 October 2018; pp. 400–405. [Google Scholar]
- Correa, L.; Maria, D.; Bellio, J.C.; Marczak, S.; Conte, T. O Uso de Design Thinking no Apoio ao Desenvolvimento de Software: Um Estudo de Caso no Contexto de Academias de Musculação. In Proceedings of the Anais do WER18—Workshop em Engenharia de Requisitos, Rio de Janeiro, Brasil, 5–6 September 2018. [Google Scholar] [CrossRef]
- Plattner, H.; Meinel, C.; Weinberg, U. Design-Thinking; Springer: Berlin, Germany, 2009. [Google Scholar]
- Carroll, N.; Richardson, I. Aligning healthcare innovation and software requirements through design thinking. In Proceedings of the International Workshop on Software Engineering in Healthcare Systems, Austin, TX, USA, 14–22 May 2016; pp. 1–7. [Google Scholar]
- Corral, L.; Fronza, I. Design Thinking and Agile Practices for Software Engineering: An Opportunity for Innovation. In Proceedings of the 19th Annual SIG Conference on Information Technology Education, Fort Lauderdale, FL, USA, 3–6 October 2018; pp. 26–31. [Google Scholar]
- Denzin, N.K. The Research Act: A Theoretical Introduction to Sociological Methods; Routledge: London, UK, 2017. [Google Scholar]
- triviños, A.N.S. Introdução à pesquisa em ciências sociais: A pesquisa qualitativa em educação. São Paulo: Atlas, 1987. Outros Números Do Inf. Rural ETENE ANO 2009, 3, 25. [Google Scholar]
- Kitchenham, B. Procedures for performing systematic reviews. Keele UK, Keele Univ. 2004, 33, 1–26. [Google Scholar]
- Wohlin, C. Guidelines for snowballing in systematic literature studies and a replication in software engineering. In Proceedings of the 18th International Conference on Evaluation and Assessment in Software Engineering, London, UK, 13–14 May 2014; p. 38. [Google Scholar]
- Silva, F.S.; Soares, F.S.F.; Peres, A.L.; de Azevedo, I.M.; Vasconcelos, A.P.L.; Kamei, F.K.; de Lemos Meira, S.R. Using CMMI together with agile software development: A systematic review. Inf. Softw. Technol. 2015, 58, 20–43. [Google Scholar] [CrossRef]
- Felizardo, K.R.; Nakagawa, E.Y.; Fabbri, S.C.P.F.; Ferrari, F.C. Revisão Sistemática da Literatura em Engenharia de Software: Teoria e Prática; Elsevier: Amsterdam, The Netherlands, 2017. [Google Scholar]
- Pai, M.; McCulloch, M.; Gorman, J.D.; Pai, N.; Enanoria, W.; Kennedy, G.; Tharyan, P.; Colford, J.J. Systematic reviews and meta-analyses: An illustrated, step-by-step guide. Natl. Med J. India 2004, 17, 86–95. [Google Scholar] [PubMed]
- Biolchini, J.; Mian, P.G.; Natali, A.C.C.; Travassos, G.H. Systematic review in software engineering. Syst. Eng. Comput. Sci. Dep. COPPE/UFRJ, Tech. Rep. ES 2005, 679, 45. [Google Scholar]
- Petersen, K.; Vakkalanka, S.; Kuzniarz, L. Guidelines for conducting systematic mapping studies in software engineering: An update. Inf. Softw. Technol. 2015, 64, 1–18. [Google Scholar] [CrossRef]
- Zhang, H.; Babar, M.A. Systematic reviews in software engineering: An empirical investigation. Inf. Softw. Technol. 2013, 55, 1341–1354. [Google Scholar] [CrossRef]
- Wohlin, C.; Prikladniki, R. Systematic literature reviews in software engineering. Inf. Softw. Technol. 2013, 55, 919–920. [Google Scholar] [CrossRef]
- Denning, P.J. The profession of IT Beyond computational thinking. Commun. ACM 2009, 52, 28–30. [Google Scholar]
- Queiros, L.M.; Da Silveira, D.S.; da Silva Correia-Neto, J.; Vilar, G. LODPRO: Learning objects development process. J. Braz. Comput. Soc. 2016, 22, 3. [Google Scholar] [CrossRef] [Green Version]
- Salah, D.; Paige, R.F.; Cairns, P. A systematic literature review for agile development processes and user centred design integration. In Proceedings of the 18th International Conference on Evaluation and Assessment in Software Engineering, London, UK, 13–14 May 2014; p. 5. [Google Scholar]
- Soares, H.F.; Alves, N.S.; Mendes, T.S.; Mendonça, M.; Spínola, R.O. Investigating the link between user stories and documentation debt on software projects. In Proceedings of the 2015 12th International Conference on Information Technology-New Generations (ITNG), Las Vegas, NV, USA, 13–15 April 2015; pp. 385–390. [Google Scholar]
- Levy, M. Promoting the Elicitation of Usability and Accessibility Requirements in Design Thinking: Using a Designed Object as a Boundary Object. In Proceedings of the 2017 IEEE 25th International Requirements Engineering Conference Workshops (REW), Lisbon, Portugal, 4–8 September 2017; pp. 156–159. [Google Scholar]
- Freitas, R.; Peres, S.; Fantinato, M.; Steinbeck, R.; Araújo, U. Experimenting with design thinking in requirements refinement for a learning management system. In Anais do IX Simpósio Brasileiro de Sistemas de Informação; SBC: Porto Alegre, Brazil, 2013; pp. 182–193. [Google Scholar]
- Newman, P.; Ferrario, M.A.; Simm, W.; Forshaw, S.; Friday, A.; Whittle, J. The Role of Design Thinking and Physical Prototyping in Social Software Engineering. In Proceedings of the 37th International Conference on Software Engineering, Florence, Italy, 16–24 May 2015; pp. 487–496. [Google Scholar]
- Lindberg, T.; Meinel, C.; Wagner, R. Design thinking: A fruitful concept for it development? In Design Thinking; Springer: Berlin, Germany, 2011; pp. 3–18. [Google Scholar]
- Marconi, M.d.A.; Lakatos, E.M. Fundamentos de Metodologia Científica, 5th ed.; Atlas: São Paulo, Brazil, 2003. [Google Scholar]
ID | Title | Reference |
---|---|---|
S1 | Agile Requirements Engineering: A systematic literature review | [21] |
S2 | The profession of it beyond computational thinking | [44] |
S3 | LODPRO: learning objects development process | [45] |
S4 | Projeto ágil: Um Modelo Combinado com Base em Pensamentos de Desenho e Metodologias Ágeis para Projetos de Jogos Digitais | [12] |
S5 | A systematic literature review on agile requirements engineering practices and challenges | [5] |
S6 | Agile requirements engineering practices and challenges: an empirical study | [4] |
S7 | Reframed Contexts: Design Thinking for Agile User Experience Design | [9] |
S8 | A Systematic Literature Review for Agile Development Processes and User Centred Design Integration | [46] |
S9 | Investigating the Link Between User Stories and Documentation Debt on Software Projects Development | [47] |
S10 | O Modelo de Design Thinking como Indutor da Inovação nas Empresas: Um Estudo Empírico | [11] |
S11 | Change by Design | [7] |
S12 | Change by Design: How Design Thinking Transforms Organizations and Inspires Innovate | [10] |
S13 | From palaces to yurts: Why Requirements Engineering Needs Design Thinking | [26] |
S14 | Promoting the Elicitation of Usability and Accessibility Requirements in Design Thinking: Using a Designed Object as a Boundary Object | [48] |
S15 | The Use of Design Thinking for Requirements Engineering: An Ongoing Case Study in the Field of Innovative Software-Intensive Systems | [28] |
S16 | Aligning healthcare innovation and software requirements through design thinking | [31] |
S17 | Experimenting with design thinking in requirements refinement for a learning management system | [49] |
S18 | Design Thinking and Agile Practices for Software Engineering: An Opportunity for Innovation | [32] |
S19 | The role of design thinking and physical prototyping in social software engineering | [50] |
S20 | Design thinking: A fruitful concept for it development? | [51] |
ID | Challenge | Description |
---|---|---|
1 | Prioritization of requirements | The prioritization of requirements based only on the value they have for the user poses a risk for the project. |
2 | Identification of non-functional requirements | The lack of specification of non-functional requirements can provoke future problems. |
3 | Itemization of requirements | The agile methodology usually approaches users’ stories as a means of representing requirements. Very often they only present a low-level of detail causing difficulties for other development activities. |
4 | Change of requirements | One needs to pay attention to the constant changes of requirements in agile projects by evaluating its impacts and risks. |
5 | Definition of requirements | The difficulties that users face in figuring out what is to be described by the development team. |
6 | Interconnection between requirements | Difficulty in dealing with the interconnection between requirements, as in the agile development, user stories can be developed individually. |
7 | Involvement of the stakeholders | Users are not always available to answer questions about software requirements. |
8 | Communication with stakeholders | It very often proves difficult to communicate with stakeholders in an efficient manner. This can lead to undesired consequences, as the agile requirements are based on the continuous communication and cooperation with the user. |
9 | Validation of requirements | The validation of requirements can be flawed due to the low level of itemization of the requirements when using agile methodology. |
ID | Challenge | Reference |
---|---|---|
1 | Cost estimate and schedule | [4,5] |
2 | Attention to no-functional requirements | [4,5,21,47] |
3 | Users participation | [4,5,47] |
4 | Correct combination of artifacts and their respective use | [21,31] |
5 | Planning of initial activities | [21,46] |
6 | Time for usability tests | [46] |
7 | Prioritization of requirements | [5,44,47] |
8 | Itemization of requirements | [12,47] |
9 | Change of requirements | [45,47,51] |
10 | Definition of requirements | [47,48,49] |
11 | Interconnection between requirements | [4,9,47] |
12 | Validation of requirements | [28,32,47,50] |
Characteristics | Design Thinking | Agile Method |
---|---|---|
Solution of unstructured problems | Mainly designed to solve complex issues | Developers deal with uncertainties, hence unstructured problems are part of their daily work |
Users needs are important for the development of the project | Most of the Design Thinking approaches are in essence focused on the users and their experiences | To guarantee a better quality and aptitude of the final product, it is necessary to involve users and project team in an active form during the product development |
Iterative productive process | Design Thinking defines that interaction is fundamental for the development of solutions | Agile processes are mainly iterative |
Team Cooperation (interdisciplinary and multidisciplinary) | Practitioners of Design Thinking work in teams, via a multidisciplinary interaction | Developers who use agile methodology are basically formed by multidisciplinary teams, consisting of programmers, project managers, testers, etc. |
Rapid prototyping | Rapid prototyping is important in the phase of ideation, the use of prototypes helps identify new creative and innovative ideas | Support a more efficient project development, enabling high quality and cost efficiency products |
Phase | Related Technique | Description |
---|---|---|
Immersion | Strategic challenge | Ask questions like: “How can we…?” [12]. |
Challenge selection | Evaluate and select challenges to be worked on by the team [12]. | |
Knowledge Sharing | What is known and what is not known to solve the problem, and what needs to be studied to solve it [12]. | |
Research Planning | Plan the survey considering users, stakeholders, experts, contexts and benchmarks [12]. | |
Questionnaire | Research references and problematic context [12]. | |
Research Exploring | Research references and problematic context which helps the team to understand the context to be worked on [12,25]. | |
Interviews | Method which, in a conversation with a respondent, helps obtain related information about the central subject with specific questions [9,25,44]. | |
Reframing | Examine user issues from different perspectives to enable deconstruction of beliefs and assumptions of stakeholders [25]. | |
Research desk | Information research related to the project subject through diverse sources, such as websites, blogs, interviews, books and articles [25]. | |
Awareness notes | A way to obtain information about the users with a minimum of interference with the actions. What makes this technique different is that the user formally reports his activities [25]. | |
Generative sessions | Meet with stakeholders to enable them to share their experiences and plan activities around the subject of the project to present their ideas [25]. | |
A day in life | Members of the project team assume the paper of the user for a certain time in order to interact with the challenges that the latter faces on a daily basis [25]. | |
Shade | Follow-up users by project team member for a certain period, which includes the interaction with the analyzed product or service. [25]. | |
Ideation | Sharing | Sharing all information and identifies perceptions in the ideation phase [12]. |
People | Create fictitious characters to use them as a refinement for the solution [9,12,25]. | |
Empathy map | Develop understanding of people involved, what they feel, see, hear, speak, do, strengths and weaknesses [12,25]. | |
Synthesis | Synthesize the learning process [9,12]. | |
Brainstorming | Discuss ideas for possible solutions [12,25]. | |
Common creation workshop | Organize meeting with a series of activities to stimulate creativity and cooperation of the stakeholders by promoting innovative solutions [25]. | |
Map of ideas | Present all ideas generated during the project in order to discuss, display and identify business opportunities [25]. | |
Positioning matrix | Tool for strategic analysis of ideas generated in the project. It is used to validate the ideas in relation to the guiding criteria of the project in order to support the decision-making process starting from the efficient communication of the benefits and challenges of each solution, so that the most strategic ideas can be selected for prototyping [25]. | |
Customer Journey | Allow stakeholders to propose solutions emanating from user’s description, including thoughts and feelings [12]. | |
Blueprint | Visual presentation of the solution process as well as characters and activities [12]. | |
Implementation | Prototyping on paper | Creation of a prototype that expresses the ideas of participants on paper to schematically represent project screens [12,25]. |
Model of the volume | Product presentations in levels of fidelity, from low, with few details, to high, with the presentation of the final product [25]. | |
Staging | Improvised simulation of a situation that represents an interaction between the user and the product [9,25]. | |
Storyboard | Present a story with pictures and drawings, photographs and collages in order to visualize the implementation of the solution [25]. | |
Prototype of the services | Simulation of artifacts, environments or interpersonal relationships which represent aspects of the product in order to engage the user and simulate the delivery of the proposed solution [25,44]. | |
Hypothesis and tests | Hypothesis for the solution and testing of the hypothesis [12]. | |
Pivoting | Changing of the solution based on the obtained results [12]. | |
Considerations | Take into consideration the team that participated in the development of the solution [12]. |
Stakeholders | Total |
---|---|
Internal Team Profile | |
Developer | 7 |
Product Manager (PM) | 1 |
Product Owner (PO) | 2 |
User Experience Design (UX) | 3 |
Users (Clients) | |
TCU | 2 |
Ministry of Planning | 2 |
Superior Court of Justice | 2 |
Brazilian Federal Court of Accounts | 2 |
Brazilian Post and Telegraph Corporation | 1 |
Federal Savings Bank | 4 |
Federal Reserve of Brazil | 4 |
Bank of Brazil | 2 |
Brazilian Petroleum Corporation | 1 |
Brazilian Company of Hospital Services | 3 |
Regional Federal Courts | 1 |
Brazilian Army | 3 |
Total | 40 |
Phase | Technique | Description |
---|---|---|
Ideation | Brainstorming | Discussion of ideas for possible solutions. |
Implementation | Prototype on paper | Prototype design expressing the ideas of participants in small amounts of paper to present the screens of the project schematically. |
Hypothesis and tests | Hypothesis proposed for the solution and hypothesis testing. |
Question | Average |
---|---|
1. There was an incentive to present ideas for the system during the workshop. | 5.00 |
2. There was cooperation among participants in the presentation of ideas. | 4.85 |
3. The team discussed solutions for the presented ideas. | 4.54 |
4. The main needs of the system were identified during the workshop. | 4.23 |
5. By the end of the workshop, the team reached consensus over the system requirements. | 4.08 |
6. Questions related to the response time of the operations were considered. | 3.92 |
7. Questions related to the security of the system were considered. | 3.77 |
8. Questions related to the aesthetics of the system were considered. | 3.69 |
9. The length of the workshop was sufficient to fulfill its intentions. | 4.31 |
10. The methodology used in the workshop can be applied in future projects dealing with a similar approach. | 4.54 |
11. What is your level of satisfaction with the workshop? | 4.54 |
Question | Average |
---|---|
1. The identified needs of the workshop are now present in the system. | 4.29 |
2. The interaction with the system works intuitively. | 4.00 |
3. The system offers adequate security utilities. | 4.14 |
4. The response time of the system is adequate. | 3.57 |
5. What is your level of satisfaction with the information panel? | 3.71 |
6. My satisfaction with the final product is partially due to the use of the applied methodology in the workshop for the assessment of requirements. | 4.14 |
ID | Question | Answer |
---|---|---|
1. | How did it work with cost estimation and timeline for the information panel of the e-staff? | A cost estimation was not made, since it was a project developed by the internal staff. The focus was on the timeline. The schedule estimation was carried out on the basis of the evaluation of the needs assessed during the workshop. |
2. | Did the methodology used in the survey workshop for the assessment of requirements to some extend help estimating cost and schedule? If yes, how? | Yes. From the needs raised from the workshop, it was possible to estimate how complex it would be to obtain and present user’s requested information. Thus, it was possible to establish a timetable for the project delivery. |
3. | Was there discussion about the non-functional requirements during the workshop and were they considered in the project development phase? If so, how was that? | The non-functional requirements were discussed superficially during the workshop, with some considerations. Only in the development stages the usability and performance requirements were considered, due to the volume of information that was be presented. |
4. | The users and stakeholders’ participation happened in an effective manner throughout the project development? If not, what is the reason? | Yes. The users and stakeholders actively participated in each stage of the prioritization, testing, revalidation and assessment of requirements activities, in addition to indicating and suggesting how information should be organized and displayed in the panel. |
5. | The information generated during the workshop for the requirements assessment consisted in the elaboration of artifacts that supported the project development? | Yes, because the purpose of the workshop was very specifically designed to develop an information panel. Hence, the question was to discover, together with the users, which information they would like to have and how it should be arranged. Thus, it was possible to gather an initial understanding of the project scope and to plan its releases. |
6. | Compared to other projects, was there a greater effort in planning the initial activities? If yes, has this contributed to a better quality of the requirements? | There was already a formerly previous version of the developed system, with all the information already structured, thus we already had an idea of the data needed to assess and to meet users’ requirements. There was an effort to plan the workshop activities well in order to focus on what we had to extract from the users/stakeholders. We knew that by planning the workshop led us to obtain the most specified—and therefore higher quality—requirements for the users and project needs. |
7. | Did the workshop enable the team to obtain the requirements which precisely expressed the real users’ needs? Was this due to the methodology used? | Yes. I believe that it is due to the methodology used, because users had the freedom to express their needs. The workshop was entirely focused on the expression of the users’ needs. |
8. | The information obtained from the workshop enabled the definition of more detailed requirements? | Yes. In the workshop, users from different authorities were present, each with a vision, work context and proper needs. This not only added value to the discussion, it also helped the requirements team to gather more detailed higher quality information so that all users were taken into account. |
9. | After the requirements assessment workshop, were there meetings with the project team to discuss the information obtained to define the work scope? | Yes, there were several meetings afterwards. |
10. | After the requirements assessment workshop, were there meetings with the project team in order to prioritize the requirements? | Yes. A meeting was held to prioritize the requirements. |
11. | After the requirements assessment workshop, were there meetings with the project team to discuss the interdependence between the requirements? | Yes. |
12. | Were there prototypes on paper created to express the workshop gathered ideas in order to present the system screens? | Yes. Several prototypes on paper were created. |
13. | When an idea of solution was identified, was it tested? | No, they were not tested but were only discussed. |
14. | What is your level of satisfaction with the methodology used at the workshop? | I am partially satisfied with the methodology adopted at the workshop. |
15. | Would you adopt or suggest the adoption of this methodology for the assessment of requirements in future projects with a similar approach? | Yes. The used methodology facilitated the requirements elicitation. |
16. | What is your level of satisfaction with the final product? | I am satisfied with the final product. |
17. | Usability testing was made before the actual development of the system? | It was not. Usability tests would be best performed at the end of the development. |
18. | The details of the project requirements were sufficient for the development of the activities which you performed? If not, why? | Yes. The stakeholders were very precise and provided a lot of information. In addition, all graphics were prototyped before the start of the development. |
19. | Was the time to perform the usability tests adequate? | No usability testing was performed. |
20. | Usability testing began to be made before the actual development of the system? | No usability testing was performed. |
© 2019 by the authors. Licensee MDPI, Basel, Switzerland. This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution (CC BY) license (http://creativecommons.org/licenses/by/4.0/).
Share and Cite
Ferreira Martins, H.; Carvalho de Oliveira Junior, A.; Dias Canedo, E.; Dias Kosloski, R.A.; Ávila Paldês, R.; Costa Oliveira, E. Design Thinking: Challenges for Software Requirements Elicitation. Information 2019, 10, 371. https://doi.org/10.3390/info10120371
Ferreira Martins H, Carvalho de Oliveira Junior A, Dias Canedo E, Dias Kosloski RA, Ávila Paldês R, Costa Oliveira E. Design Thinking: Challenges for Software Requirements Elicitation. Information. 2019; 10(12):371. https://doi.org/10.3390/info10120371
Chicago/Turabian StyleFerreira Martins, Hugo, Antônio Carvalho de Oliveira Junior, Edna Dias Canedo, Ricardo Ajax Dias Kosloski, Roberto Ávila Paldês, and Edgard Costa Oliveira. 2019. "Design Thinking: Challenges for Software Requirements Elicitation" Information 10, no. 12: 371. https://doi.org/10.3390/info10120371
APA StyleFerreira Martins, H., Carvalho de Oliveira Junior, A., Dias Canedo, E., Dias Kosloski, R. A., Ávila Paldês, R., & Costa Oliveira, E. (2019). Design Thinking: Challenges for Software Requirements Elicitation. Information, 10(12), 371. https://doi.org/10.3390/info10120371