Extreme Programming, Rapid Prototyping, Dynamic Systems Development Method
Netsense tries to work as pragmatic as possible to accomplish it’s goals: deliver on time and within budget restraints.
Why Extreme Programming?
Because it’s good for you! No, seriously. One of the problems of programming is that it is hard work: one has to work with a high level of concentration, with a lot of repetitious acts. That means one can easy make mistakes and the mistakes have impact: the program will not work correct.
To prevent that there are several solutions. Two pair of eyes to prevent mistakes is one of them. It also prevents easy solutions and workarounds to be mended later but of course forgotten because more important problems show up.
Making testing an integral part of the program is another one. This prevents the quick workarounds
Short subprojects, with clear goals and storyboards is another one. This prevents huge projects with no breakpoints, and permits quick amendings if the software is not heading the way it should be.
These are all concepts of Extreme Programming and DSDM, agile programming or whatever is fashinable at the moment.
Welcome to the ideal world of Coca Cola and Walt Disney, where everybody is happy and no-one starves.
In reality, most of the projects are understaffed, overfeatured and without a proper understanding of the pitfalls of a project, leading to time-lags, less features as promised, leading to the hiring of extra staff, leading to extra time-loss, leading to less features implemented as promised, and shortcuts in the testing, hoping that this time everybody works faultless, ending up with a product just ready before the final meeting with drinks and thrills, but at least there is something…
Let’s say we do the best we can.
Usability and Accessibility
Another concept we try to keep in mind is the usability and accessibility of the programs we write. That does not only mean that it should be possible for visually handicapped persons to use the software. It also means a clear separation between the presentation layer and the content of a program, or the view and the datamodel.
This separation will also make it a lot easier to develop for other platforms: for smartphone-apps instead of webbrowsers, for tablets instead of PC’s.
Accessibility
Usability
Source Code on Demand
Finally, most of the stuff we do will be delivered with the source code. That does not mean that the client is the owner of the source code (unless explicitely stated). It does mean that other developers can enhance the code and fix bugs, even if the original developer is not involved in the project any more.