BUSINESS ANALYSIS AND SYSTEMS DEVELOPMENT APPROACHES
This research report shed light on the concept of user experience design within an existing process of agile software development process. In this context, an Australia based Information Technology (IT) Solution Company DevWorks has been chosen to inspect implementation of this concept properly. This study focuses on examination of potential benefits of integration of user-centred designing process.
Analyzing the concept properly, this account also provides some important potential problems that can be faced by concerned company while incorporating the user-oriented process in the existing one.
Based on these identified problems, researcher has provided some recommendations towards the software developers of concerned company. Maintenance of these recommendations can be helpful for this organization to mitigate the scope of disadvantage gaining of user experience design model.
Agile software development process is beneficial for various reasons such as it manages engagement level of stakeholders by maintaining transparency in business process.
Moreover, by predicting schedules and costs it makes a business process an easy one by allowing the entire business process to accept new changes. Incorporation of a user experience design within an agile software development process ensures a better user experience level. Main objective of this report is to identify some potential benefits and problems of incorporation of a user experience design within the existing agile development process of DevWorks.
Definition of agile software development methodology and user experience design
Agile Software Development (ASD) methodology refers to practice with continuous iteration regarding development and testing of new changes throughout the entire lifecycle of a software development project.
According to Ahimbisibwe et al. (2017, p.405), this methodology emphasizes on team and individual iterations by constructing a comprehensive documentation model for concerning development project.
Moreover, a User Experience Design (UXD) refers to creation of such software which can produce better, relevant and meaningful experiences towards its users. In the opinion of Matharu et al. (2015, p.5), implementation of a UXD within existing ASD methodology can be helpful by solving problems regarding visual design, information architecture, interaction design, usability, user research and content strategy [Refer to Appendix 1].
Potential benefits of UXD over ASD process of DevWorks
UXD emphases on enhancement of pleasure, satisfaction, efficiency, motivation and productivity of a user while using a specified ASD product. Thus, implementation of this practice within existing practice of DevWorks can generate the following potential benefits to the concerned organization:
|Improvement in estimation process||As opined by Rigby et al. (2016, p.50), to provide better service to customers, understanding of user needs is the most important context. Thus, if managing authority of DevWorks can estimate customer needs, then it becomes easier for it to invent a new product or to renovate the existing one according to customer’s need. Moreover, it can be helpful for it to increase its sales volume by increasing customer satisfaction level.|
|Understanding of user’s problems||As demonstrated by Silva et al. (2015, p.40), as UXD system is a user-centred process, it can be helpful to understand the exact problems faced by an individual. Thus, if managing body of DevWorks can identify those potential problems of users, it can be easier for it to serve its customer in a better way. Thus, implementation of this practice can be beneficial for increasing the number of customers by retaining previous customers and attracting new ones.|
|Validation and testing process: A rapid form||As inspected by Gray et al. (2016, p. 52), forms and functions within an agile system are to be validated and tested through very small iterations within a specified time interval. Thus, incorporation of UXD within DevWorks can be useful for it to enhance customer satisfaction level.|
|Project risk management||According to the research work of Ahimbisibwe et al. (2015, p.30), agile system includes a unique but unchangeable code operation to put control over specified system design. While explaining UXD system application, Hashmi et al. (2019, p.660) have stated that this system is different for ASD as it provides a scope for incorporation of changes in concerned system by considering customer demand. Moreover, UXD can decrease risk of a project of DevWorks by managing its customer demands and estimating cost of a project.|
|Engagement of users in place of customers||As represented by Papadopoulos (2015, p.460), one can get a better customer understanding by analyzing user as a customer but not considering it in terms of total revenue collection. Moreover, UXD practice is beneficial as it deals with requirement, emotion and requests of users. Hence, DevWorks can receive potential benefits of such new UXD practice and this can be helpful to enhance trustworthiness of a user and also improves longevity of a product.|
Table 1: Potential benefits of UXD
(Source: Created by researcher)
Figure 1: Potential benefits of UXD on DevWorks
(Source: Created by researcher)
Implementation of a new system within an existing process can create some potential problems for concerned organization and implementation process of UXD in the existing ASD process of DevWorks is not an exception to it. Some of such potential problems are mentioned below:
Figure 2: Potential Problems of UXD on DevWorks
(Source: Created by researcher)
Communication process between system developers and validation testers
Development of user-oriented agile software requires a teamwork process and performance of individual is responsible for the entire project success. In the opinion of Ghobadi and Mathiassen (2016, p.120), development of such a software system includes construction of various clickable prototypes, different annotations and animated wireframes. Thus, if managing authority of DevWorks becomes unable to create proper communication between various team members, then proper synchronization cannot be established in the software development process. Moreover, this can make an entire development project an unsuccessful one.
Construction of wireframe for software development: A difficult process
A project consists of various workflows such as project decision, planning, initiation, cost estimation, progress, progress measurement and project completion.
Figure 3: Project steps
(Source: Created by researcher)
In this context, the opinion given by Brhel et al. (2015, p.165) can be taken under consideration. According to this opinion, construction of a project wireframe is a difficult task as it constitutes all steps of a project.
As a supporting statement to it, Øvad and Larsen (2015, p. 45) have commented that an increasing level of complexity or incorporation of a new process with an existing one can cause enhancement of complexity level. Thus, while incorporation UXD within the existing ASD process of DevWorks, construction of wireframe structure becomes a tough one. Hence, it can act as a potential disadvantage of incorporation of a selected method in agile development process.
Limitations regarding wireframe based software
A wireframe software system involves various components such as rich animations, subtle interactions and so many others. In the opinion of Schön et al. (2017, p.80), testing and validation process of an agile development methodology is simply based on small iterations with regular interventions. Hence, while evolving some wireframe based software system such as UXD, it can be a challenge for DevWorks to maintain these limitations while incorporating the new system within the existing one.
|Recommendation 1: Adequate behavior guide to establish better communication between team members.||This can be done in two processes, such as creation of feedback loops and incorporation of components.|
· Components: This is required to produce information r5egarding navigation, modal dialogues and form fields.
· Feedback loops: This can provide proper information regarding success message and error dialogues.
Thus, it can be stated that this recommendation can be helpful for the users of the software made by DevWorks.
|Recommendation 2: Adoption of consequences and involve in workflow||Problem regarding wireframe construction can be mitigated by accepting the consequences and designing the wireframe based on this. Hence, software development team of DevWorks can take a switching mode to adopt certain changes in user behavior that is user preference and demanding activities.|
|Recommendation 3: Selection of a wireframe with higher fidelity||Potential problem regarding wireframe software limitation can be mitigated by using a wireframe with higher fidelity. In this context, it is to be mentioned that, this can provide a clear vision regarding new prototype while demonstrating the new software in front of users. It can be achieved by the following three ways:|
· Creation of HTML prototype: Front ended development skills can be gained by utilizing a new Hyper Text Markup Language (HTML) system
· Creation of animated prototype: use of some specified tools such as Adobe flash player can be helpful for creation of a rapid animated prototype of animation tool.
· Use of annotations: Animation is helpful to mitigate the gap between various interactions of users and annotations are beneficial to provide detailed guidance of software application. Thus, this can be used to increase3 the satisfaction level of customer.
Thus, these three ways can be used by software developing team of DevWorks to establish a more user-friendly software application process.
Table 2: Recommendations for DevWorks
(Source: Created by researcher)
Form the above discussion, it can be concluded that, implementation of UXD system can be a beneficial one for DevWorks if it is implemented by using a right way. Moreover, it can also be concluded that, as it is a customer-centred process, main objective of this design implementation is to serve better to customers by achieving customer satisfaction level.
This account is also helpful to identify some problems regarding implementation of UXD system within an existing ASD model. Thus, by following the above-mentioned recommendations, responsible authority of DevWorks can mitigate those mentioned potential problems and can achieve potential benefits properly.
Hence, incorporation of UXD process can be beneficial to increase sales volume by enriching satisfaction level of present users. Furthermore, this can also be advantageous to attract new users by retaining existing customers.
Ahimbisibwe, A., Cavana, R.Y. and Daellenbach, U., 2015. A contingency fit model of critical success factors for software development projects: A comparison of agile and traditional plan-based methodologies. Journal of Enterprise Information Management, 28(1), pp.7-33. <https://www.researchgate.net/profile/Arthur_Ahimbisibwe2/publication/328980085_Ahimbisibwe_A_Cavana_RY_Daellenbach_U_2015_A_Contingency_Fit_Model_Of_Critical_Success_Factors_for_Software_Development_Projects_Journal_of_Enterprise_Information_Management_Emerald_28_1_7-33/links/5bee6249a6fdcc3a8dd9be22/Ahimbisibwe-A-Cavana-RY-Daellenbach-U-2015-A-Contingency-Fit-Model-Of-Critical-Success-Factors-for-Software-Development-Projects-Journal-of-Enterprise-Information-Management-Emerald-28-1-7-33.pdf>
Ahimbisibwe, A., Daellenbach, U. and Cavana, R.Y., 2017. Empirical comparison of traditional plan-based and agile methodologies: Critical success factors for outsourced software development projects from vendors’ perspective. Journal of Enterprise Information Management, 30(3), pp.400-453. <https://www.researchgate.net/profile/Arthur_Ahimbisibwe2/publication/328980079_Ahimbisibwe_A_Daellenbach_U_Cavana_RY_2017_Empirical_Comparison_of_Traditional_Plan-Based_and_Agile_Methodologies_Critical_Success_Factors_for_Outsourced_Software_Development_Projects_from_Vendors%27_Pe/links/5bee6127a6fdcc3a8dd9be15/Ahimbisibwe-A-Daellenbach-U-Cavana-RY-2017-Empirical-Comparison-of-Traditional-Plan-Based-and-Agile-Methodologies-Critical-Success-Factors-for-Outsourced-Software-Development-Projects-from-Vendo.pdf>
Brhel, M., Meth, H., Maedche, A. and Werder, K., 2015. Exploring principles of user-centered agile software development: A literature review. Information and software technology, 61, pp.163-181. <https://www.researchgate.net/profile/Karl_Werder/publication/272360138_Exploring_Principles_of_User-Centered_Agile_Software_Development_A_Literature_Review/links/5a141ebeaca27240e3085e15/Exploring-Principles-of-User-Centered-Agile-Software-Development-A-Literature-Review.pdf>
Ghobadi, S. and Mathiassen, L., 2016. Perceived barriers to effective knowledge sharing in agile software teams. Information Systems Journal, 26(2), pp.95-125. <https://www.researchgate.net/profile/Shahla_Ghobadi/publication/269777015_Perceived_barriers_to_effective_knowledge_sharing_in_agile_software_teams/links/5bcfdf154585152b14510dfa/Perceived-barriers-to-effective-knowledge-sharing-in-agile-software-teams.pdf>
Gray, C. S., Khan, A. I., Kuluski, K., McKillop, I., Sharpe, S., Bierman, A. S., … & Cott, C. (2016). Improving patient experience and primary care quality for patients with complex chronic disease using the electronic patient-reported outcomes tool: adopting qualitative methods into a user-centered design approach. JMIR research protocols, 5(1), e28. Accessed from: https://www.researchprotocols.org/2016/1/e28/?utm_source=TrendMD&utm_medium=cpc&utm_campaign=JMIR_TrendMD_1, Accessed on: 14th September, 2019
Hashmi, A.S., Hafeez, Y., Jamal, M., Ali, S. and Iqbal, N., 2019. Role of Situational Agile Distributed Model to Support Modern Software Development Teams. Mehran University Research Journal of Engineering and Technology, 38(3), pp.655-666. <http://www.publications.muet.edu.pk/index.php/muetrj/article/download/1136/348>
Matharu, G.S., Mishra, A., Singh, H. and Upadhyay, P., 2015. Empirical study of agile software development methodologies: A comparative analysis. ACM SIGSOFT Software Engineering Notes, 40(1), pp.1-6. <https://mycourses.aalto.fi/pluginfile.php/442685/mod_assign/intro/matharu.pdf>
Øvad, T. and Larsen, L.B., 2015, August. The prevalence of UX design in agile development processes in industry. In 2015 Agile Conference (pp. 40-49). IEEE. <https://www.agilealliance.org/wp-content/uploads/2016/08/The_Prevalence_of_UX_Design_in_Agile_Development_Processes_in_Industry.pdf>
Papadopoulos, G., 2015. Moving from traditional to agile software development methodologies also on large, distributed projects. Procedia-Social and Behavioral Sciences, 175, pp.455-463. <https://www.sciencedirect.com/science/article/pii/S1877042815012835/pdf?md5=66a3ccc769369b1fa82deaed28a69664&pid=1-s2.0-S1877042815012835-main.pdf&_valck=1>
Rigby, D.K., Sutherland, J. and Takeuchi, H., 2016. Embracing agile. Harvard Business Review, 94(5), pp.40-50. <https://systematic.com/media/1649532/Embracing-Agile.pdf>
Schön, E.M., Thomaschewski, J. and Escalona, M.J., 2017. Agile Requirements Engineering: A systematic literature review. Computer Standards & Interfaces, 49, pp.79-91. <https://idus.us.es/xmlui/bitstream/handle/11441/88292/Agile%20Requirements%20Engineering.pdf?sequence=1>
Silva, F.S., Soares, F.S.F., Peres, A.L., de Azevedo, I.M., Vasconcelos, A.P.L., Kamei, F.K. and de Lemos Meira, S.R., 2015. Using CMMI together with agile software development: A systematic review. Information and Software Technology, 58, pp.20-43. <https://romisatriawahono.net/lecture/rm/survey/software%20engineering/Software%20Process%20Improvement/Silva%20-%20CMMI%20and%20Agile%20-%202015.pdf>