Approach
Developing Software is complex, but it's not rocket science.
Traditional software development methodologies are often too rigid for the dynamic world of the web, and can fail to respond to a customer's changing needs.
At Zest we use Extreme Programming (XP) - a lightweight software engineering methodology that encourages cross-disciplinary collaboration and frequent customer feedback.
With XP, customer requirements are captured as user stories - short, readable descriptions of functionality - and development occurs in short (1 to 3 week) cycles, called iterations. Each iteration involves the building, testing and delivery of customer-prioritised stories, followed by an evaluation discussion - allowing you to provide immediate feedback on desired features and the changing needs of your business. All this means that you have more control over the process, the product - and your budget.
Extreme Programming promotes a number of best practices in software development.
- Test-driven development
Writing the tests first, forces you to think about how you want the software to work from the start. This will increase the quality and lowers the risk of so called spaghetti code. Running the tests provides you with feedback about your code in minutes. - Pair Programming
Sitting down together with a colleague at one computer provides a unique interaction where feedback is given continuously. The one at the keyboard focusses on write one particular piece of the code, while the one sitting next to him provides feedback and takes time to think about the impact to the rest of the system. By doubling the brainpower the quality of the code is always better, while the overhead is never more than 30%. - Standup meetings
Once or twice a day the team members have a standup meeting which allows each member to provide a status update of 2 minutes and ask for assistance on issues that might already been solved once by another team member.
eXtreme Programming vormt de combinatie van het bovengenoemde proces en de een aantal best practices:
Knowledge Management
Plone is continuously being developed by more than 200 core developers, amongst them a number of Zest Sofware employees. With all due respect to existing Knowledge Management Tools, we think that knowledge can not be tamed by systems, simply because the world is changing to fast. The knowledge lives inside the team, that why we value Pair Programming so much! Not only does it improve the quality of the code, there is shared knowledge about the code.
What we do value is that our developer have the proper context for programming. That's why we actively maintain a collection of guidelines to develop with Plone.