From the course: Chief Technology Officer Career Guide
The product lifecycle
From the course: Chief Technology Officer Career Guide
The product lifecycle
- [Instructor] As a CTO, you'll likely be managing one or more software products. As such, you'll need to have a strong command of the cycle of planning, designing, implementing, testing, and upgrading of your apps. We call all this the Software Development Lifecycle or SDLC. In this movie, we're going to go over the phases of the SDLC and some different methodologies to approach it. The SDLC also goes by the name of Product Lifecycle, or Project Lifecycle, or PLC, or it can be called the Systems Development Lifecycle and even Application Development Lifecycle. So if you hear any of these other terms, they're all basically the same thing, how we plan, develop, and deliver applications. There are six basic phases to an SDLC. There's planning and analysis, defining your requirements, designing, development, testing, and finally, deployment. There are two general ways that teams can use to implement these phases. An iterative model breaks the application into smaller builds and develops them using phases as I mentioned earlier. The idea is to allow greater feedback or iterations by presenting new features incrementally. This can work great for the first version of many apps, for smaller applications, smaller teams, incremental upgrades. However, sometimes with larger applications in teams, it might be hard to break the application into logical chunks and getting feedback and slow the development cycle down. Iterative methodologies can loosely follow phases as with Agile or more strictly as in the rational unified process. The other way you can implement these phases is the sequential model. Each of these phases is broken down and performed one at a time with the final deployment being the entire application or the entire new feature, or whatever it is. This methodology sometimes works better when you have a very complicated architecture, if you're integrating multiple systems and larger teams because you need to do more planning upfront and there's no need to break the application into smaller pieces to build out and get feedback until the project is completed. Simply put, this process gives greater control to the development team as they don't move to the next phase until the last is satisfactorily completed. The downside to this methodology is that there's a lot of planning upfront and it's difficult to go back and make changes once the software is completed. The Waterfall and Spiral methodologies are examples of this. Let's take a look at each of the core phases in detail. First is planning and analysis or ideation. In this phase, management will work with any stakeholders and data to determine what exactly needs to be built, what resources will be required, and how best to proceed to ensure success. This is a key time for ideas and innovation. In the requirements phase, we need to output the specifications of what will be built. In Agile we write user stories to define the app based on how users will see the app and why. In Waterfall, there's a technical specification or possibly a product requirements document, a PRD, that contains detailed specs of what you're going to build. Design refers not only to the user interface design, but also to the design of the architecture. In stricter methodologies, this will result in a document that defines the architecture of the application. In Agile, this will be less formalized. During the development phase, we build the app. This is the coding phase. In sequential models, this could be months long. In iterative models, this is often a couple weeks to a month. The testing phase will be where we perform testing. We'll talk more about testing for bugs later in this unit. This often includes testing against acceptance criteria, meaning stakeholders who are not on the team will be given the opportunity to try and approve the application of new features. Bug fixes and then refinements are also completed, and we can also include security testing. Finally, we deploy the app. This will be based on the type of app, but is the final delivery of the product to staging and thus, the market or the app stored if it's mobile. I would be remiss if I didn't speak to AI when looking at the SDLC. Without a doubt, AI will have significant impact on the SDLC. In fact, I've seen it declare that Agile is dead. Well, this isn't true yet. There are many ways that AI can enhance our current processes. From generating first draft PRDs, to analyzing insights, to help with prioritization, to vibe coding, and analytics. It'll be important to track these trends and integrate to stay ahead of the competition. The SDLC and how it's managed will ultimately be a core responsibility of the CTO. In the rest of this unit, we'll discuss the SDLC and its implementation in more depth starting next with understanding your user.
Contents
-
-
-
-
-
-
The product lifecycle5m 9s
-
(Locked)
Understanding users and the business case3m 6s
-
(Locked)
Defining the requirements2m 52s
-
(Locked)
Design planning and strategy2m 55s
-
(Locked)
Prototyping3m 9s
-
Design-to-code process2m 49s
-
(Locked)
How to take feedback3m 19s
-
(Locked)
Minimum viable product3m 6s
-
(Locked)
Testing and continuous integration4m 17s
-
-
-
-