Advertisement

A Feature Partitioning Method for Distributed Agile Release Planning

  • Ákos Szőke
Part of the Lecture Notes in Business Information Processing book series (LNBIP, volume 77)

Abstract

Agile software development represents a major approach that has gained increasing popularity in recent years. Economy forces agile organizations to overcome geographical distances to benefit from accessing a larger resource pool and to reduce development costs. 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. To address this situation, we present a distributed agile release planning approach to assist the release planning process of distributed agile development teams by identifying feature chunks that can be implemented co-located to minimize the communication needs between dispersed teams. The presented method demonstrates how this approach 1) necessitates less intensive communication and coordination, 2) can provide better utilization of resources, and 3) can produce higher quality feature distribution plans. Finally, the paper analyzes benefits and issues from the use of this approach.

Keywords

distributed development agile release planning partitioning 

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    Manifesto for agile software development, http://www.agilemanifesto.org
  2. 2.
    Dybå, T., Dingsøyr, T.: Empirical studies of agile software development: A systematic review. J. of Inf. & Softw. Tech. 50, 833–859 (2008)CrossRefGoogle Scholar
  3. 3.
    Ambler, S.W.: Survey says: Agile works in practice. Dr. Dobb’s Journal (March 2006), http://www.ddj.com/
  4. 4.
    Layman, L., et al.: Motivations and measurements in an agile case study. J. of Syst. Arch. 52, 654–667 (2006)CrossRefGoogle Scholar
  5. 5.
    Schwaber, K., Beedle, M.: Agile Software Development with Scrum. Prentice Hall PTR, Englewood Cliffs (2001)Google Scholar
  6. 6.
    Beck, K., Andres, C.: Extreme Programming Explained: Embrace Change, 2nd edn. Addison-Wesley, Reading (2004)Google Scholar
  7. 7.
    VersionOne: 5th annual survey (2010), the state of agile development (December 2010), http://www.versionone.com/agilesurvey/
  8. 8.
    Sutherland, J., Schwaber, K.: The scrum papers: Nuts, bolts, and origins of an agile process (April 2007), http://old.crisp.se/scrum/books/
  9. 9.
    Layman, L., et al.: Essential communication practices for extreme programming in a global software development team. J. of Inf. & Softw. Tech. 48, 781–794 (2006)CrossRefGoogle Scholar
  10. 10.
    Heeks, R., Krishna, S., Nicholsen, B., Sahay, S.: Synching or sinking: global software outsourcing relationships. IEEE Softw. 18, 54–60 (2001)CrossRefGoogle Scholar
  11. 11.
    Marchenko, A., Abrahamsson, P.: Scrum in a multiproject environment: An ethnographically-inspired case study on the adoption challenges. In: 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? Commun. ACM. 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. Softw. Eng. 29, 481–494 (2003)CrossRefGoogle Scholar
  14. 14.
    Miller, A.: Distributed agile development at microsoft patterns & practices. Technical report, Microsoft (2008)Google Scholar
  15. 15.
    Krishna, S., Sahay, S., Walsham, G.: Managing cross-cultural issues in global software outsourcing. Commun. ACM 47, 62–66 (2004)CrossRefGoogle Scholar
  16. 16.
    Ebert, C., Neve, P.D.: Surviving global software development. IEEE Softw. 18, 62–69 (2001)CrossRefGoogle Scholar
  17. 17.
    Mockus, A., Weiss, D.M.: Globalization by chunking: A quantitative approach. IEEE Softw. 18, 30–37 (2001)CrossRefGoogle Scholar
  18. 18.
    Repenning, A., Ioannidou, A., Payton, M., Ye, W., Roschelle, J.: Using components for rapid distributed software development. IEEE Softw. 18, 38–45 (2001)CrossRefGoogle Scholar
  19. 19.
    Cloke, G.: Get your agile freak on! agile adoption at yahoo! music. In: AGILE 2007, pp. 240–248. IEEE Press, Los Alamitos (2007)CrossRefGoogle Scholar
  20. 20.
    Begel, A., Nagappan, N.: Usage and perceptions of agile software development in an industrial context: An exploratory study. In: ESEM 2007, pp. 255–264 (2007)Google Scholar
  21. 21.
    Abrahamsson, P., Salo, O., Ronkainen, J., Warsta, J.: Agile software development methods - review and analysis. Technical report, VTT Publications (2002)Google Scholar
  22. 22.
    Parnas, D.L.: On the criteria to be used in decomposing systems into modules. Commun. ACM. 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 Syst. and Softw. 81, 961–971 (2008)CrossRefGoogle Scholar
  24. 24.
    Cohn, M.: Agile Estimating and Planning. Prentice Hall PTR, Englewood Cliffs (2005)Google Scholar
  25. 25.
    Szoke, A.: Bin-packing-based Planning of Agile Releases. In: Maciaszek, L.A., González-Pérez, C., Jablonski, S. (eds.) ENASE 2008/2009. CCIS, vol. 69, pp. 133–146. Springer, Heidelberg (2010)CrossRefGoogle Scholar
  26. 26.
    Szoke, A.: Conceptual Scheduling Model and Optimized Release Scheduling for Agile Environments. J. of Inf. & Softw. Tech. (2011) (in press, accepted manuscript)Google Scholar
  27. 27.
    Scrum alliance homepage, http://www.scrumalliance.org/
  28. 28.
    Ngo-The, A., Ruhe, G.: Optimized resource allocation for software release planning. IEEE Trans. Softw. Eng. 35, 109–123 (2009)CrossRefGoogle Scholar
  29. 29.
    Szoke, A.: Decision support for iteration scheduling in agile environments. In: Bomarius, F., Oivo, M., Jaring, P., Abrahamsson, P. (eds.) PROFES 2009. LNBIP, vol. 32, pp. 156–170. Springer, Heidelberg (2009)CrossRefGoogle Scholar
  30. 30.
    Conway, M.E.: How Do Committees Invent? Datamation (1968)Google Scholar
  31. 31.
    Gamma, E., Helm, R., Johnson, R.E., Vlissides, J.: Design Patterns: Elements of Reusable Object-Oriented Software. Addison-Wesley, Reading (1995)zbMATHGoogle Scholar
  32. 32.
    Buschmann, F., Henney, K., Schmidt, D.C.: Pattern-Oriented Software Architecture, vol. 4. Wiley, Chichester (2007)Google Scholar
  33. 33.
    Ulrich, K.T., Eppinger, S.D.: Product Design and Development, 3rd edn. McGraw-Hill, New York (2003)Google Scholar
  34. 34.
    Hennig, C., Hausdorf, B.: Design of dissimilarity measures: A new dissimilarity between species distribution areas. In: Data Science and Classification, pp. 29–37. Springer, Heidelberg (2006)CrossRefGoogle Scholar
  35. 35.
    Multilogic Ltd. homepage, http://www.multilogic.hu
  36. 36.
    Fjallstrom, P.: Algorithms for graph partitioning: A survey. Technical report, EACIS (1998)Google Scholar
  37. 37.
    Mathworks Inc. homepage, http://www.mathworks.com/
  38. 38.
    Kernighan, B.W., Lin, S.: An efficient heuristic procedure for partitioning graphs. J. of The Bell Syst. Tech. 49, 291–307 (1970)CrossRefzbMATHGoogle Scholar
  39. 39.
    Kellner, M., Madachy, R., Raffo, D.: Software process simulation modeling: Why? what? how? J. of Syst. and Softw. 46, 91–105 (1999)CrossRefGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2011

Authors and Affiliations

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

Personalised recommendations