← All Articles

There are six steps in the Software Development Life Cycle, and each of them play an important role in the ability of a firm to deliver a high quality product, on budget and on time. If any of these six are overlooked or under utilized, the resulting application, though potentially brought to market quicker and under budget, may end up costing the client more over the life of the application.

1) Planning. I often say that, "if you know you are going on a trip to a place that's cold, bring a jacket." That's proper planning. To put it another way, you have to understand where you are going. I think that's an important point to call out, and also, the first step of the Software Development Life Cycle.

2) Analysis. Once you understand where you are going, to a cold place, then you have to dig deeper and ask the proper questions. This often means going to people in the industry or business and learning from them. "Is it always cold?" "Is there an opportunity to buy warmer items on arrival?" "If so what is the cost?"

3) Designing. Understanding the core concepts of where you are going and what the environments will look like allows you to start designing what it is you are going to do. This may include selecting which car (code language) you are going to use, how big the trunk (database) needs to be. How fast (hardware) the engine should be, etc.

4) Implementation. After these decisions are made, you begin your trip. You make sure you have a map, where you are starting from and where you hope to end up. Then, you start the journey. You will find traffic jams along the way, roads you didn't expect to be closed, cows in the road, but ultimately, you will pivot (agile) and change directions, and make your way to a place that's cold, but which you are prepared for since you brought your warm coat and socks.

5) Testing and Integration. When you arrive you are finally able to have a real time understanding of the climate and how well your planning, analysis, design and implementation steps were performed. If all goes well, your transition into the new ecosystem should be fairly well done without many large pivots. "We have arrived and are comfortable."

6) Maintenance. With the application in place, you are able to transition to a maintenance mode, where the application is supported by a small maintenance team who keeps the lights on. There may also be modification requests, but if these are large, and if they could impact the main architecture of the system, then the life cycle should start over again, creating the next version of your software.

Adherence to these principles will guarantee a better outcome with the application, with the budget, and with the time to market.