Available online at ScienceDirect. Procedia Computer Science 104 (2017 ) ICTE 2016, December 2016, Riga, Latvia

Similar documents
Towards Utilization of Lean Canvas in the DevOps Software

LSP METHODOLOGY GUIDE. LSP Group

ARCHITECTING PROJECT MANAGEMENT for Enterprise Agility. Enable Organization with Agile using Tooling/Technology

Scrum Testing: A Beginner s Guide

Events. Artifacts. Roles. Product Owner Scrum Master Development Team. Sprint Sprint Planning Daily Scrum Sprint Review Sprint Retrospective

Top 5 Reasons Why Agile Fails (and how to avoid them!) March 2017

Improving Agile Execution in the Federal Government

Advantages of Agile model:

1. The Case for Agile 2. The Scrum Process 3. Scaling Scrum

Johanna Rothman Part II Design and Manage an Agile and Lean Project Chapter 5 Start Your Agile Project Right. Copyright 2017

The Business Value of Agile Transformation

Agile Delivery Framework (ADF)

Scrum Test Planning. What goes into a scrum test plan?

Scaling Agile With ZolonTech. Transform your Organization today with Agile Application Development

Managing Projects of Chaotic and Unpredictable Behavior

8 th of April 2015 Bucharest, Romania Vlad Gabriel Sorin Agile PM/Scrum Master

Vendor: GAQM. Exam Code: CSM-001. Exam Name: Certified Scrum Master (CSM) Version: Demo

Kanban kick- start (v2)

Sign up to mailing list Join Slack, teaching team is available. All links are on the course website Slides are uploaded there too

AGILE AND SCRUM IN A SMALL SOFTWARE DEVELOPMENT PROJECT- A CASE STUDY

A Practical Approach to Project Management in a Very Small Company

Software Design COSC 4353/6353 D R. R A J S I N G H

Chapter 3 Agile Software Development. Part 1b

Dissatisfaction with the overheads involved in software design methods of the 1980s and 1990s led to the creation of agile methods.

Leading Practice: Test Strategy and Approach in Agile Projects

Agile Scrum Process Checklist

Processes and Life- Cycles. Kristian Sandahl

Chapter 4 Document Driven Approach for Agile Methodology

Ulf Eriksson

SCRUM - compact The agile software development methodology

Agile Essentials Track: Business Services

Processes and Life- Cycles. Kristian Sandahl

Waterfall Vs. Agile PM

The Proposed L-Scrumban Methodology to Improve the Efficiency of Agile Software Development

/smlcodes /smlcodes /smlcodes. Small Codes. Programming Simplified. A SmlCodes.Com Small presentation. In Association with Idleposts.

AGILE TEST MANAGEMENT WITH VISUAL STUDIO

SEPTEMBER 2018 The Agile Team s Playbook to Doing Agile

Decomposing SAFe. Saturday, April 30th, 2016 at IIT Chicago Always FREE! Registration is OPEN!

Agile Planning. Petri Heiramo. Agile Coach, CST

SDEFT: Scrum Driven Engagement Framework for Testing

Organizational Matters

Importance of Stable Velocity in Agile Maintenance

Introducing Enterprise Scrum for Business Agility: Scale Scrum from Single Teams to Whole Organizations

Mature agile development using HP Quality Center

Agile Tutorial for the Senior Project Class School of Computing and Information Sciences Florida International University

Agile Software Delivery

AGILE Realities. Presenters: Chris Koo (Edward Jones) Blake Moyer (Edward Jones) Joan Romine (Boeing)

Agile Projects 7. Agile Project Management 21

improving It s what we do. TM

CSC301. Scrum, detailed view of an agile process. CSC301, Winter 2016

Ingegneria del Software Corso di Laurea in Informatica per il Management. Scrum. Davide Rossi Dipartimento di Informatica Università di Bologna

4. Agile Methods. Prof. Dr. Dirk Riehle, M.B.A. Friedrich Alexander-University Erlangen-Nürnberg. Version of

Chapter 01 - The Process The Process Application Process ACP Qualifications Scheduling Your Exam Rescheduling/Cancelling Fees

Is Agile Project Management fit for small tech start-ups?

Course Title: Agile for Business Analysts

Procedia - Social and Behavioral Sciences 221 ( 2016 ) SIM 2015 / 13th International Symposium in Management

Feeding the Agile Beast

Course Title: Agile for Business Analysts

