Follow Slashdot blog updates by subscribing to our blog RSS feed

 



Forgot your password?
typodupeerror
×

Comment Anatomy of a successful software project (Score 1) 519

In most enterprise applications you'll be using multiple languages whether you like it or not:

- A multi-purpose high level language for n-tier apps (data access, domain logic, presentation): Java, C#, Ruby, Python
- A database language: SQL
- Web interface (if it's web-based): JavaScript, DHTML, Flash
- Integration and Middleware: XML

As long as you're within one product boundary, one general purpose language is the way to go. Across products (from same vendor or from different vendors): different languages + well standardized protocols (XML or binary serialization) is the way to go. Mixing more than one general-purpose language in the same product is usually a bad idea IMO (unless the languages share a common framework; e.g. C# and VB.NET)

The thing that ties everything together, whether using one or more languages is the development process and tools:

- Source control (SubVersion) -> provides change tracking, branching, merging
- Automated build environment (Ant, NAnt) -> can build code, database, tests with the push of a button
- Continuous Integration (CruiseControl) -> detect and fix integration errors early
- Unit Testing (xUnit) -> ensures predictable behaviour in the face of code changes
- Bug tracking (Bugzilla) -> track defects, plan fixes
- Documentation (Wiki, DocBook, code comments) -> inform your peers of your public APIs (i.e. how they can use what you have written), and possible extension points (how you can use what they have written); inform stakeholders how the system works (concepts, architecture, business scenarios); inform your users how to use your system properly

A good project manager ties everything together and keeps everyone on schedule.

Slashdot Top Deals

1 + 1 = 3, for large values of 1.

Working...