• <tr id="yyy80"></tr>
  • <sup id="yyy80"></sup>
  • <tfoot id="yyy80"><noscript id="yyy80"></noscript></tfoot>
  • 99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

    Optimal Sprint Length Determination for Agile-Based Software Development

    2021-12-14 06:05:58AdarshAnandJasmineKaurOmpalSinghandOmarAlhazmi
    Computers Materials&Continua 2021年9期

    Adarsh Anand,Jasmine Kaur,Ompal Singh and Omar H.Alhazmi

    1Department of Operational Research,University of Delhi,Delhi,110007,India

    2Department of Computer Science,Taibah University,Medina,30001,Saudi Arabia

    Abstract:A carefully planned software development process helps in maintaining the quality of the software.In today’s scenario the primitive software development models have been replaced by the Agile based models like SCRUM,KANBAN,LEAN,etc.Although,every framework has its own boon,the reason for widespread acceptance of the agile-based approach is its evolutionary nature that permits change in the path of software development.The development process occurs in iterative and incremental cycles called sprints.In SCRUM,which is one of the most widely used agile-based software development modeling framework;the sprint length is fixed throughout the process wherein;it is usually taken to be 1-4 weeks.But in practical application,the sprint length should be altered intuitively as per the requirement.To overcome this limitation,in this paper,a methodical work has been presented that determines the optimal sprint length based on two varied and yet connected attributes;the cost incurred and the work intensity required.The approach defines the number of tasks performed in each sprint along with the corresponding cost incurred in performing those tasks.Multi-attribute utility theory(MAUT),a multi-criterion decision making approach,has been utilized to find the required trade-off between two attributes under consideration.The proposed modeling framework has been validated using real life data set.With the use of the model,the optimal sprint for each sprint could be evaluated which was much shorter than the original length.Thus,the results obtained validate the proposal of a dynamic sprint length that can be determined before the start of each sprint.The structure would help in cost as well as time savings for a firm.

    Keywords:Agile principles;agile-based software development;dynamic sprint length;multi-attribute utility theory;scrum;software development life cycle

    1 Introduction

    Software is no longer restricted to sophisticated scientific activities,nor is it merely recreational or optional but a product of daily use.The Covid-19 pandemic forced the majority of the world into a lockdown.The changing times required us to practice social distancing and minimize physical human interactions.This forced us to adopt technology at a pace for which the world was not yet ready.To meet the gap,we need to come up with sustainable,adaptable,secure,and resilient software.We need to focus more on the quality of the product being created rather than the quantity.In the quest to reach the market early,quality should not be compromised.To ensure quality,one important point to be considered is the product creation process.

    Software life cycle includes everything from its inception to its retirement.The software development life cycle (SDLC) is a systematic procedure for creating,deploying,and maintaining the software.Every piece of software undergoes a certain number of steps throughout its lifecycle:defining the requirements and their detailed analysis,designing the software,building the software,its rigorous testing and maintenance in the operational phase.The Waterfall Model,which was very widely used till a few years ago,lost its place due to its biggest drawback-rigidity.The waterfall approach does not allow scope for change in a particular phase once it is over.The Waterfall Model was designed to create small-scale projects,and it cannot meet the demands of complex systems required today.With changing times and demands,modified versions of the basic SDLC model appeared,and we now have a handful of SDLC models like the V-shaped model,spiral model,iterative and incremental model,agile-based models,prototype model,etc.These models follow the five steps of software development,but the order and implementation of each phase varies from model to model.Different software development projects use different SDLC models according to the project’s size,complexity,development cost,skill limitation,etc.These days,the most prevalent approach for software development is the Agile-based Software Development Life Cycle Model.

    Before going into Agile Software development process details,one needs to understand the term agile and Agile Principles.The word agile means active and lively,and represents something quick and well-coordinated.It is a mindset that helps to deal with uncertainty.Keeping this in mind,the Agile Manifesto was designed in 2001 by 17 people who laid the ground rules of a new technique [1].

    The Agile Manifesto gave higher importance to customer satisfaction,active user involvement,simplicity,welcoming change,working on software,face-to-face conversations,frequent and continuous delivery,working together daily,reflections,and adjustment,among other things.The manifesto did not provide a methodology or a method.Instead,it provided the principles which could make a methodology agile.The Agile Principles can be applied to software development,project management,business management,etc.,and are being used in the construction industry,education sector,marketing and advertising companies,finance-related industries,and event planning,to name a few.

    The agile software development process follows an incremental and iterative approach.The whole project is divided into small incremental builds where each iteration (sprint) adds specific functionality to the previous build.At the end of each sprint,we obtain a working product,which is presented to the user.The user is highly involved in the development process,and their feedback is incorporated in the next iteration.The process is perceived to be very lightweight because of the low amount of documentation work required.The Agile SDLC can overcome the waterfall model’s major shortcomings by being highly flexible,fast,and responsive.

    Like any other technique,Agile SDLC also has a fair number of shortcomings.It requires a team of highly skilled professionals who can handle the dynamic development environment.The user also needs to be very clear about the product they want.Without these,the project can easily overrun the budget,the time,and often result in an unsatisfied customer.

    There are numerous agile-based approaches available but among these,the Scrum development process is widely used for software development.According to the State of Agile Report [2],75% of the 40,000 surveyed agile executives used Scrum or a modified version of it.Scrum is a framework for developing and sustaining complex projects.In 2013,Sutherland et al.[3]wrote the Scrum Guide,which is an industry-standard document defining the Scrum process and its implementation.According to them,“Scrum is a framework within which people can address complex adaptive problems,while productively and creatively delivering products of the highest possible value.Scrum is lightweight,simple to understand and difficult to master.” The word Scrum was picked up from the word scrummage,a rugby formation,to denote the highperforming,cross-functional teams in the scrum process.Scrum has been used to develop software,hardware,embedded software,networks of interacting function,autonomous vehicles,schools,government,marketing,managing the operation of organizations and almost everything we use in our daily lives,as individuals and societies.

    The Scrum defines three groups:product owner,scrum master,and the development team.The members of the development team create the Increment,i.e.,a workable functionality.The Increment may be a small part of the whole product,but it is standalone complete.In the initial sprints,priority is given to those functionalities which are the essence of the product.Here,the 80-20 rule is followed,i.e.,80% of the functionality is contained in 20% of the code and only the most essential features are developed.

    The progress in the Scrum framework can be understood through Fig.1.Each development project has a comprehensive list of requirements called the product backlog.It is a dynamically changing document wherein the requirements of feature enhancements,functions,features,etc.keep changing as the product progresses.The tasks mentioned in the product backlog are arranged in the order of their priority and an achievable target is set for each Sprint.This sprint planning is done through collaboration of the whole scrum team.The sprint backlog is a subset of the product backlog to be catered to in a particular sprint.Sprint backlog plans the delivery of the sprint and the plan to achieve it.It is a highly visible,real-time picture of the work that the development team plans to accomplish during the sprint,and it belongs solely to the development team.

    Sprints contain the sprint planning,daily scrums,the development work,the sprint review,and the sprint retrospective.Each sprint has a defined task and a flexible plan to achieve it.The Scrum requires the sprint length to be fixed,but it usually varies at the start of the project when the right fit is being determined.For a shorter duration project,the sprint length is kept shorter,while for a longer duration project,it is kept around four weeks.As per Scrum guidelines,a sprint must not be shorter than one week or exceed four weeks.It is this attribute around which this present proposal revolves.Here,an attempt has been made to understand the reasons for the above time limits and show that these cannot always be followed under every condition.The sprint duration would depend on the situation.

    The current proposal has been designed as follows.Section 2 discusses the literature review and the research questions addressed in the current proposal.The notations used in the model development have been discussed in Section 3,followed by the detailed mathematical framework in Section 4.To show the applicability of the developed model,an illustration has been discussed in Section 5.Section 6 concludes the work and is followed by a list of references to the articles used in this work.

    2 Literature Review

    In the recent past,the use of Agile practices in software development has attracted the attention of developers and researchers.Reference [4]compared and analyzed the various Agilebased software development techniques.Reference [5]have provided a detailed literature review on the use of Scrum in software development.Reference [6]explored the Agile practices through the Agile wheel reference model (AWRM).Reference [7]identified the challenges in adopting Agile.Reference [8]wrote comprehensive literature on the principles,evolution and criticisms of the Agile development approach.Reference [9]explored the importance of the various principles of Agile methods and their relationships.Reference [10]discussed the implementation of Agile practices in maintenance activities.Reference [11]evaluated the teamwork quality and its impact on the success of an agile-based software development project.Reference [12]identified the important factors which are necessary for successful implementation of lean Six-sigma implementation.Reference [13]combined the best practice of open-source software development (OSSD)and Scrum to create OSCRUM.Reference [14]proposed the S-SDLC model,which uses Agile principles to maximize software security without compromising its quality.Reference [15]identified the shortcomings of Scrum and how it has evolved into Scrumban.They also proposed a new framework,Structured Kanban Iteration (SKI),for DevOps and continuous delivery.

    Figure 1:The scrum framework

    The Agile technique has been very well explained theoretically,but few mathematical models exist to explain its dynamics.Reference [16]proposed a linear optimization model to plan the multiple sprints.Reference [17]conducted an empirical study on the distribution of software metrics in software developed using Agile principles.Reference [18]proposed quantitative measures to assess the quality and reliability of software developed using Agile methods.Reference [19]have discussed using non-homogenous Poisson process (NHPP) based models to determine the reliability of software in an Agile-based environment.Reference [20]discussed a mathematical framework for the fault removal process in the multiple sprints of Agile software.

    It can be observed from the set of aforesaid studies that though much work has been done in the context of Agile development,only a small number of researchers have discussed the optimal sprint length and its determination.The research in the current work has attempted to further improve the Agile method,specifically Scrum,by using mathematical models.The aim and scope of this research have been discussed through the following research questions.

    Research Question 1:Do we really need a fixed Sprint Length?

    The Scrum guidelines [3]require a fixed sprint length throughout the project.The factors taken into consideration are the project duration,the environment provided by the customer or the stakeholders in the project,the work efficiency of the Scrum team,etc.Whatever the optimal length is determined to be,it is considered the same for each sprint.A very valid question that arises here is why is it necessary to have a predetermined sprint length for each sprint? And can different sprints have different sprint lengths?

    The manifesto developers chose the word agile because it represented adaptiveness in response to change,which was important for the process they were defining.Even though the Scrum development process effectively implements the Agile principles,it still maintains rigidity in the sprint length determination.Nevertheless,in practice,not each sprint requires the same number of days.While some tasks may take a longer time,others may not need the predetermined one week or so.On implementation,it was found that not all user stories can be defined so that they meet the definition of done (DOD) in a single sprint.Often extra days or extended working hours were required,i.e.,a buffer period or a buffered sprint was needed to complete a given task.In Scrum,a sprint is a time-boxed event,and tasks are broken down in such a way that they fit into these time frames.However,it seems that we require an alternative approach which is task-bound and the sprint length is determined considering the task.The wasted time,effort,and resources spent waiting for the next sprint to begin or the need to lengthen a sprint should be catered to in the planning process.The agile process is about adaptability and flexibility.We propose that this flexibility should be extended to the sprint,and the duration of each sprint should be dynamic.

    Research Question 2:What are the possible benefits or repercussions of varying the Sprint Length?

    After an extensive search,we concluded that no notable research work has been done regarding sprint length.Hence,we had to rely heavily on the experiences shared on various discussion forums and blogs to support our claim.The opinions of people and their problems with sprint length implementation expressed on the Internet fall into two major classes.The first is those who strictly follow the Scrum guidelines and hence opine that sprints should be time-boxed events that cannot be changed.Further,the current sprint length should never be altered to consider the leftover tasks of a sprint that might require a day or two more to reach a deliverable.Many arguments for the same can be found on Quora and Reddit,which are mostly centered on consistency.A repeatedly changing sprint length brings uncertainty into the work environment.For a big firm,where a resource person is simultaneously working on several projects,different sprint lengths in different projects can be confusing.Another major concern that arises is measuring the velocity of the team in an ever-changing scenario [21].

    Another option is the implementation of a buffer sprint,which allows an extra day or so to complete the sprint goal.The buffer also allows the developers to deal with unexpected tasks that crop up amid a sprint and take precedence over the other tasks.Different firms use different strategies:Some earmark a fixed percentage of their time and resources as a buffer,while others may vary it or deal with it as and when the situation arises.Reference [22]conducted a study to see what changes a company makes while implementing Scrum.According to their conclusion,one of the surveyed companies allowed flexibility in the sprint length for developing a new product but not in the cases of enhancing established products.Most companies did not calculate a buffer in the sprint task but some used a variable or fixed buffer time for various needs like unforeseen works,technological issues,debugging,etc.The work of [15]discussed the issues faced in implementing Scrum and the issue of a fixed sprint length.They also suggest that a fixed sprint length does not always make sense;it can be varied according to the project need.Furthermore,aiming to break down each requirement to fit in a fixed time frame may not always be possible.

    One apparent reason for this conflict of opinions is that one size cannot fit all.Not all firms can implement Scrum according to the guidelines.The nature of the project,the work environment,the team members,etc.all influence the sprint outcome.

    Dynamic sprint length can be implemented by deciding the sprint length in the sprint planning phase,keeping in mind the sprint goals.Since the sprint length will be determined at the start of the iteration itself,there should not be any confusion about the next sprint’s start time.A dynamic sprint length would allow better utilization of the time,manpower,and other project resources.The optimal time allocation for certain tedious tasks would reduce the developers’deadline stress and eventually lead to greater productivity.According to [23],there is a U-shaped relationship between time pressure and productivity,i.e.,too much time pressure from the boss can decrease the employees’output and cause higher user stories being carried over to the next sprint which,in turn,will increase the technical debt.The unexpected bugs and discrepancies can also be easily tracked and tackled.Often,when new teams implement Scrum,there is a remarkable increase in their output.The tasks which were likely to be completed over several sprints are completed in a single sprint.In such cases,when the team has more time than required,productivity can often decrease.Factors such as procrastination,lack of motivation,and the effect demonstrated by Parkinson’s Law [24]come into play.Thus,the tasks which could have been completed earlier take much longer.This has immediate economic repercussions and impacts on the team’s spirit,individual morale,and long-term output.

    Research Question 3:How to determine the Optimal Sprint Length for a particular sprint?

    Organizations new to the Agile development process commonly follow the practice of altering the sprint length till the best fit is found.Moreover,these organizations find the solution either intuitively or by trial and error as they seek the best fit.A decision-making approach that considers different attributes and finds the trade-off for the various attributes mathematically could prove more efficient and less effortful,and cost-and time-effective.The current proposal presents a mathematical model that considers the number of enhancements/tasks to be dealt with in a sprint and the cost incurred in its implementation.We have used MAUT,a multi-criterion decision making (MCDM) technique to determine the optimal sprint length.

    3 Notations

    The notations used in the development of the model are as follows:

    n:The total number of sprints required to complete the project.

    i:A counter variable representing a particular sprint,i=1,2,...,n.

    ki(t):Cumulative number of tasks to be dealt with till timetin theith sprint of software

    zi(t):Probability distribution function

    Zi(t):Cumulative distribution function

    ai:Number of tasks in theith Sprint of software

    Citotal:The total developmental cost incurred for theith Sprint

    ci0:Per unit developmental cost forith Sprint

    ci1:Developmental cost for the user stories inith Sprint’s backlog

    ci2:Developmental cost for the leftover stories ofi-1th Sprint

    ci3:Cost incurred in performing additional tasks in theith Sprint

    cB:Total developmental budget available for the project

    4 Model Development

    In the current modeling framework,the focus is on determining the suitable sprint length.As discussed earlier,the development team actively works and manages its activities to achieve the sprint goal.The teams often have to deal with some tasks that could not be completed in the previous sprint and have to be dealt with now.Moreover,a sprint may include various tasks such as bug repair,feature enhancement,and new feature development.The development team’s job is to incorporate all these tasks and write reliable code.The reliability of the code is tested rigorously.

    The optimal sprint length is determined as follows.In the first section,Section 4.1,we have determined the number of tasks that will be dealt with in a particular sprint.Section 4.2 discusses the costs which would be incurred in completing these tasks.Section 4.3 uses the optimization tool MAUT to determine the optimal sprint length with the help of the framework obtained from Sections 4.1 and 4.2.

    4.1 Modeling the Software Developmental Process

    This section discusses the modeling framework for the software development process through various sprints.Each of the tasks to be performed in the sprint is assigned to one of three categories,namely,the items in the sprint backlog of the particular sprint,the leftover items from the previous sprint (Technical debt) that should be catered to in the current sprint,and the issues which may arise when the increment of the previous sprint becomes operational.The third category would also include the changes necessary in the product after the stakeholders and customers/users give their feedback on the product.These tasks could be refactoring and debugging.The tasks of this category may or may not arise.Depending on the project and the stakeholders,these changes might be demanded in the ongoing sprint or may be deferred to the next sprint.According to [25],54% of the high-level requirements are not met in their planned iteration.The rising technical debt compels the developers to pass on tasks to the next iteration.

    The modeling framework bears a close resemblance to the fault removal phenomena in software reliability.Hence,we have drawn an analogy from the software reliability literature and defined an NHPP-based model that defines the expected number of tasks dealt with till a given time t.It can be mathematically represented using the approach discussed in [19,26]as:

    wherek(t)represents the expected number of tasks performed in a sprint till time t;Arepresents the initial number of tasks which were to be performed throughout the Sprint;Z(t)is the probability distribution function andZ(t)is the cumulative distribution function which defines the pattern in which tasks are performed.Also,Z(t)=∫z(t)dt.

    Here,we can definev(t)asv(t)=which is the instantaneous rate at which tasks are performed.Hence,we get:

    On solving Eq.(2) with initial condition,i.e.,att=0,k(t)=0,we obtain the following unified expression:

    Here,Z(t)can take different functional forms depending on the nature of the data,problem etc.

    For a better visual understanding,a timeline has been shown in the following Fig.2.

    Figure 2:Timeline depicting the subsequent sprints

    Using the generalized structure fork(t)in Eq.(3),the phenomena for the different sprints can be described as follows.

    4.1.1 Modeling Pertaining to Sprint 1

    Sprint 1 is the first iteration,and it occurs between time(t0,t1).All the sprint activities,such as sprint planning,daily scrum,designing,development,and testing occur here.The teams set out with a predefined set of tasks outlined in the sprint backlog.The expected number of tasks that will be completed in the first sprint can be mathematically expressed as:

    where A1=a1+e1.Here,a1represents the new user stories/tasks that were to be done in Sprint 1 and e1denotes any additional task the sprint may have to deal with.Since this is the first sprint,the chances of having to perform additional tasks are low but not ruled out.In the initial sprints,the teams are still figuring out their flow and some unforeseen changes might be required.

    4.1.2 Modeling Pertaining to Sprint 2

    The second sprint(t1,t2)adds on to the software created in the first sprint.Each phase of the SDLC is revisited and with the mutual understanding and joint efforts of the various teams,features are added in the second sprint.Software testing is carried out and any leftover tasks of the previous sprint along with the new features,if any,requested by the user are incorporated here.Any tasks which could not be completed in the first sprint will also be completed here.It can be represented as:

    where A2=a2+A1(1-Z1(t1))+e2represents the total number of tasks being handled in the second sprint.Here,a2represents the tasks already in the sprint backlog,A1(1-Z1(t1))represents the leftover task of the previous sprint,ande2represents some feature additions needing to be done.

    4.1.3 Modeling Pertaining to Sprint 3

    The third sprint(t2,t3)is the third iteration in the development cycle which means the product has begun taking a fairly good shape and evolving toward the desired end product.Feature enhancements are made by developing the user stories in the sprint backlog.The following Eq.(6) models the said phenomena as:

    where A3=a3+A2(1-Z2(t2))+e3.Here,a3represents the new tasks pertaining to sprint 3,A2(1-Z2(t2))represents the tasks that were not completed in Sprint 2 and are being completed in Sprint 3,and e3represents the last-minute changes that need to be made to the software in the third sprint.

    4.1.4 Modeling Pertaining to ith Sprint.

    The ith sprint(ti-1,ti)represents any general sprint.As discussed earlier,any sprint will be dealing with three major categories of tasks.The modeling framework for the ith sprint(ti-1,ti)can be represented as follows:

    whereAi=ai+Ai-1(1-Zi-1(ti-1))+ei.Here,airepresents the first category,i.e.,the new tasks of each sprint.Ai-1(1-Zi-1(ti-1))denotes the leftover tasks or the technical debt from the previous sprints andeidenotes extra tasks and other required changes to be made in theithsprint (which were initially not in the sprint backlog).The changes demanded by the user after reviewing the outcome of the previous sprints may be required to be inculcated in the ongoing sprints or be deferred to the next sprint.As is apparent in Eq.(4),for Sprint 1 the second category of leftover tasks will be equal to zero.

    Using the mathematical structure described here,the cost modeling has been computed in the following section.

    4.2 Cost Modeling for the Sprints

    Each project starts with a fixed budget which is allocated to the various processes.Four types of costs that will be incurred in the developmental process are identified here.The per-unit development cost majorly meets the cost incurred whether or not any progress is made,i.e.,the cost incurred till the time the team is working on the current project.It could also include all the indirect costs incurred on tasks that help improve the team’s output.The second cost is the cost of developing a new user story.It will consume a major portion of the budget.The third cost is the cost incurred on completing the leftover stories of the previous sprint.It will also include the penalty for not meeting the deadline and loss of opportunity.The fourth is the cost that will be incurred on performing additional tasks.It could include the changes that the customer has suggested after reviewing the increment of the previous version,some debugging activity,or some security issue,etc.,which will take precedence over the designated sprint tasks.This cost needs to be defined separately because it is much easier to write an altogether new code than re-visit an old code and debug it.

    Here,we have represented the cost structure for the first three sprints,followed by a generalized representation for theith sprint.

    4.2.1 Cost Structure for Sprint 1

    The cost incurred in the first sprint of the softwareC1totalincludes per unit developmental cost,i.e.,c10t since developmental activities take place till time t(t0≤t≤t1)).The second cost,c11a1Z1(t-t0),is the cost incurred in developing new features specific to Sprint 1.The third cost,c13e1Z1(t-t0),is the cost incurred in incorporating any last-minute change requests.The total cost can be represented as:

    4.2.2 Cost Structure for Sprint 2

    The cost incurred in Sprint 2 C2totalincludes the per-unit development costc20t,the cost due to new feature developmentc21a2Z2(t-t1),the cost due to the leftover tasks of Sprint 1c22A1(1-Z1(t1)Z2(t-t1),and the cost due to additional tasks performed in the sprint,i.e.,c23e2Z2(t-t1).The following equation can represent the total cost:

    4.2.3 Cost Structure for Sprint 3

    The total cost for Sprint 3 can be represented as:

    The cost incurred in the Sprint C3totalis similar to the cost incurred in Sprint 2 and includes the per-unit development costc30t;cost due to enhancements decided to be made to the software in Sprint 3,i.e.,c31a3Z3(t-t2);the heavy cost incurred due to unfulfilled tasks of Sprint 2,i.e.,c32A2(1-Z2(t2))Z3(t-t2)and last,the cost of performing additional tasks which were not in the sprint backlog,i.e.,c33e3Z3(t-t2).

    4.2.4 Cost Structure for ith Sprint

    The cost associated with the ith sprintCitotalwill comprise the following four costs:developmental cost throughout the sprint,i.e.,Ci0t;the cost of developing new user stories in the sprint,i.e.,ci1aiZi(t-ti-1);the cost of dealing with the leftover tasks of the previous sprint,ci2Ai-1(1-Zi-1(ti-1))Zi(t-ti-1);and the cost associated with additional tasks,i.e.,ci3eiZi(tti-1).The following equation represents the total cost incurred in theith sprint:

    and c12=0 for the first sprint.

    4.3 Optimal Sprint Length Determination

    Software engineers not only want the system to be secure,but they also wish to minimize the money,time,and resources spent on the project.There are several existing techniques,algorithms,and theories on how to make a better or the best decision in a given situation.Multi-attribute utility theory (MAUT),one such decision-making technique,relies heavily on the utility theory from the field of economics to quantify the preference or the satisfaction derived from a particular attribute.MAUT provides a trade-off between the desired values of multiple conflicting attributes.Each attribute has its set of constraints and the decision-maker decides how much they are willing to give up or derive from an attribute.

    Major contributions to the field were made by [27-29].Reference [30]used MAUT in the context of product remanufacturing.In the field of software reliability,[31-33]have used MAUT to determine software release time in various situations.The present proposal has used their work as a guideline.

    Methodology for developing the utility function for MAUT follows a four-step decisionmaking process:

    · Selection of attributes

    We were able to identify the scope of the sprint and investment as the most important attribute.For computational purposes,we have interpreted the scope of the sprint as the number of tasks that have to be performed in a sprint.The team’s performance can be measured by the number of tasks performed and the effort required to maximize that number with each successive sprint,i.e.,maximize the team’s work intensity.It is highly desirable,especially in agilebased processes,to maximize the team’s output and achieve the team’s maximum potential.If the work intensity is low,the teams will most likely not achieve the sprint goal and will produce compromised software in terms of quality and security [34].

    Given k(t),we can define the objective function for work intensity,λ(t),as:

    The second attribute is the cost incurred in performing the number of tasks in a sprint which we wish to minimize.If the project cost overruns,it can lead to a financial loss for the firm,opportunity loss,and bad word-of-mouth publicity.If an affordable product is developed,the cost to the end-user would also be modest and it will attract a larger number of buyers.Hence,the objective for theith sprint under MAUT is:

    · Selection of attribute bounds

    The decision-maker should choose the bounds of the attributes.The best and the worst performance in an individual attribute is denoted by the upper and lower bounds,respectively.All the possible outcomes for an attribute lie between these bounds.The best and worst values of work intensity are denoted byu(λ+)andu(λ-),and these take the values 0 and 1 as their boundary points,denoting that either no tasks are completed,or all the tasks are completed.Similarly,for the cost,at the boundary points,we haveu(C+)=1 andu(C-)=0,i.e.,total consumption of budget and no budget consumption,respectively.

    · Estimation of weight parameters

    The weights associated with work intensity and budget have been taken asωλandωc.Let(λ+,C+)and(λ-,C-)denote the best and worst possible consequence,respectively.The joint outcome (λ+,C-) comprises two attributesλand C at the best and worst levels with probabilitypand(1-p),respectively.Here,the weight ofλequalsp,i.e.,indifference probability between them [32].At indifference,p is equal to the weight parameterωcfor cost.Since the sum of weight must be equal to one,hence the other weightωλcan be obtained.

    · Structure of MAUF (Multi-Attribute Utility Function)

    Based on the Single-Attribute Utility Function (SAUF),the scaling constants for each attribute in the MAUF in additive linear form can be given as:

    whereωλ+ωc=1.

    SAUF of the work intensity and cost areu(λ)andu(C),respectively.Here,SAUF for one attribute is of maximization type and another has minimization type.Therefore,to orchestrate both utilities we must convert the SAUF for cost into a maximizing function by multiplying it with a negative sign.Now,by maximizing theU(λ,C),we can obtain the optimal length of a sprint.Hence,our final optimization problem is:

    whereωλ+ωc=1.

    5 Model Validation

    The proposed model can be validated on any dataset that contains a detailed description of the project development process.The project requirements can be broken down into epics and user stories to create the product backlog.Project planning would lead to prioritizing these tasks and planning the sprints,sprint goal,and sprint backlog.The initial values of the parameters thus obtained can be used to evaluate the model using the non-linear least square method.The lack of access to such privy details of any project forces us to perform our model validation on secondary data.

    For this,let us consider a special case wherein the set of activities in a sprint is related to the debugging process of,for example,a project on software maintenance.The dataset given by [20],which contains a description of 287 faults that were debugged in 7 sprints,has been used in this study.The length of each sprint was fixed at four weeks.The structure of the problem defined in section 4 remains the same.The interpretation changes slightly as theainow corresponds to the task of debugging in theith sprint.The previous sprint’s leftover tasks now refer to the faults that could not be perfectly removed in the earlier sprint and must be dealt with in the next one.The current project does not consider additional tasks hence,ei=0?i.

    Considering the nature of the data used here,we have assumed that the rate of performing the tasks is logistical [26].Hence,taking

    The Statistical Analytical Systems (SAS) software [35]was used to estimate the parameter values of the equations set out in Section 4.1 and the values obtained for each sprint are shown in the following Tab.1.

    Table 1:Parameter estimates

    Tab.2 shows the assumed cost parameters used to evaluate each sprint’s total cost as discussed in Section 4.2.

    Table 2:Assumed values for Cost Parameters (1 unit=$1000)

    Using the estimated values of the parameters (Tab.1) and assumed values of cost (Tab.2),we have evaluated the optimization problem (Eq.15) defined in Section 4.3.

    For our example,we have taken the least value of the work intensity (which is failure intensity) to be 60% and maximum to be 100%.For the cost attribute,we want the least consumption to be 70% and the maximum consumption to be 100%.Further,we have assigned equal weight to both the attributes,i.e.,0.5.

    Tab.3 shows the optimal sprint length and the utility value achieved by taking both the cost and work intensity as attributes.

    Table 3:Utility values and optimal sprint length

    The utility curves obtained after the application of MAUT are as shown in Figs.3-9.

    Figure 3:Utility curve for sprint 1

    As can be seen in Fig.4,the maximum utility that can be achieved is 0.71 for Sprint 1 at time point 14.This indicates that having a sprint length greater than this would lead to a reduced utility level due to the attributes.In Sprint 2,the utility curve reached its maximum value of 0.54 at the 20th time point.Hence,the ideal sprint length in such a situation would be 20 days.Similarly,in Sprint 3,the maximum utility that could be achieved was 0.63 at time point 21.For Sprints 4-6,the utility curve attained its peak at the 10th time point with a maximum utility level of 0.54,0.64,and 0.65,respectively.Hence,the ideal sprint length for these three sprints should be 10 days instead of the originally considered 30 days.In Sprint 7,the maximum utility level of 0.65 was attained at the 12th time point.

    Figure 4:Utility curve for sprint 2

    Figure 5:Utility curve for sprint 3

    Figure 6:Utility curve for sprint 4

    Figure 7:Utility curve for sprint 5

    Figure 8:Utility curve for sprint 6

    Figure 9:Utility curve for sprint 7

    The results show especially clearly when the two attributes,work intensity (failure intensity)and cost,are considered simultaneously.Then the optimal sprint length is around or less than 20 days.According to the current cycle,30 days are being spent on a single sprint.Thus,for the resources to be used optimally,the sprint length cannot be fixed.It would be better to mathematically determine the length of each sprint beforehand based on the tasks to be handled in each sprint and the availability of resources.An alternative to the commonly used fixed sprint length approach is proposed here.It provides a mathematical basis to treat a sprint as a task-based event instead of a time-bound event.

    6 Conclusion

    Currently,Agile-based models are the most prevalent technology for software development.Scrum,an Agile-based model,develops the software through successive iterations known as sprints.The sprint length is generally taken to be 1-4 weeks and is predetermined by the firm.The main aim is to complete every task in the sprint within the allotted time.If the sprint needs more time to complete,the leftover tasks are deferred to the next sprint.Often,the tasks allocated for a sprint take up less or more time than the fixed sprint length.Therefore,it is proposed that the sprint length should be based on the tasks to be performed in it.The length could be different from sprint to sprint.This would help to do away with the uncertainties caused by buffer sprints.It is further proposed that the length be determined mathematically before undertaking each sprint instead of being fixed at the beginning of the project.A mathematical framework has been discussed here to determine the optimal sprint length for each sprint within the available budget and at the required work intensity.The results obtained here satisfactorily support the claimed advantage of having dynamic sprint length.According to the case discussed here,the determined sprint lengths were much shorter than the fixed lengths and there was considerable time-saving in each sprint.In future work,if the appropriate data is available,the application of the proposed method can be fully demonstrated.It is also proposed to explore how the dynamic sprint length can be determined in a distributed environment.

    Funding Statement:The authors received no specific funding for this study.

    Conflicts of Interest:The authors declare that they have no conflicts of interest to report regarding the present study.

    久久精品aⅴ一区二区三区四区 | 只有这里有精品99| 看免费成人av毛片| 99久久精品国产国产毛片| 一区二区三区四区激情视频| 午夜激情久久久久久久| av免费观看日本| 天天操日日干夜夜撸| 精品一区二区三区视频在线| 午夜激情久久久久久久| 香蕉国产在线看| 久久久久久久久久人人人人人人| 人人妻人人爽人人添夜夜欢视频| 午夜视频国产福利| 美女中出高潮动态图| 日日啪夜夜爽| 日韩制服丝袜自拍偷拍| 各种免费的搞黄视频| 日韩人妻精品一区2区三区| 欧美日本中文国产一区发布| 男女午夜视频在线观看 | 亚洲av电影在线进入| 在线天堂中文资源库| 深夜精品福利| 老女人水多毛片| 国产精品久久久久久精品电影小说| 免费大片18禁| 这个男人来自地球电影免费观看 | 国产1区2区3区精品| 国国产精品蜜臀av免费| 国产欧美另类精品又又久久亚洲欧美| 成年美女黄网站色视频大全免费| 亚洲欧美日韩另类电影网站| 黑人欧美特级aaaaaa片| 久久人妻熟女aⅴ| 久久精品熟女亚洲av麻豆精品| 水蜜桃什么品种好| 热99国产精品久久久久久7| 国产精品熟女久久久久浪| 丰满少妇做爰视频| 国产一区二区三区av在线| 女性生殖器流出的白浆| 久久婷婷青草| 婷婷色av中文字幕| 国产精品一区www在线观看| 美国免费a级毛片| 国产在视频线精品| 人妻人人澡人人爽人人| 啦啦啦视频在线资源免费观看| 男的添女的下面高潮视频| 日韩欧美一区视频在线观看| 国产在视频线精品| 啦啦啦中文免费视频观看日本| 欧美日韩视频高清一区二区三区二| 多毛熟女@视频| 日日撸夜夜添| 午夜av观看不卡| 国产色爽女视频免费观看| 日本欧美国产在线视频| 亚洲国产精品一区三区| 国产精品国产三级专区第一集| 丝袜人妻中文字幕| 男女边摸边吃奶| 18在线观看网站| 国产极品天堂在线| 精品一区二区三卡| 最后的刺客免费高清国语| 9191精品国产免费久久| 亚洲三级黄色毛片| 国产精品蜜桃在线观看| 成人无遮挡网站| 午夜激情久久久久久久| 日本vs欧美在线观看视频| 国产黄色免费在线视频| 国产白丝娇喘喷水9色精品| av黄色大香蕉| 欧美成人午夜精品| 丰满少妇做爰视频| 国产国拍精品亚洲av在线观看| 亚洲精品自拍成人| 亚洲av国产av综合av卡| 五月天丁香电影| 国产精品一区二区在线不卡| 亚洲av男天堂| 成年美女黄网站色视频大全免费| 赤兔流量卡办理| 久久久久久人妻| 侵犯人妻中文字幕一二三四区| 精品久久久精品久久久| 久久久精品94久久精品| 亚洲综合色网址| 只有这里有精品99| 22中文网久久字幕| 国产精品一区二区在线观看99| 人妻一区二区av| 亚洲精品国产av成人精品| 国产成人精品婷婷| 日韩伦理黄色片| 看非洲黑人一级黄片| 亚洲av日韩在线播放| 九草在线视频观看| 色5月婷婷丁香| 中文字幕制服av| 欧美日韩亚洲高清精品| 午夜激情av网站| 黄色视频在线播放观看不卡| 日日爽夜夜爽网站| 亚洲 欧美一区二区三区| 黄色毛片三级朝国网站| 日日摸夜夜添夜夜爱| 久久精品久久精品一区二区三区| av在线老鸭窝| 国产精品久久久久久av不卡| 少妇人妻 视频| 亚洲精品日韩在线中文字幕| 国产精品不卡视频一区二区| kizo精华| 国产成人一区二区在线| 国产精品人妻久久久久久| 99re6热这里在线精品视频| 免费在线观看完整版高清| 巨乳人妻的诱惑在线观看| 乱人伦中国视频| 免费黄频网站在线观看国产| 国产精品麻豆人妻色哟哟久久| 久久精品国产鲁丝片午夜精品| 自线自在国产av| 美女福利国产在线| 99热网站在线观看| 成人毛片a级毛片在线播放| 午夜免费男女啪啪视频观看| 欧美成人午夜免费资源| 久久久久久久大尺度免费视频| 精品久久蜜臀av无| 亚洲熟女精品中文字幕| 免费观看av网站的网址| 最近中文字幕2019免费版| 少妇被粗大的猛进出69影院 | 下体分泌物呈黄色| 综合色丁香网| 免费不卡的大黄色大毛片视频在线观看| 成人毛片a级毛片在线播放| 婷婷色综合大香蕉| 亚洲成人av在线免费| 日本欧美视频一区| 国产精品久久久久久精品电影小说| 国产一区亚洲一区在线观看| 波野结衣二区三区在线| 女人被躁到高潮嗷嗷叫费观| xxxhd国产人妻xxx| 十分钟在线观看高清视频www| 精品国产一区二区久久| 日韩中文字幕视频在线看片| 久久久久久久久久久久大奶| 国产精品偷伦视频观看了| 母亲3免费完整高清在线观看 | 国产精品久久久久久久久免| 午夜激情av网站| 午夜精品国产一区二区电影| 成年av动漫网址| 巨乳人妻的诱惑在线观看| 又黄又爽又刺激的免费视频.| 丝袜脚勾引网站| 免费大片18禁| 在线观看三级黄色| 日韩伦理黄色片| 国产精品 国内视频| 成年人免费黄色播放视频| 亚洲少妇的诱惑av| 国产日韩欧美视频二区| 2018国产大陆天天弄谢| 精品国产一区二区久久| 永久免费av网站大全| 欧美日本中文国产一区发布| 男女无遮挡免费网站观看| 女人被躁到高潮嗷嗷叫费观| 男人爽女人下面视频在线观看| 国产视频首页在线观看| 波多野结衣一区麻豆| 亚洲中文av在线| 亚洲丝袜综合中文字幕| 久久久久久人人人人人| 人妻少妇偷人精品九色| 卡戴珊不雅视频在线播放| 欧美日韩精品成人综合77777| 中文字幕另类日韩欧美亚洲嫩草| 考比视频在线观看| 少妇精品久久久久久久| 国产日韩欧美视频二区| 99久久精品国产国产毛片| 久久久久久久精品精品| 日本猛色少妇xxxxx猛交久久| 久久免费观看电影| 亚洲成人av在线免费| 岛国毛片在线播放| 欧美老熟妇乱子伦牲交| 国产日韩欧美在线精品| 亚洲国产欧美日韩在线播放| a级毛片黄视频| 99久久综合免费| 国产高清国产精品国产三级| 日韩中字成人| 亚洲三级黄色毛片| 国产精品久久久久久久久免| 欧美成人精品欧美一级黄| 欧美精品亚洲一区二区| 午夜免费鲁丝| 女人精品久久久久毛片| 人成视频在线观看免费观看| 人人妻人人爽人人添夜夜欢视频| 日韩视频在线欧美| 99re6热这里在线精品视频| 宅男免费午夜| 高清毛片免费看| 国产精品国产三级国产专区5o| 999精品在线视频| 熟女人妻精品中文字幕| 黑人欧美特级aaaaaa片| 国产一区二区在线观看av| 寂寞人妻少妇视频99o| 国产永久视频网站| 一区二区三区精品91| 伦理电影大哥的女人| 国产毛片在线视频| 欧美老熟妇乱子伦牲交| 日韩电影二区| 亚洲精品aⅴ在线观看| 99热国产这里只有精品6| 国产精品欧美亚洲77777| 狂野欧美激情性xxxx在线观看| 免费日韩欧美在线观看| 日本欧美视频一区| 亚洲在久久综合| 日本午夜av视频| 久久综合国产亚洲精品| 少妇人妻精品综合一区二区| 成人综合一区亚洲| 制服丝袜香蕉在线| 久久精品国产自在天天线| 亚洲精品乱久久久久久| 亚洲av电影在线观看一区二区三区| 九色亚洲精品在线播放| 国产又色又爽无遮挡免| 寂寞人妻少妇视频99o| 欧美人与性动交α欧美精品济南到 | 国产精品蜜桃在线观看| 亚洲av电影在线观看一区二区三区| 丰满乱子伦码专区| 卡戴珊不雅视频在线播放| 久久久久国产精品人妻一区二区| 天天影视国产精品| 国产精品久久久久久久电影| 极品人妻少妇av视频| 日韩大片免费观看网站| 国产高清国产精品国产三级| av女优亚洲男人天堂| 亚洲国产欧美日韩在线播放| 亚洲少妇的诱惑av| 亚洲丝袜综合中文字幕| 在线天堂最新版资源| 国产国语露脸激情在线看| 国产亚洲欧美精品永久| 好男人视频免费观看在线| a级毛色黄片| 国产精品人妻久久久久久| 中文字幕人妻丝袜制服| 亚洲国产精品专区欧美| 好男人视频免费观看在线| av黄色大香蕉| 久久久国产精品麻豆| 男女边摸边吃奶| 国产一区二区在线观看日韩| 五月玫瑰六月丁香| 欧美国产精品一级二级三级| 一本久久精品| 一级黄片播放器| 久久久a久久爽久久v久久| 国产白丝娇喘喷水9色精品| 亚洲av中文av极速乱| 日本色播在线视频| 色婷婷av一区二区三区视频| 自拍欧美九色日韩亚洲蝌蚪91| 午夜久久久在线观看| 五月玫瑰六月丁香| 国产av国产精品国产| 国产亚洲一区二区精品| 成人午夜精彩视频在线观看| 男的添女的下面高潮视频| 中文精品一卡2卡3卡4更新| 午夜福利影视在线免费观看| 如何舔出高潮| www.av在线官网国产| 日本av免费视频播放| 国产精品一区二区在线不卡| 在线观看www视频免费| tube8黄色片| 不卡视频在线观看欧美| 天天躁夜夜躁狠狠久久av| 桃花免费在线播放| 在线观看免费高清a一片| 亚洲精品中文字幕在线视频| 亚洲精华国产精华液的使用体验| 亚洲精品自拍成人| 激情五月婷婷亚洲| 免费黄色在线免费观看| 另类亚洲欧美激情| 日韩av不卡免费在线播放| 色哟哟·www| 91在线精品国自产拍蜜月| 侵犯人妻中文字幕一二三四区| 国产一区有黄有色的免费视频| 成人免费观看视频高清| 亚洲一区二区三区欧美精品| 中文精品一卡2卡3卡4更新| 国产在视频线精品| 又黄又爽又刺激的免费视频.| 99国产综合亚洲精品| 桃花免费在线播放| 亚洲欧美清纯卡通| 精品亚洲成国产av| 不卡视频在线观看欧美| 欧美日韩成人在线一区二区| 久久人人爽人人爽人人片va| 性色avwww在线观看| 精品99又大又爽又粗少妇毛片| 黄色配什么色好看| 最新中文字幕久久久久| 毛片一级片免费看久久久久| 韩国精品一区二区三区 | 欧美亚洲 丝袜 人妻 在线| 亚洲av电影在线观看一区二区三区| 热re99久久精品国产66热6| 精品国产一区二区三区四区第35| 大陆偷拍与自拍| 欧美bdsm另类| av在线播放精品| 妹子高潮喷水视频| 尾随美女入室| 亚洲av国产av综合av卡| 丰满乱子伦码专区| 亚洲人与动物交配视频| 国产精品人妻久久久久久| 欧美亚洲 丝袜 人妻 在线| 成人漫画全彩无遮挡| 欧美亚洲日本最大视频资源| 考比视频在线观看| 亚洲精品aⅴ在线观看| 亚洲精品色激情综合| 又黄又粗又硬又大视频| 乱人伦中国视频| 国产熟女欧美一区二区| 亚洲精品乱久久久久久| 热99国产精品久久久久久7| 久久狼人影院| 久久99一区二区三区| 欧美少妇被猛烈插入视频| 麻豆乱淫一区二区| 免费在线观看完整版高清| 亚洲av中文av极速乱| 夫妻午夜视频| 国产成人aa在线观看| 精品视频人人做人人爽| 成人影院久久| 在线观看www视频免费| 国产av一区二区精品久久| 大香蕉久久成人网| 一区二区三区四区激情视频| 三上悠亚av全集在线观看| 少妇高潮的动态图| 女人精品久久久久毛片| 久久久久网色| 赤兔流量卡办理| 制服诱惑二区| 国产免费视频播放在线视频| 亚洲图色成人| 在线天堂最新版资源| 日日撸夜夜添| 咕卡用的链子| 国产亚洲精品第一综合不卡 | 激情五月婷婷亚洲| 久久精品久久久久久久性| 日韩,欧美,国产一区二区三区| 哪个播放器可以免费观看大片| 亚洲精品av麻豆狂野| 亚洲国产精品国产精品| 满18在线观看网站| 又粗又硬又长又爽又黄的视频| 老司机亚洲免费影院| 精品视频人人做人人爽| 日韩av在线免费看完整版不卡| av一本久久久久| 香蕉精品网在线| 日韩熟女老妇一区二区性免费视频| 久久久久久久久久久久大奶| 91久久精品国产一区二区三区| 亚洲欧美一区二区三区国产| kizo精华| 国产欧美日韩综合在线一区二区| 久久精品国产综合久久久 | 母亲3免费完整高清在线观看 | 插逼视频在线观看| 少妇的丰满在线观看| 好男人视频免费观看在线| 精品亚洲乱码少妇综合久久| av.在线天堂| 亚洲内射少妇av| 欧美精品亚洲一区二区| 久久鲁丝午夜福利片| 大香蕉久久成人网| 人人妻人人添人人爽欧美一区卜| 狠狠精品人妻久久久久久综合| 色网站视频免费| 亚洲av福利一区| 黄色视频在线播放观看不卡| 久久毛片免费看一区二区三区| 亚洲精品乱码久久久久久按摩| 在线观看美女被高潮喷水网站| 中文字幕制服av| 国产精品久久久久久久电影| 亚洲成国产人片在线观看| 热99国产精品久久久久久7| 熟女av电影| 亚洲美女黄色视频免费看| 丝袜美足系列| h视频一区二区三区| 久久99蜜桃精品久久| 9191精品国产免费久久| 天天躁夜夜躁狠狠躁躁| 国产成人精品久久久久久| 狂野欧美激情性xxxx在线观看| 女人被躁到高潮嗷嗷叫费观| 人体艺术视频欧美日本| 丰满乱子伦码专区| 久久99热6这里只有精品| 18+在线观看网站| 少妇被粗大猛烈的视频| 毛片一级片免费看久久久久| 一级爰片在线观看| 日韩av在线免费看完整版不卡| 少妇猛男粗大的猛烈进出视频| 午夜影院在线不卡| 亚洲精品自拍成人| 毛片一级片免费看久久久久| 久久国产精品男人的天堂亚洲 | 9色porny在线观看| 免费少妇av软件| 精品人妻熟女毛片av久久网站| 亚洲av日韩在线播放| 桃花免费在线播放| 中文字幕av电影在线播放| 51国产日韩欧美| 伊人久久国产一区二区| 成人亚洲欧美一区二区av| 亚洲熟女精品中文字幕| 桃花免费在线播放| 久久99热这里只频精品6学生| 成人毛片a级毛片在线播放| 超色免费av| 国产免费视频播放在线视频| 午夜影院在线不卡| 成人手机av| 咕卡用的链子| 国产av一区二区精品久久| 又大又黄又爽视频免费| 9热在线视频观看99| 欧美激情极品国产一区二区三区 | 性色av一级| 亚洲第一区二区三区不卡| 久久国产亚洲av麻豆专区| 美女中出高潮动态图| 最新中文字幕久久久久| 亚洲欧美日韩另类电影网站| 久久久久久久久久成人| 亚洲伊人久久精品综合| 国产精品嫩草影院av在线观看| 亚洲人成网站在线观看播放| 2022亚洲国产成人精品| 视频中文字幕在线观看| 国产深夜福利视频在线观看| 满18在线观看网站| 丰满迷人的少妇在线观看| 国产欧美日韩一区二区三区在线| 精品国产一区二区三区久久久樱花| 久久久国产一区二区| 啦啦啦啦在线视频资源| 国产精品一区二区在线观看99| 亚洲精品色激情综合| 国产日韩欧美视频二区| 夫妻性生交免费视频一级片| 2018国产大陆天天弄谢| 蜜桃国产av成人99| 日本免费在线观看一区| 国产精品一区二区在线不卡| 乱人伦中国视频| 亚洲激情五月婷婷啪啪| 国产av国产精品国产| 男女午夜视频在线观看 | 高清不卡的av网站| 欧美精品高潮呻吟av久久| 免费人妻精品一区二区三区视频| 好男人视频免费观看在线| 久久久精品免费免费高清| 男人操女人黄网站| 国产精品嫩草影院av在线观看| 亚洲国产看品久久| 久久99蜜桃精品久久| 婷婷色综合www| 色94色欧美一区二区| √禁漫天堂资源中文www| 晚上一个人看的免费电影| 男女边摸边吃奶| 国产精品久久久久久精品电影小说| 欧美日本中文国产一区发布| 搡老乐熟女国产| 国产淫语在线视频| 午夜激情久久久久久久| 亚洲第一av免费看| 久久久亚洲精品成人影院| 9热在线视频观看99| videosex国产| 国产亚洲最大av| 99久久人妻综合| 国产熟女午夜一区二区三区| 欧美日韩av久久| 久久人妻熟女aⅴ| 国产av国产精品国产| 久久av网站| 精品一区在线观看国产| 一级爰片在线观看| 人人妻人人澡人人看| 蜜桃国产av成人99| 亚洲av欧美aⅴ国产| 亚洲成人手机| 久久亚洲国产成人精品v| 国产一区亚洲一区在线观看| 晚上一个人看的免费电影| 人成视频在线观看免费观看| 国产1区2区3区精品| 日韩在线高清观看一区二区三区| 中国三级夫妇交换| 欧美日韩亚洲高清精品| 亚洲精品日韩在线中文字幕| 又黄又粗又硬又大视频| 欧美激情极品国产一区二区三区 | 婷婷色av中文字幕| 午夜福利网站1000一区二区三区| 日日摸夜夜添夜夜爱| 18禁国产床啪视频网站| 777米奇影视久久| 国产乱人偷精品视频| 日本av免费视频播放| 亚洲国产色片| 熟女电影av网| 看免费av毛片| 考比视频在线观看| av又黄又爽大尺度在线免费看| 中文字幕亚洲精品专区| freevideosex欧美| 精品一区二区三区视频在线| 免费看光身美女| 国产男女内射视频| 久久精品国产a三级三级三级| 18在线观看网站| 免费日韩欧美在线观看| 亚洲成色77777| 久久精品久久精品一区二区三区| 秋霞伦理黄片| 免费不卡的大黄色大毛片视频在线观看| 国产精品蜜桃在线观看| 国产精品国产三级专区第一集| 男人爽女人下面视频在线观看| 精品国产一区二区三区久久久樱花| 免费观看性生交大片5| 国产午夜精品一二区理论片| 亚洲av福利一区| 久久精品aⅴ一区二区三区四区 | 捣出白浆h1v1| 校园人妻丝袜中文字幕| 久久久欧美国产精品| 欧美精品国产亚洲| 新久久久久国产一级毛片| 国产国语露脸激情在线看| 欧美亚洲日本最大视频资源| 午夜日本视频在线| 亚洲四区av| 久久人妻熟女aⅴ| 咕卡用的链子| 国产成人精品在线电影| 啦啦啦中文免费视频观看日本| 97超碰精品成人国产| 欧美少妇被猛烈插入视频| 成人综合一区亚洲| 亚洲成国产人片在线观看| 亚洲av在线观看美女高潮| 久久精品久久久久久噜噜老黄| 另类精品久久| 亚洲一区二区三区欧美精品| 午夜激情av网站| 最近最新中文字幕大全免费视频 | 人人妻人人添人人爽欧美一区卜| 亚洲精品一二三| 国产高清国产精品国产三级| 80岁老熟妇乱子伦牲交| 国产激情久久老熟女| 成年动漫av网址| 亚洲内射少妇av| 在线观看免费视频网站a站| 五月玫瑰六月丁香| 亚洲第一av免费看| 自拍欧美九色日韩亚洲蝌蚪91| 又黄又爽又刺激的免费视频.| av片东京热男人的天堂| 91成人精品电影| 18禁裸乳无遮挡动漫免费视频| 亚洲av在线观看美女高潮|