 Hello and welcome to this session in which we will discuss steps in the system development life cycle. So what is the system development life cycle known as SDLC and that is a process used to design develop and maintain a software. So from the beginning design it basically draw it put it together then once it's working you want to maintain. This cycle involved a series of phases steps or stages that follow a sequential order each with its own sets of objectives deliverable and activities. So we're going to have a series of steps and usually they include seven steps and there is planning analysis design implementation or development testing deployment and maintenance. Now there are two strategies to manage to manage the system development life cycle and those are those are the traditional method and the agile method. Now in this session we're going to be covering the steps or the stages or the phases for the system development life cycle. We would look at the strategies in the front session. Before we proceed any further I have a public announcement about my company farhatlectures.com. Farhat accounting lectures is a supplemental educational tool that's going to help you with your CPA exam preparation as well as your accounting courses. My CPA material is aligned with your CPA review course such as Becker, Roger, Wiley, Gleam, Miles. My accounting courses are aligned with your accounting courses broken down by chapter and topics. My resources consist of lectures multiple choice questions true false questions as well as exercises. Go ahead start your free trial today no obligation no credit card required. Starting with the planning phase I'm going to be using an example for a for an application that's a mobile application that allow users to order food from local restaurants. So this is the thing this is the software this is the mobile app that we are developing. So the company would typically follow the steps in the process. The first step is planning in the planning stage we would identify the project's goal. What is the project goal is to build a mobile app that allow customers to order foods from local restaurants you know we we set the objective the scope local restaurants we want to know what are the requirements and include the features that the app should have and here the company would assess the project feasibility is it a good project in terms of budget do we have enough money do we have enough time do we have enough resources do we have enough staff to go ahead and develop this this is the planning stage. After the planning stage comes the analysis stage the company would perform a detailed analysis now we go a little bit more into detail involving consultation now we talk to people to stakeholders users or potential users for example customers of local restaurants restaurants owners themselves would this app be useful for you we need delivery drivers well the app is not good if we if there's not enough delivery drivers in the area so we need to talk to stakeholders and maybe survey and them see what's going on then the company will create a list of the requirement for the mobile app such as you know we need user registration we need to have restaurant search menu browsing order placement payment processing and delivery tracking those are the requirement for this app at this point we have a clear understanding of the big picture we didn't do anything yet we'll just analyze now once we have the big picture we are going to design it we're going to put it on paper or on a phone for that matter the company will design the mobile app architect and users interface which include wireframe user stories and flowchart here you are drawing it the company would also create a database schema and we talked about database schema and the prior session and defines the app integration points with other system where do they connect those databases such as payment gateways and delivery platform usually the design stage would involve the conceptual design the logical design and the physical design if you don't know what these are go to the database lessons and you will know what they are but in the design stage this is where we build the database schema which would involve those steps after we design it what do we do now it's time to develop the company will start developing or implementing what we designed developing the mobile app following the design specification here we will use programming language because we are programming the system libraries to develop the app's front and back end so what you see is the front end this is the app what's in the back you don't see it's it's the magic behind the scene that's what that's what the back end it is the company would also create a web-based dashboard for restaurant owners and delivery drivers to manage their orders and deliveries here you are just basically finalizing what you designed then you test it you test it and we're going to talk a lot about testing later on the company would test the mobile app to ensure it meets the requirement and performs as expected so the company would use testing tools and techniques such as manual testing automated testing user acceptance testing we'll talk about more about testing later on that's an important topic on the CPA exam just testing the company would also test the app's compatibility with different mobile devices and operating system is it good on google google app app google app store so on and so forth then after we test it we're done we're ready to deploy it once the mobile passed the testing well we're good now it's it works as expected assume and it did company would deploy the app at the app store or the google play store or the microsoft store this would involve submitting the app for review complying with the app store guidelines and making it available to users basically we're deploying it now how do you deploy an app or a software or a system now we're going to talk about deployment deployment of systems plunge or a big bank deployment in this deployment method the software or update are released all at once replacing the existing software entirely this strategy rolling it all at once to everyone can be risky because any issues can affect the whole system and there's no fallback option so the alternative to this is to do a gradual rolling or the ramped conversion so gradually rolling out the new software or update to a subset of users or systems so you don't have to make it available to all users a group of users to test it just to see how it works first gradually roll it then or if it's a system you know new software or system that's why you have to do it gradually roll it test test those new systems for issues and then roll them out to more users or systems over time so don't do it all at once what is the logic behind this is to detect problems and provide a fallback option if issues arise you don't want to expose yourself altogether just go naked okay so slowly but step by step you will do what you will you know you would let 500 users use it get the feedback see what the issues are no issues you maybe add a new update and you roll it to a thousand so on and so forth then you roll it all at once for example right now google google is rolling the artificial intelligence to only employees at google this is called ramped conversion the rolling out the new system only the selected number of people which is employee at google google employees ab testing where is ab testing it's releasing two different version of the software or update to different users and guess what comparing the performance and user satisfaction ab testing i'm going to give you this option and this option then which one is going to be better this approach allow organization to collect data or user preference and make informed decision about which version to release more widely this ab testing is very common when you are doing social media marketing like marketing you'll have to add add one and add two you draw both of them and you will see how many people are clicking on add one versus how many people are clicking on add two so if add two is working you will follow add two strategy not add one this is called ab testing you can do the same thing with the software you can do it and maybe testing then we have the blue green shadow deployment the new software or update are released to a separate environment blue while the existing system remain in the green so the old system green and the new system is built then you would start to release gradually redirect from the green environment to the blue environment once the new software or update are tested and deemed deemed stable so for example i have it i have an old old learning management system and i have a new one and what i would do i would not take all my students from the old to the new i will gradually release students from the old to the new as i am testing making sure it's working i don't want to do it all at once this is gradually also it's called the blue green shadow this approach provides a fallback option and reduce downtime so if i migrated you to the new learning management system and if it's not working the old still working i can take you back there now bear in mind we have not three one two three we have four don't forget about the big bang deployment which is the riskiest one once the software the system the app has been deployed the company would maintain the app by providing ongoing support including bug fixes update and upgrades and the reason i use this example mobile app because you all are familiar with this and you guys get all you need to update your app well this is what's happening the creators are updating fixing bugs or upgrading if you click on that update it will tell you it's all about it could be an update bug fixes or some sort of an upgrade so the company would also monitor the app performance and user feedback and make improvements you guys see when you use an app they'll say okay do you like this app give us your you know give us your feedback like three stars or five stars this is what they're looking for this is part of the maintenance to collect feedback to see what's working what's not the customers might tell you sometimes working or not working so therefore you collect the feedback and you make adjustments to comply with market trend and market trend is the most important you want to stay with your market you want to comply with what your customers are telling what should you do now go to farhat lectures look at additional mcqs additional resources that's going to help you do better whether you are studying for your cpa exam cma exam accounting information system or some other certification good luck study hard and of course stay safe