Full Software Development Life Cycle
Projects come in all shapes and sizes, some are not even technological problems. Yet the goal of problem solving is an evolving technical discipline with distinct frameworks, laws, heuristics, and methodologies. Even for technical projects, the origins of any project begin with very non-technical discussion and documentation. Even for non-technical projects, technological solutions may provide efficiencies when applied in either a limited or extensive manner depending on the situation. The goal of really solving problems, therefore, encompasses a wide range of tasks. Technically, this starts with general problem solving steps that come even before the SDLC itself, hence the term Full Software Development Life Cycle.
Problem Solving Phase
-
1. Project Development - Performing process analysis and gap analysis. Crafting and prioritizing a project list.
[chroniclemaster1, 2010/06/20]
-
2. Requirements - Looking at a project from the outside in – in completely non-technical terms. What should it do and how should it react to us? Why?
[chroniclemaster1, 2009/12/01]
Software Development Phase
Once you've completed project development you are ready to step into the formal SDLC. Project development was an important phase and one that is applicable to virtually any type of problem solving, not just software. In that sense, phase 1 of the SDLC, requirements, is also a generalized problem solving technique which is useful in many applications beyond software development. The SDLC follows a fairly well defined set of six steps. This is how applications really get developed.
-
3. Architecture - Building both the physical and software architecture of the project.
[chroniclemaster1, 2010/06/20]
-
4. Design - Cracking open the black box; taking a requirements document and our basic architecture and determining how to get it done from the inside.
[chroniclemaster1, 2010/06/20]
-
5. Construction - Coding? You mean there's some coding to do in here somewhere?
[chroniclemaster1, 2010/06/20]
-
6. Deployment - Oh, yeah. We have to take it live. Deployment as a technique of progressing from theory to application.
[chroniclemaster1, 2010/06/20]
-
7. Maintenance - Did we mention that everything else was just a brief warm up to the real work?
[chroniclemaster1, 2010/06/20]
The first phase of the FSDLC are general problem solving steps that are useful in any systematic attempt to solve a problem. The last phase is a series of specific steps designed to provide consistent best practices for dealing with every step of creating and maintaining software.