Advertisement

Optimized Feature Distribution in Distributed Agile Environments

  • Ákos Szőke
Part of the Lecture Notes in Computer Science book series (LNCS, volume 6156)

Abstract

In recent years, agile software development methods have gained increasing popularity. Distributed software development have been becoming a common business reality also. Software development organizations are striving to blend agile development methods like Scrum and distributed development to reap the benefits of both. However, agile and distributed development approaches differ significantly in their key tenets. While agile methods mainly rely on informal processes to facilitate coordination, distributed development typically relies on formal mechanisms. This paper aims at implementing modular design of software products to identify feature clusters that can be implemented co-located to minimize the communication needs between distributed teams. Presented method is evaluated with simulations that demonstrate how this method can produce 1) lower-risk feasible plans, 2) balanced workload on teams, and 3) provide higher quality feature distributions. Finally, the paper analyzes benefits and issues from the use of this method.

Keywords

distributed software development agile release planning 

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    VersionOne: 4rd annual survey: 2009, the state of agile development (2009), http://www.versionone.com
  2. 2.
    Manifesto for agile software development, http://www.agilemanifesto.org
  3. 3.
    Dybå, T., Dingsøyr, T.: Empirical studies of agile software development: A systematic review. Inf. & Softw. Techn. 50, 833–859 (2008)CrossRefGoogle Scholar
  4. 4.
    Ambler, S.W.: Survey says: Agile works in practice. Dr. Dobb’s Journal (2006), http://www.ddj.com
  5. 5.
    Layman, L., Williams, L., Cunningham, L.: Motivations and measurements in an agile case study. J. of Sys. Arch. 52, 654–667 (2006)CrossRefGoogle Scholar
  6. 6.
    Schwaber, K., Beedle, M.: Agile Software Development with Scrum. Prentice Hall PTR, Englewood Cliffs (2001)Google Scholar
  7. 7.
    Beck, K., Andres, C.: Extreme Programming Explained: Embrace Change, 2nd edn. Addison-Wesley Professional, Reading (2004)Google Scholar
  8. 8.
    Heeks, R., Krishna, S., Nicholsen, B., Sahay, S.: Synching or sinking: global software outsourcing relationships. IEEE Software 18, 54–60 (2001)CrossRefGoogle Scholar
  9. 9.
    Sutherland, J., Schwaber, K.: The scrum papers: Nuts, bolts, and origins of an agile process. PatientKeeper (2007)Google Scholar
  10. 10.
    Layman, L., et al.: Essential communication practices for extreme programming in a global software development team. Inf. & Softw. Techn. 48, 781–794 (2006)CrossRefGoogle Scholar
  11. 11.
    Marchenko, A., Abrahamsson, P.: Scrum in a multiproject environment: An ethnographically-inspired case study on the adoption challenges. In: Proc. of the AGILE 2008, pp. 15–26. IEEE Press, Los Alamitos (2008)CrossRefGoogle Scholar
  12. 12.
    Ramesh, B., Cao, L., Mohan, K., Xu, P.: Can distributed software development be agile? ACM Comm. 49, 41–46 (2006)CrossRefGoogle Scholar
  13. 13.
    Herbsleb, J., Mockus, A.: An empirical study of speed and communication in globally distributed software development. IEEE Trans. on Soft. Eng. 29, 481–494 (2003)CrossRefGoogle Scholar
  14. 14.
    Miller, A.: Distributed agile development at microsoft patterns & practices (2008), http://www.microsoft.com
  15. 15.
    Mockus, A., Weiss, D.M.: Globalization by chunking: A quantitative approach. IEEE Software 18, 30–37 (2001)CrossRefGoogle Scholar
  16. 16.
    Repenning, A., Ioannidou, A., Payton, M., Ye, W., Roschelle, J.: Using components for rapid distributed software development. IEEE Software 18, 38–45 (2001)CrossRefGoogle Scholar
  17. 17.
    Ebert, C., Neve, P.D.: Surviving global software development. IEEE Software 18, 62–69 (2001)CrossRefGoogle Scholar
  18. 18.
    Cloke, G.: Get your agile freak on! agile adoption at yahoo! music. In: Proc. of the AGILE 2007, pp. 240–248. IEEE Press, Los Alamitos (2007)CrossRefGoogle Scholar
  19. 19.
    Begel, A., Nagappan, N.: Usage and perceptions of agile software development in an industrial context: An exploratory study. In: Proc. of the Int. Symp. on Empirical Soft. Eng. and Measurement, pp. 255–264. IEEE Press, Los Alamitos (2007)CrossRefGoogle Scholar
  20. 20.
    Krishna, S., Sahay, S., Walsham, G.: Managing cross-cultural issues in global software outsourcing. ACM Comm. 47, 62–66 (2004)CrossRefGoogle Scholar
  21. 21.
    Abrahamsson, P., Salo, O., Ronkainen, J., Warsta, J.: Agile software development methods - review and analysis. Technical Report 478, VTT Publications (2002)Google Scholar
  22. 22.
    Parnas, D.L.: On the criteria to be used in decomposing systems into modules. ACM Commun. 15, 1053–1058 (1972)CrossRefGoogle Scholar
  23. 23.
    Chow, T., Cao, D.B.: A survey study of critical success factors in agile software projects. J. of Sys. and Softw. 81, 961–971 (2008)CrossRefGoogle Scholar
  24. 24.
    Cohn, M.: Agile Estimating and Planning. Prentice Hall PTR, Upper Saddle River (2005)Google Scholar
  25. 25.
    Szőke, A.: Agile release planning through optimization. In: Proc. of Int. Conf. on Evaluation of Novel Approaches to Software Engineering, INSTICC, pp. 149–160 (2009)Google Scholar
  26. 26.
    Scrum Alliance homepage, http://www.scrumalliance.org
  27. 27.
    Ulrich, K.T., Eppinger, S.D.: Product Design and Development, 3rd edn. McGraw-Hill, New York (2003)Google Scholar
  28. 28.
    Liu, L., Yu, E.: Designing information systems in social context: a goal and scenario modelling approach. Inf. Sys. 29, 187–203 (2004)CrossRefGoogle Scholar
  29. 29.
    Aurum, A., Wohlin, C.: Engineering and Managing Software Requirements. Springer, New York (2005)zbMATHCrossRefGoogle Scholar
  30. 30.
    Szőke, A.: A Proposed Method for Release Planning from Use Case-based Requirements. In: Proc. of the Euromicro Conf. on Software Engineering and Advanced Applications, pp. 449–456. IEEE Press, Los Alamitos (2008)CrossRefGoogle Scholar
  31. 31.
    Szőke, A.: Decision support for iteration scheduling in agile environments. In: Proc. of the Int. Conf. on Product Focused Software Process Improvement. LNBIP, vol. 32, pp. 156–170. Springer, Heidelberg (2009)CrossRefGoogle Scholar
  32. 32.
    Eppinger, S., Salminen, V.: Patterns of product development interactions. In: Proc. of the Int. Conf. On Eng. Design, pp. 610–619. Pergamon Press, Oxford (2001)Google Scholar
  33. 33.
    Romesburg, C.: Cluster Analysis for Researchers. Lulu Press (2004)Google Scholar
  34. 34.
    Schrijver, A.: Theory of linear and integer programming. Wiley & Sons, USA (1986)zbMATHGoogle Scholar
  35. 35.
    Mathworks homepage, http://www.mathworks.com/
  36. 36.
    King, J.R.: Machine-component grouping in production flow analysis: An approach using a ROC algorithm. Int. Journal of Prod. Research 18, 213–232 (1980)CrossRefGoogle Scholar
  37. 37.
    Kellner, M., Madachy, R., Raffo, D.: Software process simulation modeling: Why? what? how? J. of Sys. & Softw. 46, 91–105 (1999)CrossRefGoogle Scholar
  38. 38.
    Multilogic homepage, http://www.multilogic.hu
  39. 39.
    Chandrasekharan, M.P., Rajagopalan, R.: Modroc: An extension of rank order clustering for group technology. Int. J. of Prod. Research 24, 1224–1233 (1986)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2010

Authors and Affiliations

  • Ákos Szőke
    • 1
  1. 1.Department of Measurement and Information SystemsBudapest University of Technology and EconomicsBudapestHungary

Personalised recommendations