Available online at ScienceDirect. Procedia Manufacturing 2 (2015 )

Responsibilities of an Agile Project Manager

Software Engineering Lecture 5 Agile Software Development

Russell Pannone February 10, 2009

Johanna Rothman. Chapter 1 Why Agile and Lean Approaches Work. Copyright 2017

Manage Projects Effectively

SCRUM - LESSONS FROM THE TRENCHES

How to Choose an Enterprise Agile Platform

Role of Agile Methods in Global Software Development

CS 5704: Software Engineering

Learning Objectives. Agile Modeling and. Major Topics. Prototyping. Patched Up Prototype. Agile Modeling, but First. Prototyping

How to Utilize Agile Project Management for GIS Projects. Lana Tylka and Jennifer Prather

Why SCRUM I O A N N I S K O S T A R A S A G I L E C R E T E

Achieving Resiliency with Agile Methods

System Development. Software Project Management Triangle Waterfall Model V-Model Agile Development User Acceptance Test Minimum Viable Product

Measuring Effort and Productivity of Agile Projects

Exam 2012, Lecture Project Management

Quality in software development. Geir Amsjø

Agile Marketing Automation

Agile Testing Without Automation

The Key to Project Success: Reducing Solution Scope

Design Dev COMBINING DESIGN AND DEVELOPMENT MARTIN FASSUNGE & TOBIAS HILDENBRAND SAP AG 5 JULY 2012

Build your Project using Agile Methodology #1 of a Series, by Pavan Kumar Gorakavi, M.S., M.B.A, G.M.C.P, C.A.P.M.

FIT2101 Software Engineering Process and Management

Course Title: Planning and Managing Agile Projects

Improving the Test Process

This document describes the overall software development process of microcontroller software during all phases of the Company Name product life cycle.

Adopting to Agile Software Development

Agile Certified Professional

DELIVER SOLUTION. Predictive versus Adaptive Approaches. Predictive Approach

Lecture 8 Agile Software Development

Software Engineering Prof. Rajib Mall Department of Computer Science and Engineering Indian Institute of Technology, Kharagpur.

The Changing Roles of BAs and QAs in a SCRUM world

ScienceDirect. Platform for Management of Business and Educational Projects

SWE 211 Software Processes

Microsoft Exam Delivering Continuous Value with Visual Studio 2012 Application Lifecycle Management Version: 9.0

Agile Contracts. NK Shrivastava, PMP, RMP, ACP. CEO/Consultant - RefineM. Enhanced Performance. Enduring Results.

Making Visions Actionable. Pejman Makhfi Certified Scrum Master VP of Solution, Savvion Inc. 11/29/2008

Agile and CMMI : Disciplined Agile with Process Optimization

Bridging the Gap Between Governance and Agility. Mario E. Moreira

This document is copyrighted, the distribution of this document is punishable by law.

Experiential Education for Agile Software Engineering

Transcription:

