IT Lecture Notes by Mark Kelly, McKinnon Secondary College
Models for Managing Projects |
|
Note: "SDLC" can mean both "System Development Life Cycle" or "Software Development Life Cycle" - it depends on whether you are building systems or software at the time. It can also be called the PDLC - Product Development Life Cycle. |
| Note - The Software Development study design specifies that you need a DETAILED understanding of the SDLC and an OVERVIEW of Agile, RAD and prototyping... so get your priorities right. |
Waterfall SDLC model - a predictive approachThe VCE IT model of the System Development Life Cycle (SDLC) contains 5 stages that flow from one to the next in order (hence the 'waterfall' imagery.) As with a real waterfall, the progression from stage to stage is one-way only, and a stage, once completed, is not revisited. An advantage of the water It is popular because each stage can be compartmentalised (so one stage is completely separate to other stages and there is no overlapping) and the project's deadlines can be set, monitored and managed tidily. A disadvantage of the Waterfall model is that it is so linear and sequential. Once a phase begins, if a team discovers a previous stage they had not thought out properly or a vastly better method were possible, the team would have to persevere with the existing plan: they cannot revisit the analysis phase, for example, to do more observation and better understand the nature of the problem. There are alternatives to the strictness of the Waterfall model: you will need to be familiar with Rapid Application Development (RAD), but other models include Joint Application Development (JAD), Synch and Stabilise, Build and Fix, and the Spiral Model of the SDLC. The Waterfall SDLC steps are:
Details of the SDLC are here. Note - the version there includes 2 optional steps: testing and documentation which are not part of the 'official' VCE SDLC. |
Agile methods - an adaptive approachReacting against the perceived strict regimentation of the Waterfall Model, the Agile model appeared in the 1990s. Its developers believed the Waterfall model was too slow and bureaucratic and did not comfortably accommodate the ways systems/software engineers actually work best. Agile, put simply, is where software is developed progressively with each new release adding more capabilities It appeared under different names and flavours such as: Scrum (in management), Crystal Clear, Extreme Programming (XP), Adaptive Software Development, Feature Driven Development, and DSDM. Agile aims to reduce risk by breaking projects into small, time-limited modules or timeboxes ("iterations") with each interation being approached like a small, self-contained mini-project, each lasting only a few weeks. Each iteration has it own self-contained stages of analysis, design, production, testing and documentation. In theory, a new software release could be done at the end of each iteration, but in practice the progress made in one iteration may not be worth a release and it will be carried over and incorporated into the next iteration. The project's priorities, direction and progress are re-evaluated at the end of each iteration. Agile teams tend to work as a team in a bullpen - an open floor-plan work area that makes face-to-face communications easy. Agile, however, has been criticised for its lack of formal documentation. (One wonder how well Agile development techniques would work for Virtual Teams.) Agile's aims and characteristics include:
Such flexibility is seen by some as a lack of discipline, but its ability to adapting quickly to change can make it a powerful method of tackling big projects - and ICT is a field where rapid and significant change is the rule rather than the exception! On the other hand, long-term (beyond a couple of months) planning is very hard to do with an Agile approach. I guess an Agile project manager would be updating his Gantt chart daily :-) Agile methods have features in common with RAD. (Thanks to Wikipedia for information on Agile) |
Rapid Application Development - RADThe perceived slowness and inflexibility of the Waterfall SDLC menthod led to the development of a method that reacted quickly to change and adapted to changing conditions: a normal state of affairs in the fast-moving ICT industry. Where the Waterfall model would slowly chug forward, the market or technologies would change under its feet: sometimes by the time software was released, its was already out of date, irrelevant or incompatible with new industry standards. RAD works differently. It develops products in a sequence of small upgrades: each release has slightly more functionality than the previous one, and over time the product matures into a finished product. In the time a team would take to fully develop a product using the SDLC, a RAD team might have released a dozen incremental versions. The drawback of RAD is its short-sightedness: you could tell what would be happening in a week's time; you could guess what you'd be doing in a month; but trying to predict the state of a project in a year's time would be like reading tea leaves. Unlike the SDLC, RAD makes it easy for customers to redefine their basic needs and expectations from a product. A possible drawback of RAD, however, is that it would seem to encourage a "make it up as you go along" approach which will limit a product's scalability or future modification. The thorough planning and analysis of the SDLC would tend to create products that anticipated future needs and allowed expansion. A RAD product would more likely be hammered together to cater for immediate needs, but cope poorly if it had to be radically altered later. I see SDLC like building a skyscraper, with the TV aerial on the penthouse fully designed before the foundations are even dug. I see RAD more like a shanty town that has new shacks thrown together as the need arises: quick, responsive, but not too elegant or enduring. A classic example of rapid, successful development was the original IBM PC and its accompanying operating system - MS-DOS. A classic example of development gone wrong is the game Duke Nukem Forever, which has been awaited for six years, with still no sign of release. It has won Wired News' "Vapourware Product of the Year" every year since 2001. |
Details on other SDLC models |
Back to the IT Lecture Notes index
Back to the last page you visited
Last changed: April 8, 2008 9:35 AM
IT Lecture notes copyright © Mark Kelly 2001-