110 likes | 235 Views
Software Development Processes for Network Distributed Applications. Experiences and Expectations. Davide Carboni @ NDA Group (CRS4). Workshop NAME, 4 Oct 2002. Outlines. Project E-Mate About XP Practices… Conclusions. Project E-Mate. Project E-Mate has been on going for about 2,5 years
E N D
Software Development Processes for Network Distributed Applications Experiences and Expectations Davide Carboni @ NDA Group (CRS4) Workshop NAME, 4 Oct 2002
Outlines • Project E-Mate • About XP Practices… • Conclusions Workshop NAME
Project E-Mate • Project E-Mate has been on going for about 2,5 years • The objective: • software architecture designed and implemented at CRS4, aimed to support the development and the deployment of mobile, personalized and location aware services. • It defines a model of service and provides framework and components for the development of network applications available through multiple channels and position-aware. Workshop NAME
Project E-Mate • Turn-over of 28 people in 3 years • Parallel activities involving 12-16 people full-time • Results: Various running prototypes, scientific articles, internal and external deliverables • 2 PhD thesis and 1 BSc. On going… Workshop NAME
Hardware and Software Tools • Visual Age for Java • Java Wireless Toolkit • XML Spy • Handheld, Java Phones, GPRS Phones, PC – Clients, Voice Clients, WAP Phones… • Some XP practices have been experimented. Not a full XP process. Workshop NAME
Practices (Whole Team) • Customer is a role “vague” in a research project such as E-Mate • Requirements change according to emersion of new technologies • Acceptance tests are often referred to vague “scenario of use” descriptions Workshop NAME
Practices (Design) • Immediate design for concrete results: simple architecture, simple coding, simple testing • Design for the reuse: flexible and extensible architecture, re-use in mind … • “keep-it-simple” now and improve later seems a promising approach… Workshop NAME
Practices (Pair Programming) • Often one of the programmers was much less skilled. Couples unbalanced cause scarce code-review and frustration for the skilled programmer. • Innovative solutions are often from one individual. No boundaries between experiments and coding. • On the other hand, two skilled programmers benefit a great deal from coding together (reviewing, sharing and transferring knowledge) Workshop NAME
Practices (First Test then Code) • We failed in such a practice. • Experienced programmers often make unit test in “handcrafting” way. Hostile to adopt a framework like Junit. • Beginners do not understand the importance of unit testing. • Result: quality of the code is not homogeneous Workshop NAME
Practices (Refactoring) • Refactoring is tiresome, not all programmers appreciate this practice, some of them do not take it into account either. • Some programmers start refactoring when code is too complex and bugs difficult to identify. • Refactoring and testing must work in synergy Workshop NAME
Conclusions • XP might not fit with research projects, however some of its practices could dramatically improve the development process • Simple Design - Testing – Coding – Refactoring are promising practices we want to exploit deeply for future projects. • Involved in a FIRB project to evaluate and refine agile methodologies in open-source and distributed communities Workshop NAME