1 / 11

Software Development Processes for Network Distributed Applications

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

howell
Download Presentation

Software Development Processes for Network Distributed Applications

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Software Development Processes for Network Distributed Applications Experiences and Expectations Davide Carboni @ NDA Group (CRS4) Workshop NAME, 4 Oct 2002

  2. Outlines • Project E-Mate • About XP Practices… • Conclusions Workshop NAME

  3. 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

  4. 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

  5. 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

  6. 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

  7. 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

  8. 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

  9. 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

  10. 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

  11. 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

More Related