Table of Contents
The IT world is different from every other business world. More than anyone else, IT depends on the proper use of information. And more than any other business system, IT information moves rapidly.
This makes IT project management particularly challenging: you are dealing not only with sometimes-eccentric personalities, but also with very short timelines, with special restrictions, and with stressful expectations.
For this reason, IT project management has evolved some very specialized techniques.
Agile software development
Software engineering managed through agile software development minimizes risk by developing software in short steps called iterations. An iteration lasts about one to four weeks and develops specific functionality.
They’re like mini projects, covering planning, requirements analysis, design, coding, testing, and documentation of each program function. Because of this, after each iteration in an agile software development environment, the program being developed is ready for a release.
At the end of each iteration, project priorities for the software are reevaluated prior to beginning the new iteration. For this reason, and because of the speed of development, agile methods require more real-time and face to face communication, working best with teams located not just on the same site but in open bullpen-type offices in the same room.
The main criticism of agile methodology is that it happens so fast that little documentation throughout phases of the project takes place. Some people regard it as hardly better than chaotic hacking. Those who have delivered excellent results using agile development would probably disagree.
Extreme programming
Extreme programming is a form of agile programming designed to lower the cost of change. Instead of determining all of a project’s goals and endpoints at the very beginning of the project, extreme programming instead introduces flexibility for the change that so often happens in the midst of an IT project. It focuses on test-driven development, design improvements, and continuous integration of new data and technology.
Waterfall method in software development
Because most software is developed in an object-oriented environment, it lends itself very well to agile software development; you can develop specific objects individually instead of working on large parts of the program all at once. But with older programming methods, the waterfall method – similar to agile software development but with partially-finished programming steps evaluated at each iteration – worked better. This method has largely been discredited recently, primarily because new programming methods have rendered it obsolete.
Cowboy coding
The software project management method with the best name is definitely cowboy coding – but it’s not the greatest project management method. Cowboy coders program by the seat of their pants, borrowing as they wish from other project management methods to cobble together a not-very-organized method. This works best for very small and cohesive teams in an intense, time-sensitive environment.