•They get over-tired, make silly mistakes, get irritable, and waste time in petty arguments, and eventually are more likely to fall sick or go away. •This XP policy ensures that no one works too hard. •Potential drawbacks•Sustainable pace is often not enough to obtain the productivity required for competitive software development. •Why it works in XP – supporting key features•Planningincreases the value per hour of the work performed; less wasted time. •Planningand testingreduces the frequency of unexpected surprises that lead to complex problems to be solved that requires many hours of work. •XP as a whole helps the team to work more rapidly and efficiently.•How we do it in the course project•Distribute work evenly across people and over time. Do not wait until the last few days to work day and night. •Implement practices that ensure efficient usage of time. Key Feature: Sustainable Pace Joey Paquet, 2006-202115SOEN 6441 - Advanced Programming Practices
Concordia University Department of Computer Science and Software Engineering•Description•A representative of the client’s company works at the developer’s site all the time. •The client is available all the time to consult with developers and monitor the development of the software.•Potential drawbacks•The representative would be more valuable working at the client’s company.•Why it works in XP – supporting key features•Clients can contribute, e.g. by writing user stories or commenting on tests. •Rapid feedback for programmer questions is valuable.•XP focuses on efficiency, which includes efficient of communication with the client.•How we do it in the course project•Discussions about the project during lectures. •Contact the instructor any time for clarifications. Key Feature: On-site CustomerJoey Paquet, 2006-202116SOEN 6441 - Advanced Programming Practices
Concordia University Department of Computer Science and Software Engineering•Description•All code written must follow defined conventions for layout, variable names, file structure, documentation, etc. The team agrees to and adopts a group of coding conventions, then ensures that they are followed by everyone. •Potential drawbacks•Programmers can be individualists and refuse to be told how to write their code. •Can be overdone and thus be wasteful of time. •Why it works in XP – supporting key features•Coding standards lead to more understandable code, which is required for pair programming, continuous integration, testing, and productivity in general. •Refactoringcan be used to enforce conformance to coding standards between builds. •How we do it in the course project•Use a predefined set of coding conventions.•Keep focused on a simple, reduced set of conventions.•Use a documentation generation software (e.g. Javadoc).