Available online at www.sciencedirect.com ScienceDirect Procedia Computer Science 104 (2017 ) 97 103 ICTE 2016, December 2016, Riga, Latvia Introducing Lean Canvas Model Adaptation in the Scrum Software Testing Padmaraj Nidagundi a,, Leonids Novickis a a Division of Software Engineering, Riga Technical University, Riga, Latvia Abstract Agile software development and software testing brought new ideas and tools in the software development industry. Day to day more and more companies are adopting an agile approach in their software development process. Scrum is a one of the agile software development mythologies. Software is developed in the iterative and incremental way and scrum provides a framework for managing the process. A software tester plays the key team member role in the scrum software development process also software tester faces key changes such as time limit to test planning, changing requirements and testing everything in sprints, changing requirements, regression testing, test automation planning and integration testing. Nowadays scrum software development adopted many tools in the framework of development, software testing as well as test planning. In recent years planning and validation purpose lean canvas are used in business and this research paper is focused on possibilities of finding the lean canvas model adaptation in scrum software testing. 2017 The Authors. Published by Elsevier B.V. This is an open access article under the CC BY-NC-ND license 2016 The Authors. Published by Elsevier B.V. (http://creativecommons.org/licenses/by-nc-nd/4.0/). Peer-review Peer-review under under responsibility responsibility of organizing of organizing committee committee of the of scientific the scientific committee committee of the international of the international conference; conference; ICTE 2016ICTE 2016. Keywords: Agile software testing; Lean canvas for software testing; Scrum software testing; Software validation 1. Introduction With the growth of technology, humans are now more dependent on using software in daily routine life and for business purposes. The growth of the software development industry introduced a lot of frameworks and software tools to make development and testing more efficient. The basic goal of the software development is to provide a high-quality software to the end customer. In software testing, if we do not identify a bug on an early stage, its cost Corresponding author. Tel.: +371-26398508; E-mail address: padmaraj.nidagundi@gmail.com 1877-0509 2017 The Authors. Published by Elsevier B.V. This is an open access article under the CC BY-NC-ND license (http://creativecommons.org/licenses/by-nc-nd/4.0/). Peer-review under responsibility of organizing committee of the scientific committee of the international conference; ICTE 2016 doi:10.1016/j.procs.2017.01.078

98 Padmaraj Nidagundi and Leonids Novickis / Procedia Computer Science 104 ( 2017 ) 97 103 will grow until customer finds that bug in the already developed software. Adopting the appropriate software testing methodology helps to identify and mitigate early stage bugs to improve the overall software quality. In agile changing requirements make software development fast, flexible and improve software delivery speed in another way increase risk of software need to be well tested and error free before delivery to the end customers. Scrum software development framework promises to deliver the software in iterative and incremental way and scrum business owner can decide what he wants in between development process known as a requirements volatility. In such situations scrum provides an empirical approach to understand requirements quickly and move towards providing solutions to them. In scrum framework software tester faces many challenges such as changing requirements, last minute changes, continuous testing, test automation, test coverage problems. This paper is divided into three main sections and sub sections which deal with scrum related research, scrum testing problems in scrum, transaction between lean canvas life cycle to scrum life cycle and principles of finding the scrum waste in test process. 2. Scientific novelty of paper and related research Lean canvas is a white board with several blocks with title names and is used mainly for the evaluation of business ideas. Its one-page light weight that shows the product design to marketing approaches. The core contribution is to find proper lean canvas designing that fits in the scrum software testing. Specifically finding the appropriate lean canvas prototype in scrum for software testing, improving the scrum test planning, simplifying the scrum test strategy, using the lean principles to create lean canvas design for scrum testing and finding the circumstances blocks for the scrum lean canvas design. 2.1. Related research Alexander Osterwalder who worked on business models developed and introduced the business model canvas for the strategic management for business. It s a one-page light weight document with number of named blocks. Lean canvas mode is basically a template to describe the business; nowadays it is very popular in start-up based companies 3. The life cycle of the lean canvas starts with an idea, with idea collection that is needed to build the product and the next step to measure the different metrics once the product is ready. Collected data gives a new insight in the lean planning and a complete loop helps to validate business ideas. Fig. 1. Lean canvas life cycle.

Padmaraj Nidagundi and Leonids Novickis / Procedia Computer Science 104 ( 2017 ) 97 103 99 2.2. Lean canvas basic principles The basic principle used to identify the risk parts of your plan. 1: Creating a document for your plan 2: Identification of waste process or parts of your plan 3: Repetitive test cycles for your plan. There are three sub stages, which help to identify risk. In the first stage risks are identified with problems and solutions. In the second stage risks are identified with product and market fit. In the third stage risks are identified for the scale. 2.3. Lean canvas life cycle and scrum The core principles of lean canvas from Fig. 1, Lean canvas life cycle are Ideas, build, product, measure, data and learn. From all these, we are able to identify and generate lean canvas for the business. Now from formulating the above core lean principles, we able to recognize similar terms in the scrum testing by referring to the Fig. 2, Scrum testing methodology overview: 1: Ideas = Product backlog, sprint backlog 2: Build = Development 3: Product = Testing 4: Measure = Sprint planning meetings 5: Data = Test data, Burndown charts 6: Learn = Retrospective meetings, sprint review. 3. The problem we tackle On the one hand, scrum brings many befits and on the other hand, drawbacks mainly in software testing due to the time limit for each sprint. The tester needs to focus on time management as well as software quality issues. In a scrum, software needs to be well-tested in each sprint that needs to match with the customer expectations 1, 2. Continuously changing requirements can directly affect software testing. The most well-known problem we face in agile scrum software testing is that tester needs to be aligned with changing business requirements 4, 5. In scrum business requirements may get changed according to stakeholder needs, in such situations software tester need to understand the requirements and plan testing and make it error free. In such situation, we need an experienced tester or a tester who knows business domain very well. Inaccurate effort estimates for the software development and testing. Scrum suggests that effort estimation can be done on software development and test item complexity or based on story point. It is hard to assume everything in advance with business cases. Team member is not able to write unit or integration test due to short sprint of timing. Scrum sprint duration is either 2 or 3 weeks, team member develops the software and at the same time needs to write unit and integration test for the developed software features. When application grows or the application itself becomes too complex, then team may not be able to cover and do all kinds of needed tests. Lack of proper test planning for scrum sprints means that each sprint is different either with changing requirements or changing test scope, in such situations test planning becomes more complex and it may directly affect software testing. If a tester is not experienced, then it is difficult for him to make a proper test planning. If a team member leaves the team or takes off for a while software testing gets affected. In a team any team member takes off for an uncertain time then testing will be effected directly until the team finds a proper replacement for testing related tasks.

100 Padmaraj Nidagundi and Leonids Novickis / Procedia Computer Science 104 ( 2017 ) 97 103 It is difficult to make regression tests due to short time if the project itself is complex or it grows overtime. Any software development code base will grow with new features and in some situations software itself is very complex then it is very difficult for the tester to cover regression tests in the current sprint. Software quality may be hard to achieve until the team makes regression test at each sprint. Software quality is very important to make any software error-free, to reach user satisfaction if the team does not plan for regression test or tester not able to do it in each sprint then there is high chance of software bugs are appearing to end users. Least or light weighed test documentation does not capture all testing knowledge for the next phase of software development. Due to the short time of sprint and light weighed test related documentation may cause a problem when the application grows and the team forgets to capture all the needed test related process details for further use. Fig. 2. Scrum testing methodology overview. Our approach: In scrum software development framework identifying software testing related problems and possibilities how we can manage to solve them using lean canvas, introducing the lean canvas adoption in the scrum framework to improve the software testing process and make the test process more effective. 4. Lean canvas life cycle to scrum life cycle transaction As we have seen from the above section, lean canvas life cycle and identifying the metrics fit in the scrum life cycle 2. Lean canvas life cycle validates business now using the similar principles we have new life cycle for the scrum. Fig. 3. Lean canvas life cycle to scrum life cycle.

Padmaraj Nidagundi and Leonids Novickis / Procedia Computer Science 104 ( 2017 ) 97 103 101 5. Scrum development life cycle & scrum methodology team roles Scrum is one of the famous agile software development methodology in recent years, using scrum several many companies successfully increase the development and testing productivity also we scrum failure stories 1, 10 come in light time to time. Fig. 4. Overview of scrum and scrum software development methodology. Scrum methodology team roles: Scrum focus on clearly people role in the process, scrum team normally consist of 3-9 members, these roles sometimes not very strictly followed and it also depends on the business situation 5 : Stakeholder Is a business owner, subject matter experts Product owner Define product features, plan for the release date, backlog prioritization, accept or reject developed backlog, responsible for the product profitability, communicating with stakeholders constantly Scrum master Represents the scrum values, ensure the team productivity, remove obstacles in the team The team Consist of developers, testers & designer and focused on self-organized. 6. Lean principles to finding the scrum waste in test process Scrum is one of the famous agile software development methodologies, using scrum many companies successfully increase the development and testing productivity at the same time, we can come across scrum failure stories 8, 10. In the year 1990 Toyota Production System (TPS) for the first time in Japan introduced and used seven lean principles. In a lean process, its seven core principles drive to remove the waste Muda in the system 5, 9, 10. In early days, lean principals were applied only to the manufacturing system, but in recent years it started to be adopted in the software industry to drive the value for the customer with fewer resources. Now we investigate how we can use seven lean principles in the scrum: Transport Unnecessary development, unnecessary testing and unnecessary time-consuming scrum meetings hours

102 Padmaraj Nidagundi and Leonids Novickis / Procedia Computer Science 104 ( 2017 ) 97 103 Inventory Started developing a code and at the end team is not able to finish it and moved to the next sprint and it is same with testing also Motion Unnecessary or wrong estimation of the task, in such a situation tasks, following very strict guidelines for the process Waiting Team member is waiting for the other team member to do code review, tester needs to wait until the code is fully developed and assigned to a tester and process dependency Overproduction Finishing the task earlier than the estimated time and waiting for another developer also finish his task to continue the next stage of development Over Processing Not writing an appropriate technical document, following very strict scrum rules, following inappropriate scum ideology Defects Quality errors due to the product owner wrong interpretation of requirements to developer and tester team. 6.1. Right test metrics identification for lean canvas board from scrum development environment In the above chapter, we discussed possibilities of finding the waste in the scrum with lean principles. In scrum when we recognize the test metrics, we add them to the lean board. Collected metrics work like an indicator 7. Fig. 5. Prototype for identifying the appropriate test metrics in the scrum development environment for lean canvas. Board using transformation models. As we seen from the above Fig. 5, transformation process takes an input from more than one scrum sources and at the end provides more accurate metrics indicators to the lean canvas board. Also, it is a not the final step and this feedback cycle will continue with each planned sprint to get best optimal indicators for the lean canvas board. 7. Conclusion The study explains the new possible approach to examine the systematically use of the lean canvas model adaptation in the scrum software testing process that directly impact on improving the software quality. In order to continue this research topic, it is needed to conclude successfully the following research activities: to carry out a test to identify lean metrics in the scrum testing process to develop an algorithm that automatically detects lean metrics in scrum to design and develop the best fit lean canvas board for displaying the metrics to do more research about possible development tools and framework to design the lean canvas board that fits in scrum to investigate if there is any more improvement or new model needed for the transformation model prototype.

Padmaraj Nidagundi and Leonids Novickis / Procedia Computer Science 104 ( 2017 ) 97 103 103 New approach shows that in scrum we can use lean canvas model for improving the software testing planning and process. Authors wish is that this paper will generate new ideas for the scrum testing process using the lean canvas. It is a continuous research to find new improved solutions in scum development improving the software testing process using lean canvas. References 1. Chandana Ranasinghe RK, Perera I. Effectiveness of scrum for offshore software development in Sri Lanka. Moratuwa Engineering Research Conference (MERCon); 2015. p. 306-311. 2. Guang-Yong H. Study and practice of import Scrum agile software development. Communication Software and Networks (ICCSN). IEEE 3rd International Conference; 2011. p. 217-220. 3. Ide M, Amagai Y, Aoyama M, Kikushima Y. A Lean Design Methodology for Business Models and Its Application to IoT Business Model Development; 2015. p. 107-111. 4. Khalane T, Tanner M. Software quality assurance in Scrum: The need for concrete guidance on SQA strategies in meeting user expectations. International Conference on Adaptive Science and Technology; 2013. p. 1-6. 5. Kapitsaki G, Christou M. Where is Scrum in the current Agile world?. Evaluation of Novel Approaches to Software Engineering (ENASE). 2014 International Conference; 2014. p. 1-8. 6. Mundra A, Misra S, Dhawale A. Practical Scrum-Scrum Team: Way to Produce Successful and Quality Software. Computational Science and its Applications. ICCSA. 2013 13th International Conference; 2013. p. 119-123. 7. Nidagundi P, Novickis L. Introduction to Lean Canvas Transformation Models and Metrics in Software Testing. Applied Computer Systems; 2016. p. 30-36. 8. Poppendieck M, Cusumano M. Lean Software Development: A Tutorial. IEEE Software; 2012. p. 26-32. 9. Raffo D, Mehta M, Anderson D, Harmon R. Integrating Lean principles with value based software engineering. Picmet technology management for global economic growth; 2010. p. 1-10. 10. Romano B, Delgado da Silva A. Project Management Using the Scrum Agile Method: A Case Study within a Small Enterprise. Information Technology - New Generations (ITNG). 12th International Conference; 2015. p. 774 776. 11. Wang X. The Combination of Agile and Lean in Software Development: An Experience Report Analysis. Agile Conference (AGILE); 2011. p. 1-9. Padmmaraj Nidagundi is a co-owner of the IITMINDS in India and professional certified software test and integration engineer. Now he is also doing Doctoral studies at the Faculty of Computer Science and Information Technology, Institute of Applied Computer Systems, Riga Technical University. Contact information: Division of Software Engineering, Riga Technical University, Riga, Latvia.; phone: +37126398508, E-mail: padmaraj.nidagundi@gmail.com Leonids Novickis is the head of the division of software engineering, Riga technical university, Latvia. He obtained dr. Sc. Ing. Degree in 1980 and dr. Habil. Sc. Ing. Degree in 1990 from the Latvian academy of sciences. His main research fields include applied software system development, business process modelling, elogistics, international cooperation, web-based applications. He is the coordinator of FP7 einterasia project. Contact information: Division of Software Engineering, Riga Technical University, Riga, Latvia.; phone: +371-27891711, E-mail: lnovickis@gmail.com