Methodologies are required to systematically reach establishment of a functional system. Rooting from SDLCs, they aid definition of the activities and strategies involved in the entirety of a development process. Having predefined directions to follow that match up with requirements, rooting from the ‘Satisfy > Who > What > Options >’ start of a development, provides a mechanism to help development of workable solutions to that first phase of identifying a problem to be solved.
The Value Of a Lifecycle
Good methodology, documentation and preparation prevents unneeded difficulty, future litigation and other problems, development methodologies incorporate lifecycles. Use of lifecycles provide a framework to ensure the suitable understanding of a problem and subsequent organisational operation to address it.
Complexity generally requires simplification to be comprehended, simplicity is reached by abstraction of some sort (making multiple concepts overarched by a single one – ala Analysis, which includes initialising interviewing, previous systems evaluation and team organisation among other tasks) hence SDLCs are simplifying abstractions of complex development processes.
SDLCs (Systems / Software Development life cycles) define the course of a service’s production, and their usage…
- Helps to define expectations, organisational processes and development targets
- Helps to minimise costs, operational error and misunderstanding of requirements
- Helps to negate negatively subjective methods of project management
- Can produce implementation of an iterative development process, creating a functional product at each cycle
- Methodology provides a framework for development that presents next steps in a path
- Success in a project depends on organised+methodical sequences of tasks
‘Waterfall’ SDLC follows the basic outline of traditional developments, typically with 5 main stages, but assumes that the lifecycle will only need ‘one shot’. Any changes to the flow effectively result in a change to another lifecycle.
A ‘Prototyping’ lifecycle removes final implementation to end with a prototype to move into another lifecycle. Incremental development uses iterations (limited projects) to build onto eachother to compose a whole.
Incremental development uses ‘walking skeletons’, iterations that have most or all of the operation areas established but incrementally add functions to them over time that may be unscheduled. Sections of functionality are defined into ‘components’ and are progressively added to the deployment until completion.