Friday, December 23, 2011

Systems Professional vs. Department Manager

In making decisions on everything that we do needs critical thinking in order for us to decide not only for the good of the result but to acquire the specific idea we have in achieving better results. Considering the conversation of a systems professional, John Juan, and a manager of a department targeted for a new information system, Peter Pedro, both parties would have different views and opinion in developing a target plan which is the new information system for the department managed by Peter Pedro. As I was reading through their conversation, I can say that both of them have the same point. Even though they have different perspectives on how to deal with the new system but their ideas are most likely needed in the process because somehow, from what they said, all of it will lead into having new or revised system. In order for us to understand both parties, let me first introduce John Juan and Peter Pedro.

John Juan is a systems professional and is hired to make a more progressive system in the department under Peter Pedro’s management. John Juan’s idea on making the new information system is by doing examination on the old system existing in the department, the examination of system includes the reviewing of key documents and observing the employees on how they perform their task using the current system. In this manner, they can determine which part of the system must they focus on revising and they will also determine which part of it would be preserved because it might not be giving problems in the system. As a systems professional, they know what to do in dealing with certain systems that need revisions or new versions and as for John Juan, analyzing the old system’s performance is the best foundation on dealing with a new one because I can say that it would cost time and effort to change what was being implemented already. His idea is that through examining the old system, he might stumble on a problem that would cause trouble to the department and by that he can focus on that part only. Systems professionals are particular on what they are doing, on the time that would take them to deal with a system, and the effort they will put into for them to deliver the right system to the clients.

On the other hand, Peter Pedro is a manager of a department and is planning on having a new information system for their department. Peter Pedro’s idea on dealing with his targeted information system is that making a list of the requirements needed. Take more time on analyzing and defining what system they really want for their department. After that is systems professionals can butt in to determine the portions of the system that needs to focus in. Peter Pedro does not want to just observe the old system and the systems professional would just modify the old one. According to him, they have been doing what was told by John Pedro before and they end up not getting the new system as promised but they just get a modified version of the old system. He insists on having new information system and not the revised and modified system only. As the manager of a certain department, it is necessary for him to envision what problems they might deal with the old system that they have. He can aptly determine what went wrong in his department considering that the system they are using is old and cannot support new operations unless it is under observation for a better system.

Based on the first thing that they did, they had a conversation over the matter and as dealing with a systems professional-client relationship, communication is the most important factor needed in order to understand both parties and as a result of that, they can have a unified idea that can lead to a better solution to the problem. John Juan and Peter Pedro expressed their ideas on dealing with the targeted new information system. As mentioned above, they have different methods on arriving to the new system. On John’s first step in dealing with the problem, examining the system which includes reviewing of the documents and observing the tasks performed by the employees, I can say that he has a point on that matter. A systems professional must be concern on the people who are using the system. He must know the opinions of each employees dealing with the system in order for him to determine which part of the system he should deal with. He must also know what key documents he has to deal with because the main reason on why he was hired is that he must meet the need of the client and that is having a system that would make their department more productive and competitive to other departments. In other words, John wants thorough investigation on what part of the system he should deal with in order for him to narrow his scope considering all parts of the system because through his idea, he can be able to determine what part must be focused and give more attention. The negative aspect of John’s idea is that analyzing the whole part of the old system in order for you to have knowledge on what you are dealing with. By this approach, John would really take time in understanding the old system especially if he was not the systems professional who handled the old system. Examining the old system is a salient part on deriving to a targeted new information system but the cost of time would really be present in this situation.

On Peter Pedro’s side, he is hesitant on just adopting the old system and make revisions out of it. He wants to have the targeted system not basing on the previous one but to start on knowing what requirements are needed. In other words, he wants to make a system that is different from the ones being implemented before. He also wants to give emphasis on what they really want the system to do to their company. He suggested that they should be focusing more on that in order for them to really meet what they need. He doesn’t want to stick with the old system because he might think that the system would just waste their effort and time but still they won’t gain profit or be productive while using the system. The negative side on what Peter wants is that he doesn’t want to relate the old system to the new system. It is difficult not to adopt the previous system because there would be more complicated aspects that would come upon developing new system. The result might be of big difference to what they want to improve and achieve to meet their needs.
Peter and John obviously have different views on handling the targeted new information system. If I were to choose on whose position I would sympathize the most, I would prefer to be on John Juan’s side. The fact that Peter Pedro is the manager of the department and he has the right to demand on what he wants to do with his system, in the process of developing the system, the systems professional has more power over it because he has more knowledge on dealing with the system. As what I discussed on our previous assignments, certain skills and characteristics are possessed to systems professionals to make a good system. Here are some skills those systems professional must have when dealing with systems. Identifying the client organization’s needs, in order for him to have a specific system to deal with, he must identify the needs of the business organization. The organization may comprise of different departments and of different needs and it is the job of the Systems Analyst to find out what those needs are. Drawing up plans for a modified or replacement IT system, before a system can be develop, it has do undergo through lots of planning and analysis. After several phases of planning and analysis, a Systems Analyst should not implement his system directly and replace the existing system of the business organization, he should first plan for the modified system and seek approval to the client. Carrying out feasibility studies of proposals and making recommendations, after the problem has been identified, the Systems Analyst should make feasibility studies on the future system and seek recommendations on which part of the system should they revise or upgrade before developing it. Working closely with programmers and software developers to build the system, the work of Systems Analyst is to analyze the problem, understand the problem, make some plans on how to solve the problem by developing a system, and design the system to solve the problem. In order to implement the system, he needs the help of a programmer and software developers to actually implement the system. In other words, Systems Analysts cannot stand alone in implementing a system. Overseeing installation and testing correcting problems before the final version is released, Systems Analyst may deploy an initial system or trial version to check whether bugs may occur as the system runs, if there are no bugs found, final version may be released. Providing staff training and instruction manuals for the new or upgraded system, in order for the clients to embrace the new or upgraded system the Systems Analyst has deployed, he must provide manuals or guidelines with regards to the functionality of the system.

Based on the skills I mentioned for a systems professional, I can say that John thinks that way. Even if Peter has a point on accumulating the requirements needed to make the system, the idea of John gives more fairness on making the system because in order for you to determine what requirements must be needed to meet the need of the department; you must know the performance of the previous system. The decisions you have are based on what were examined before. John can conclude what problems the system might deal with based on studying the old system. After concluding on what part of the system he must focus, he can now list some of the requirements needed to modify the previous one like what Peter said. Peter’s idea is useful on the process of developing the system. It is true that through listing the requirements needed, they can determine what system the department needs to handle with. It is not necessary that when the clients experienced some technical issues on the system, they already want a new one just to serve them right, it would be a help to the systems professional to base what they deal with on the old system. 

Method that I would propose to them…

In our previous assignment, we have been tasked to describe each of the models that we chose to tackle with and the most common model for all even to others who are professionals now is the Waterfall model. Let me give you some information regarding the Waterfall model and what makes me think I recommend this model to the two workers. 

Project Definition
Project definition phase in a simple understanding is the phase where a systems analyst must define the goals of the project, the requirements, and its specification. By defining the goal means investigating first the need of the client. In dealing with this phase, we must be able to interpret what the client wants through communicating with them and sometimes communicating with them may not be as easy as picking up the phone and list the orders that the client wants to be delivered, some say that it is the crucial part of the first phase since misinterpretation at this phase may give rise to the software that is being developed. After the goal has been defined and the requirements have been noted, we must be critical enough to make sure that the specified needs of the client are detailed and accurate in order for us not to meet any ambiguity as we get along with the system. By doing this, it will make the clients confident enough to rely on the system that is handled by you. In this phase also, we as systems analysts must not only meet the need of the clients, that is, to have a new system or an improved system, but consider also that the main reason why they made decision on having a new system is that in order for them to gain more profit than what they have on their previous systems.

System Design
System design phase is the phase where we as systems analysts identify the software requirements along with the hardware requirements because as what was acquired from the previous phase, the requirements are broken down into logical units so that the software process can be easily implemented. In this phase also, we must also interpret the design used to create the system. the accumulated logical units are interrelated to each other so that there would be connection on all the parts needed to create the system and to do that, we are to recognize different algorithms and providing diagrams on the plan can make the work easier to understand and follow. In other words, this phase would focus on the fundamental work for programming and implementation. Documentations are present in this phase because this phase is considered as the crucial phase on developing a working system.

Coding and Implementation
It is clear in this phase that we are to deal with coding after the design has been identified. The source code of the program is written in this phase. It is where the algorithms and diagrams are translated into a functional system. After arriving from a functional system, implementation takes place to check in the produced system has met the need of the client. Any revisions on the system would occur on the next phase which is the testing phase.

Integration and Testing
Integration and testing phase would not be possible if the system has not been implemented. Implementing a system does not necessarily mean that the system is ready for operation but implementation phase is done to check whether certain conditions from the clients are met and if so, testing phase is next to it. It is now the work of the client to test the system according to its, functionality, integrity, capacity to perform the desired outcome, that is to make the lives of the client easier in order for them to gain profit easier also. If the clients noticed some bugs along the implementation, further revision may be done and most probably the system would undergo to another repetitive step or the phases and start in the designing phase to identify the bug and fix it for improvements.

Deployment and Maintenance
This is probably the last phase of the Waterfall Model, where the system has being tested and is checked by the clients for the acceptance, is now ready for deployment. The work would not end here for it is necessary for the systems analyst to execute maintenance on every system that they deploy because as clients go along with the system, they may be stumbled on a foreign procedure on the system and it is the work of the systems analyst to explain each part of the system so that clients would be familiarized to it and would be dependent to the systems analyst just for a short while. Other changes and improvements that the client wants for their system would make the entire process under revision and also it will start again from the first phase of the Waterfall model.

The Waterfall model starts with the Project Definition, in relation to John and Peter’s argument, John’s idea on observing the work of the system to the workers and examining the old system fits the first step of the Waterfall model. They should first analyze the system that was implemented and base that one to make new system. The next step is to design the system. In this part, the idea of Peter takes place. Designing the system would not be effective if the requirements are not determined. Requirements are needed to know what kind of system, John needs to deal with. Other steps follow after determining the two main steps.

Conclusion

To some, customers would always be right but in the situation like what John and Peter encounters, I can say that the final decision would be on the expert of the system, John. Peter pointed out that what they experienced before are just revisions on their previous systems and because of that, same problems may arise. To John, adopting the old system would let him determine the problem of the system and it would be easier for him to deal with the new system since he has the background of the previous one. The primary concern of Peter is to have new information system and not just a revision of the old one but for John, it is not necessary that the system is new because it would also take time for the part of the employees since the system is new, they need to adopt the new system and need to learn how to deal with the new one. In my own point of view, John’s idea is more accurate than what Peter wants to have. As a systems analyst, there is really a need on adopting the old ones, reviewing what possible problems they meet, and how other employees would deal with the previous system in order to determine what system they want. John only wants to make the previous system more functional and more productive than the previous one. I can say that he refuses to have more cost on time making new system as what Peter wants to have in their department. Certain conditions may be adopted on how John will handle the system but in the end, it would be on Peter’s decision if he will adopt what system John made. As long as there is unity on the ideas and perspectives of the clients and the system professional, anything would be possible and the targeted new system would be attained.

Wednesday, December 21, 2011

Application of SDLC in the university...


The University of Southeastern Philippines is known to be the home of the “iskolars ng bayan” according to the teachers and the graduates of the said institution. The primary objective of the university is to provide programs of instruction as well as professional training in the fields of science and technology, especially in the fields where most of the in-demand jobs nowadays are needed by our developing country. The vision of the university in becoming a premier university in the ASEAN region is to be the center of excellence and development, responsive and adaptive to fast-changing environment. By having this vision and objective of the university, most of the Davaoeños tend to be fascinated on the performance of the university and would aim on becoming a part of the institution not only to learn but to acquire the title, “iskolar ng bayan”. The products of the university would base on how the system of the institution handles the education catered to the students. The school is always the foundation of learning when we are outside our home. As for the University of Southeastern Philippines, it is the foundation of globally competitive graduates outside the academic world.

When I was just a first timer in the University of Southeastern Philippines, I said to myself that it would be just like my old high school life but the only difference is that my college world would be bigger than before because it would not just comprise of students from different level but at the same time of different courses. One thing I noticed during the first day of enrollment was the very long queue of the students in every department. When you are to admit yourself in a certain college, you must fall in line because most of the students are waiting for their turn to be entertained. After being entertained, your next destination would probably a queue again and sometimes you would be unfortunate enough to be on the scheduled day of the enrollment because there are cut offs in entertaining students. Despite the experience that I had on the first day of enrollment, I can say that I was guided on where to go next after finishing the first step. It was actually called the Enrollment system in the university.

The Enrollment system is one of the systems that run in the university. It is subject to cater thousands of students in the university during the enrollment periods. In USeP, scheduled dates for enrollment are given to the students ahead of time so that there would probably be less queuing on the different part of the Enrollment system. For the freshmen, they are given two to three days at most to submit their requirements and to have their enrollment followed by the sophomores, juniors and lastly the seniors. But what mostly happens is that they tend to think of enrolling themselves not on the scheduled dates to avoid lengthy queues, that is the most common thinking of the students. And because of that thinking, the Enrollment system would not be productive enough on catering the students especially if it is already near the late enrollment because students think that enrollment schedule before the late enrollment probably has less students in the university. For some students that are sluggish enough when it comes on the enrollment period, they would make each step in every other day because they already thought of not finishing the process because of the queues in every part of the enrollment system. Actually, it is not on the part of the Enrollment system that the university fails to cater the needs of the students during enrollment period. The common mistake is in the part of the students because they are not following the simple dates assigned on each level and certain steps must be followed to finish the enrollment process. But what are most of the students doing during enrolment period, they still have to finish their clearance in order for them to have clear records at the end of the semester and they cannot proceed on the enrollment process when the requirements are lacking like the official receipts, the complete grades from different instructors, and the clearance, of course. Many students say that the system implemented in enrollment is “bulok” because there is no difference in making the enrollment process automated from the previous manual system for the past years. Students should not suffer from any lengthy queues when a system is implemented because the main function of the system is to make the work of the clients easier and efficient. I totally agree that the system is made to make the work of the users efficient, easier, and hassle-free but to say that it is not helpful enough in catering the needs of the students during enrollment period; I consider it as students’ fault on not following the process of enrollment. I have already experienced the enrollment system in the university for three years and same thing goes every year, the first years extends beyond the given schedule on enrolling that is why the second year schedule is also affected and so on for the rest of the levels. As a systems analyst, it is included in the consideration that the students may delay on clearing the requirements needed to be enrolled because all possible factors are needed to be considered in making the system. Knowing the possible problems that may arise in dealing with the system is thoroughly analyzed by the systems analyst because its main goal is to serve the clients with the deployment of system that they created based on the needs of them.

Another system that is present in the university is the Grading system that is implemented to help the instructors in distributing grades of more or less 7000 students in the university. After being enrolled in the university, the next thing to do is to learn the lessons and be productive and at the end of the semester, acquire a grade from your hard work. Grades are normally handed to the students personally because in the event that the student wants to complain about their grade, the instructor is there to explain the matters concerning the failure of grade. In some universities, grades are forwarded automatically to the Registrar’s office and students would not be able to make complains anymore because it was already forwarded by the teachers to the Registrar. Good for those universities that have manual system on giving grades to the students, I can say that they have concerns on the part of the students especially those students that have failing grades. But what if the instructor is not present during the distribution of grades and grades are badly needed especially to those scholars that are requested to pass copy of grades in their good office? It would also cause delay to the upcoming enrollment since grades are not given to the students, the process on advising will not be entertained also. They considered that as a problem in giving grades to the students that is why Grading system was developed. The system was not that recognized enough to the students for it is subject to system checking and testing but based on what we experienced on our other minor subjects, we weren’t able to meet them and get our grades to them but with the use of the online Grading system, we were able to know our grades even if the teachers are not present.

How do we know that the life cycle was developed specifically for the university?

The basic thing a systems analyst must do is to analyze what problems might a certain organization have and in order to do that, he must conduct some research and gathering of information. Before putting up a system, the objectives must be stated and the problems must be determined in order to have a specific system to do. As for the system implemented in the university, specifically the Enrollment system and Grading system, they undergone several phases or should I say undergone life cycle before ended up being deployed in the institution. Even if the systems are already revised systems or updated systems, it must always follow the life cycle on making a system since new problems may arise or the needs of the users, especially the students and the university staffs, become more complex that the system deployed cannot support transactions anymore. The system must undergo the basic phases again to modify what should be modified. First thing that a systems analyst must consider is the complexity of the needs of the users. After defining the problems encountered in the system, the systems analyst must have reports on what problems were determined and produce recommendations on what to do to achieve better service through the means of the system. After recommendations have been shared, the process of coding and software development would then follow. Testing of the developed system would be better if the students and staffs are the ones who will check the system. Certain bugs may come along the way and it is not new when testing a systems. Several modifications in the system would probably be of fewer bugs and closely meet the demands of the users.

In the enrollment system, the students have also undergone series of steps or life cycle in order to become an officially enrolled student in the university. First, they must undergo advising. Advising is where the teacher advises the student on how many subjects should he take in a particular semesters and gives guide on what subjects must he take to budget the number of units he has. After being advised, the form known as Pre-Registration Form must be filled up with the basic information of the student and the suggested subjects and schedules he has in order to get the financial statement of the student. Next step would be on the Finance department. In the university, they have been accepting scholarship grants outside the school or the non-academic scholars which are the politic-sponsored scholars. Regular paying students have their different line of paying their schools fees, particularly in the cashier’s office. The scholars have different line also since they don’t include money on paying their school fees, they line on the students account section where the records of scholars are kept. After the students have paid their bills, they are now one step closer to be officially enrolled in the university and that is in the Registrar where all records of the students are kept secured and confidential. After the documents have been cleared in the Registrar, the student is officially enrolled.

In the Grading system, the students can be able to know their grades through the use of the online Grading system. The student may get his grades there and he can verify his grade in the Registrar’s office for validation and after that it will be reflected on the passbook. This method applies when the instructors are not around during the scheduled releasing of grades.

How do we know it meets our needs?

As what I’ve experienced during my high school years, the Enrollment system that we have was just as simple as following steps in cooking a dish. In other words, our Enrollment system before was not integrated with computerized system that is why no problems were raised. But the Enrollment system in college is a lot more different than in high school because all of the works are automated and there are certain steps that we should really consider in dealing with the system. The Enrollment system in the present situation aids not only the students but also the officials using the system. As what I’ve observed, some students have positive reactions on the system that the university has because one of the factors that the student experience problem is the documents needed in order for them to be officially enrolled. The database were all files of the students are kept is centralized and all departments under the institution have access on the database. It is a lot easier for the students to make inquiries, let’s say, on their financial accounts even if they are inside their department. It would reflect on the system the information of the student because departments are interconnected with the database that is part of the system. As for the part of the staffs and officials that are using the system also, it helped them a lot in maintaining the records of each student updated and confidential. It is necessary that the system you are using is capable of updating any modified entry to avoid duplication of file and data confusion.

The main problem when the semester comes to end is that the grades that are needed in order to renew the scholarship that the scholars have. For most, grades are important when enrollment approaches again. Some problems that can be derived are the delay of releasing of grades because of some technical dilemma or worst, the instructor took an early vacation that caused the students not to get their grades. The Grading system caters the need of the students to have an availability of access to their grades based on what was forwarded in the database. It is helpful enough to those students that are in need of their grades right away in order for them to renew their scholarship since most of the students in the university are scholars.

Meeting the needs of the institution could probably difficult to deal because considering lot of factors that may rise when a certain system is established; the users are also one of the factors that can make the system not successful enough in delivering service. I can say that the Enrollment system that was implemented in the university has meet the needs of the students like me because the enrollment process is successful even if it has to deal with a lot of obstacles like delays and most especially if there are technical problems like the computers that would hang up instantly. One of the proofs that the Enrollment system has met the needs of us students is the enrollment process itself. Under the enrollment process includes the advising of students from their respective advisers. After advising, students are requested to fill out the Pre-Registration Form (PRF) wherein subjects, schedules, and the billing are reflected there. Next thing is the encoding of subjects, this time, the process is now automated that the subjects under your name will be stored in the database that can be used in the Finance department and in the Registrar for verification. After encoding, the students may pay their bill, if they are regular students, but if they are scholars, they may update their records in the student accounts. Lastly, the students may have their Certificate of Registration and Billing or the COR in the Registrar’s office. These processes alone suffice the need of the student to be enrolled in the university in order for them to learn and become productive.

To sum it up, the systems being implemented in our university is really of great help in supplementing the needs of the students and the also for the instructors and staffs of the university. The deployed systems followed the same life cycle like the other system to achieve proper service to the user of the system and as long as the users are satisfied with the methods underlying the system.

Monday, December 19, 2011

Identifying 3 Systems Development Models

The world of Information Technology has already been under software crisis for almost four decades now and most of the software being developed were product of the traditional system development cycle that was proposed ages ago. This kind of software can support the needs of the business organization if the requirements are not that complex enough to be handled by the system. But what if as time goes on, business organization needs are getting complex that the software they have are not suitable anymore to the requirements they need? There would probably be a need of system modification; adding or changing functionality that could be difficult to deal with, other unexpected problems are bugs that can be encountered as modification of the system goes, and span of time concerning the modification of system must be on the top of the things that are needed to consider because it would take the time of the business organization to operate their business.

One way of dealing this complex problem is through the adoption of the system development life cycle that is made to aid the development of a system. It emphasizes the structuring of the step by step phases on developing a system. According to an editor in National Institute of Standards and Technology, Shirley Radack, a System Development Life Cycle is a multistep process on developing a system. It starts with the initiation, analysis, design, and implementation and followed by the maintenance and disposal of the working system. It is a conceptual model that is used in project management that depicts the step by step phases included in a system project, starting from the initial feasibility study through the deployment and maintenance of the system.

Aside from the traditional System Development Life Cycle (SDLC) model that the IT world embraces are other SDLC methodologies that have been developed to guide the processes involved in developing the system. Most common methodologies are the Waterfall Model, the Agile Model, the Rapid Application Development (RAD), Joint Application Development (JAD), the spiral model, the fountain model, and the typical build and fix model. My main objective in making this paper is to identify at least three system development models and discuss each. I will be focusing on Waterfall model, Agile Model, and the Spiral Model for my discussion in this paper.

WATERFALL MODEL

Waterfall model, as what was presented by the reporters, is a System Development Life Cycle approach that assumes a sequential method of handling the various phases of a project, that is, one phase must be polished and done first before going to the next phase. This waterfall model or should I say those models mentioned above including the waterfall model, according to Sir Randy Gamboa, are actually based on the traditional System Development Life Cycle that we had. The ones that are known today are just adaptation on the previous life cycle model. In waterfall model, in order to proceed to the next phase, the output on the previous phase must be done first because the output of the previous phase would be the input for the next phase.

I repeatedly mentioned the word phase here and clueless on what the following phases are so to clear this one out, here are the following phases under waterfall model:

Project Definition

Project definition phase in a simple understanding is the phase where a systems analyst must define the goals of the project, the requirements, and its specification. By defining the goal means investigating first the need of the client. In dealing with this phase, we must be able to interpret what the client wants through communicating with them and sometimes communicating with them may not be as easy as picking up the phone and list the orders that the client wants to be delivered, some say that it is the crucial part of the first phase since misinterpretation at this phase may give rise to the software that is being developed. After the goal has been defined and the requirements have been noted, we must be critical enough to make sure that the specified needs of the client are detailed and accurate in order for us not to meet any ambiguity as we get along with the system. By doing this, it will make the clients confident enough to rely on the system that is handled by you. In this phase also, we as systems analysts must not only meet the need of the clients, that is, to have a new system or an improved system, but consider also that the main reason why they made decision on having a new system is that in order for them to gain more profit than what they have on their previous systems.

System Design

System design phase is the phase where we as systems analysts identify the software requirements along with the hardware requirements because as what was acquired from the previous phase, the requirements are broken down into logical units so that the software process can be easily implemented. In this phase also, we must also interpret the design used to create the system. the accumulated logical units are interrelated to each other so that there would be connection on all the parts needed to create the system and to do that, we are to recognize different algorithms and providing diagrams on the plan can make the work easier to understand and follow. In other words, this phase would focus on the fundamental work for programming and implementation. Documentations are present in this phase because this phase is considered as the crucial phase on developing a working system.

Coding and Implementation

It is clear in this phase that we are to deal with coding after the design has been identified. The source code of the program is written in this phase. It is where the algorithms and diagrams are translated into a functional system. After arriving from a functional system, implementation takes place to check in the produced system has met the need of the client. Any revisions on the system would occur on the next phase which is the testing phase.

Integration and Testing

Integration and testing phase would not be possible if the system has not been implemented. Implementing a system does not necessarily mean that the system is ready for operation but implementation phase is done to check whether certain conditions from the clients are met and if so, testing phase is next to it. It is now the work of the client to test the system according to its, functionality, integrity, capacity to perform the desired outcome, that is to make the lives of the client easier in order for them to gain profit easier also. If the clients noticed some bugs along the implementation, further revision may be done and most probably the system would undergo to another repetitive step or the phases and start in the designing phase to identify the bug and fix it for improvements.

Deployment and Maintenance

This is probably the last phase of the Waterfall Model, where the system has being tested and is checked by the clients for the acceptance, is now ready for deployment. The work would not end here for it is necessary for the systems analyst to execute maintenance on every system that they deploy because as clients go along with the system, they may be stumbled on a foreign procedure on the system and it is the work of the systems analyst to explain each part of the system so that clients would be familiarized to it and would be dependent to the systems analyst just for a short while. Other changes and improvements that the client wants for their system would make the entire process under revision and also it will start again from the first phase of the Waterfall model.

Advantages of the Waterfall Model
Here are some advantages of the Waterfall model that I read on the internet:
  • ·         The system requires the output of the first phase for it would be used as the input for the next phase. In this manner, any mistake on the previous phase would be checked and corrected before moving on to the next phase.
  • ·          As said earlier, documentations are emphasized in this model and with that, when the previous workers handed out the system to the new set of workers, it would be easier for them to deal with the system because the documented developmental process is present and they could traced up what part of the system they would follow.
  • ·         The Waterfall model is said to be the most well known methods to the software developers therefore it must be considered as easy to use method.

Disadvantages of the Waterfall Model
Having advantages on the method would make it different to other methods but there are also disadvantages that the Waterfall model deals with:
  • ·         The Waterfall model is known for its step by step process in developing a system but it is difficult for the systems analyst and other team members when clients start to change their requirement in the system. An alteration in the specified plan would greatly affect the whole phase of the system. The waterfall model is not suitable for any alterations after the plan has been identified.
  • ·         One of the important aspects that need to consider is time. The waterfall model could waste a huge amount of time in developing a system because as mentioned above, it is a step by step process and one could not go on to the next phase until the previous phase have been settled. It is on the part of the workers that this matter would waste time, by looking at the phases, when the work is still on the analysis phase, systems analyst would work but other workers like the designer, software developers, and other team members would just waste their time waiting for the previous phase to finish.
  • ·         The testing phase of the Waterfall model is said to be late on the process of implementing the system. Other methods would test the system as soon as they arrive with the system. This would waste time, effort and would take extra cost on reevaluating the said system.

Now that I have defined already the Waterfall model, enumerated the different phases of it, and even cited some of the advantages and disadvantages of the said method, let us now deal with another model, the Spiral Model developed by Boehm.

SPIRAL MODEL

Spiral model is sad to be an adaptation on the evolutionary approach towards the development of the world of Information Technology. It is more on the procedure, rather than a lifecycle because it deals mainly on the concern of process rather than the concern of the product. The method, spiral model, would literally mean a spiral shape. The spiral model consists of four quadrants based on the spiral shape created. Quadrant 1 is where determining of objectives, alternatives, and constraints take place, Quadrant 2 comprises evaluating alternatives, identify and solve risks, Quadrant 3 develops and verifies the next-level product, and the Quadrant 4 which deals with  planning the next phase. In order for us to understand the scopes of each quadrant, let us tackle it one by one.

Quadrant 1: Determine Objectives, Alternatives, and Constraints
The activities executed in this quadrant are:  understanding the system of the system objective – the functionalities of the system, the performance and can easily adopt change whenever possible changes are done, alternatives for implementing the system should also consider – that is, investigating the design, whether it needs to undergo modification, and investigating constraints required on the alternatives – cost of the development of system, the schedule for each working phase, and the risk should be considered in this quadrant. After quadrant 1 has been identified and understood, we may now proceed to the next quadrant which is the quadrant 2.

Quadrant 2: Evaluate Alternatives, Identify, Resolve Risks
The primary focus on this quadrant would be the risk improvement because risks in developing a system are inevitable. That is why evaluating alternatives are investigated to reduce risk as we go along with the development process. According to Boehm, this quadrant would include prototyping, reference checking, conduct simulations, create user questionnaires for further guidelines on the system, analytic modeling, and other risk resolution technique would make up the quadrant 2. Prototyping is a risk reduction mechanism and developers can produce prototypes in each cycle in the spiral model to define a framework on user-developer communication.
After determining the alternatives and resolving risks, next step would be processed next. When performance and operability, for instance, the performance externally and internally, risks remains, it is necessary to undergo thorough prototyping before heading to the next step.

Quadrant 3: Develop, Verify, Next-Level Product
After the process of quadrant 2 where risks are probably resolved, activities to develop, verify, next-level product will be performed. Same in the waterfall model that the verification phase follows as development phase has done. After these following phases would derive the next-level product that serves as the answer to the problem of the client.

Quadrant 4: Plan Next Phases
One of the characteristics of the spiral model that is also present in some models is the repetitive rounds of technical planning and reviews in order to obtain the expected outcome of the system. It is necessary to conclude the system with a technical review that assesses the status, progress, risks, and review plans and identify technical issues to be resolved in the next cycle of the spiral.

Advantages of the Spiral Model
  • ·         Based on the mentioned procedures of the Spiral Model, it could be concluded that it estimates the time needed, the budget, and schedule to develop the system. By this manner, it becomes more realistic as the work progresses, because important issues like the constraints and the risks are determined earlier.
  • ·         Unlike with the waterfall model that other worker cannot proceed to their part because the first phases must be finished first before touching to the next phase but in Spiral model, all works can be done simultaneously because of the spiral process of the model.

Two models are already discussed in my paper and the last one would be the Agile Model. According to the reporters in the previous topic, Agile Modeling is one of the current trends in development and it is under the adoptive approaches of the traditional methodologies.

AGILE MODEL

Agile Model is known to the method that “moves quickly” because of the word agile. This model is actually based on iterative and incremental model of the software development. The most important principle that Agile Model must attain is the customer satisfaction, basically the main reason why software is developed. The system must satisfy the customer with its useful software in a small span of time developing it. It is the collection of innovative, user-centered approach to the system development.

Four Basic Activities of Agile Development
The Agile Model deals with the four basic activities namely; the coding, testing, listening, and designing, in order to identify the amount of effort that is needed to complete the system.

Coding. There would be no system developed if coding would not be present in the system. Coding is the process of expressing what is in your mind and communicates it to the computer, and let the computer interpret what you have in mind. Coding is one of the essential parts in developing a system.
Testing. The second activity that is needed in the development of the system is the testing. It is essential to test what system may be deployed to determine any flaws of it and to solve problems as early as possible. The Agile approach views this activity as critical. It badly needs to undergo checking and testing to eliminate fallbacks on the system.
Listening. The third one is listening. The primary concern in this model is the customer satisfaction and one of attaining it is though interpreting their needs and wants correctly. Listening is an essential part in communication because it is where the developers and the client exchange their thoughts and ideas and most likely the important detail of the conversation, the product or the software they want in their company.
Designing. The last activity in the Agile Model is designing. It is where the organization of all logical structure in the system is created. The designs should be flexible enough to handle changes when the client wants other output from the derived design. Design should be useful to those who needs it as the process of development goes, including the clients and as well as the other members of the development team.

Agile Model Advantages and Disadvantages
Agile model comes in a unique method on dealing with system development lifecycle but let us define the edge of the Agile Model over other structured methodologies and also the fallback of Agile Model that could have negative feedback upon embracing it.

Advantages of the Agile Model
One of the advantages of the Agile Model is the flexibility of the model because it has an ability to respond to the changing requirements of the project quickly. This would result to immediate changes which solve trouble in the future approach. This would also ensure that the effort of the team is not wasted because problems are resolved earlier before it gets worse. In this manner, the produced software can be delivered to the client in the shortest period of time that leads to customer satisfaction.

Disadvantages of the Agile Model
Agile Model can be profitable if the developed system is small because it would take less effort on the part of the developers but in dealing with large systems, Agile Model cannot handle this matter. It is difficult to predict the necessary things needed like the time and effort of the developers because certain changes may arise as they develop the system. Large systems comprise complex modules and parts that is why Agile Model cannot be used here. When pushing through with Agile Model on large systems, the developers must watch and determine carefully the bugs and problem that may come along in order for them to eliminate it resolve right away.

The mentioned systems development models are indeed useful in order to develop a system, whether it is small or large system you are dealing with. Each model have their edges and fallbacks over the other and in order to achieve the desired output, it is up to the developers to mix the phases and procedures of the different models to perform a high quality service to the clients, that is to produce an efficient and working system that would last long until certain updates are needed.

Sunday, December 18, 2011

A Good Systems Analyst...


In order for me to identify what characteristics I possess as a good Systems Analyst, let me first define what a Systems Analyst is and what are this profession’s characteristics and roles in the world of Information System based on what our classmates reported last meeting in our class. 

As what was presented by the first set of reporters, they defined Systems Analyst as a business professional who uses analysis and techniques in order to solve business planning with the use of information technology. Based on my own understanding about the definition of a Systems Analyst, they are the ones who make the “blueprint” of a certain system. Why blueprint? It is because blueprint serves as the foundation and guide of a planned structure to be built, same as with the Systems Analyst’s role, they are the ones who analyze a certain business problem and through proposing a system, a problem may be solved. A Systems Analyst makes sure that the system he handles performs for the betterment of the organization and achieves the goal in the business, which is to have progress as future rapidly approaches.

The work of a Systems Analyst is really a tough profession because it needs a lot of skills to perform his tasks. Before he could solve the business problem, it must be analyzed thoroughly and analysis phase could take ample time before he could move to his next step. According to nextstep.direct.gov.uk, other than analyzing the business problems, his work would also include the following:

Identifying the client organization’s needs. One of the main works of a Systems Analyst. In order for him to have a specific system to deal with, he must identify the needs of the business organization. The organization may comprise of different departments and of different needs and it is the job of the Systems Analyst to find out what those needs are.

Drawing up plans for a modified or replacement IT system. Before a system can be develop, it has do undergo through lots of planning and analysis. After several phases of planning and analysis, a Systems Analyst should not implement his system directly and replace the existing system of the business organization, he should first plan for the modified system and seek approval to the client.

Carrying out feasibility studies of proposals and making recommendations. After the problem has been identified, the Systems Analyst should make feasibility studies on the future system and seek recommendations on which part of the system should they revise or upgrade before developing it.

Working closely with programmers and software developers to build the system. The work of Systems Analyst is to analyze the problem, understand the problem, make some plans on how to solve the problem by developing a system, and design the system to solve the problem. In order to implement the system, he needs the help of a programmer and software developers to actually implement the system. In other words, Systems Analysts cannot stand alone in implementing a system.

Overseeing installation and testing correcting problems ('bugs') before the final version is released. A Systems Analyst may deploy an initial system or trial version to check whether bugs may occur as the system runs, if there are no bugs found, final version may be released.

Providing staff training and instruction manuals for the new or upgraded system. In order for the clients to embrace the new or upgraded system the Systems Analyst has deployed, he must provide manuals or guidelines with regards to the functionalities of the system.

Based on the woks that a Systems Analyst would deal with, I can say that I do not have enough experience yet on making those works but as soon as we handle a company to analyze with, maybe I should give importance to those tasks listed above to perform the role of a Systems Analyst. It is not enough to just have knowledge on what are the works of a Systems Analyst; we have to have ideas also on the skills possessed by a good Systems Analyst. There are a lot of skills required to perform the task of a Systems Analyst, according to the reporters, the skills needed involves Technical, Business, and People Knowledge. On the narrower description of each skills, Technical Knowledge and Skills deal mainly with the hardware, database, the programming languages used, etc.; Business Knowledge deals with strategies, plans and other functions in the business organization; and People Knowledge which is concern on how clients think, learn, react to change, communicate, work, etc.

*On Technical Knowledge and Skills

Computers/peripheral devices. One of the fundamental requirements when you are to deal with the world of Information System is about hardware. Being a Systems Analyst may deal mainly on the software but he/she must ensure that there would be no compatibility issues regarding the software being deployed to a certain hardware. There is a need of specification for software to minimize compatibility issues towards the hardware.

On my part, I have undergone IT Fundamentals since first year and one of our topics were the parts of a computer or the peripheral devices. I think that it is the basic thing that an IT related profession should know before digging up to their forte.

Communication networks and connectivity. As a Systems Analyst, you are to develop a system that can make the work of each department in the business organization convenient, easier, and faster. The System Analyst should have knowledge on communication networks and connectivity in order to meet the need of the client that is to reach every department with the use of technology.

My background on this skill is our subject on Network Technologies. In our subject, we discussed different topologies that can be made in order for the computers to be connected using wires. We also made simulation on connecting the different campuses of USEP using the Packet Tracer that our instructors introduced to us.

Database and Database Management Systems (DBMS). When dealing with a system, its primary job is to handle data being stored by clients and these data are essential in every business organization. Systems Analyst should have knowledge on the database in order to deal with the data storage, data retrieval, and data recovery which are some of the concern of the clients.

We had our Database subject last year under Sir Ariel Pabilona and we had a lot of learning from the past subject. We learned new programming language that supports database system, the Virtual Basic. Virtual Basic is more user-friendly than other language in my own opinion because the codes are understandable and easier modification on the user interface.

Programming languages. Some of the Systems Analyst limit their job in analysis and designing and need not to implement the system because other profession may do the coding but for a good Systems Analyst, there is a need to have knowledge on programming languages even on deciding what language he/she must use in a certain system. It is not necessary that the Systems Analyst should dig deeper on each programming languages, knowledge on each language is enough to support the system he/she would design.

The basic foundation of an IT student is the programming language being taught in school. We have already learned C++, Java, and the previous language which is the Visual Basic. It is necessary in an IT related course to learn programming language because it is the way to communicate instructions to the computer.

Operating systems and utilities. When designing a system, one of the things that need to be considered is the operating system. A user cannot run an application program on the computer without an operating system; therefore an implemented system may not work also without the operating system.

We also had our Operating Systems subject last year, and the fact that we seldom meet with our instructor; we haven’t learned much from this subject. We only have basic knowledge on what is an operating systems and what is the role of operating systems in the computer.

Software productivity packages. The main role of a Systems Analyst is to design a system needed by the clients to attain progress in the business. The system should have the capacity to perform productive outcome to the business organization and some additional features that may be helpful to the clients.

*On Business Knowledge and Skills
Even though I am not yet indulged in any business matters, I can relate this one on handling a school organization because I was once a secretary in our environmental organization and handling an organization needs extra effort in order to attain the goal of the organization.

Business functions performed by organization. One of the things a Systems Analyst must analyze first is the business functions of the organization. As a Systems Analyst, he must determine the functions performed by the organization in order for him to know what system he would develop. In developing the system, he must consider the performance of the system if it is fit for the organization and satisfies the need of the client.

As for my experience as secretary of our organization, it is necessary to know what are the works of an organization in order for the group to perform the tasks needed to satisfy the goal of one’s organization. I can say that I have this kind of skill even though the work that I experienced is not related in becoming a Systems Analyst but a foundation of skills and knowledge in becoming one of it.

Strategies, plans, traditions, and values of the organization. A Systems Analyst must work as if he is part of the organization or he is one of the employees. He should have the knowledge on the strategies, plans, traditions, and values of the organization in order for him to work normally inside the organization. By attaining this mutual understanding with other workers, he may effectively develop a system that is acceptable to the employees and to the organization.

Having a position in an organization needs to have an idea on the plans, strategies, traditions, and values of the organization. Just like on becoming a Systems Analyst, you must have idea on what company you are dealing with.

Organizational structure. By having knowledge on the organizational structure of a certain organization, a Systems Analyst can determine the hierarchy of different entities such as the branches, department, workgroups and individual. This may be a critical part on a Systems Analyst because some data must be kept secured and only those authorized persons are allowed to access the file. A developed system must determine who should access a data for a specific operation.

Organization management techniques. Organization management deals with the planning, organizing, leading, and controlling the efforts of organization members and resources to achieve stated organizational goals. It has to do with managing different departments with different problems and needs. The work of the Systems Analyst is to put together in one system the necessary information needed by the different departments in order for them to have consistent data needed for any business transactions. The Systems Analyst should also learn other techniques that can be used in improving the system developed.

*On People Knowledge and Skills

A Systems Analyst needs to understand how people think. He must think as if he is the employee who is about to use the system. The system should be flexible enough to understand by the clients because the main objective of why Systems Analyst develops a system is for their clients.

I can relate this one when I was the leader of our group. In order for us to meet the expected output of the group, I have to know the opinion of each members of the group. Being a leader may have the control on overruling the group but it should not be practiced because in order to be a leader, you must be a good follower. In order for a Systems Analyst to perform his task, he must listen to what the clients want.

A Systems Analyst needs to understand how people learn. Clients that are trying to adopt the system may have difficulties in learning it. The Systems Analyst should consider the part of the clients as beginners of the system, thus certain manuals and guides may be necessary in the clients' learning.

Just like when we have new gadgets and we are so naïve on that matter because the fact that it is new, we can’t actually use it but the good thing is that gadgets are packed together with its user manual. Just like on the work of a Systems Analyst, he must able to produce a manual on the certain system he designed for the users to have guide on the system.

A Systems Analyst needs to understand how people react to change. As the old proverb says, "You can't please everybody," the Systems Analyst can have the system developed and deployed but the thing is, are the clients ready to embrace the new system being deployed by the Systems Analyst? It is the role of the Systems Analyst to adjust on the needs of the clients.

A Systems Analyst needs to understand how people work. A Systems Analyst must consider the types of work he has to deal with his system. A complex system may be deployed on the upper part of the organization (i.e. Management, finance departments) but it may not be necessary to deploy on the lower level of the organization.

One of the advantages of being a Systems Analyst is that he has the access on the confidential information of the business organization, such as the organization's planned project, security systems, salaries, and other confidential information. "With great power, comes with great responsibility" I may say because the Systems Analyst should keep the information private and confidential. If he gives importance to his job, he would not do any impropriety towards the organization's privacy because it can ruin his career as a Systems Analyst. Another advantage of being a Systems Analyst is the salary it may have in developing a system. According to jobsdescriptions.net, most of the employees working on the field of information technology earn more than the national average, and also for the Systems Analysts. Based on the figures in 2008, labor statistics show a non-supervisory systems analyst averaging around $1400 gross per week, compared to a national average of $600 gross per week. Systems analysts are really paid well because of their expertise and specialized skills. Those who have college degrees in business and courses related to computers also should be able to find jobs in this field. New jobs are expected as more companies try to use computers to improve their businesses. New Internet and wireless technologies are also expected to create more jobs.

Based on the characteristics and skills that are actually done discussing by the previous reporters, I can say that for a student like me, I may not have enough experience yet but looking at the characteristics of a good Systems Analyst I can communicate through means of writing and of verbal communication, I may say that I can easily get along with people especially when we have of same likes and tastes. In terms of work, as long as others would be helpful in attaining the result needed, I am open to other ideas. I may not have the specific skills defined above but may be some of it are progressively enhancing as I get along with my studies and future projects.


****************************************************♥♥♥*******************************************************

Source:
https://nextstep.direct.gov.uk/PlanningYourCareer/JobProfiles/JobProfile0882/Pages/default.aspx
http://www.jobdescriptions.net/technology/systems-analyst/
http://www.prospects.ac.uk/systems_analyst_job_description.htm
http://jobs.virginia.gov/careerguides/ComputerSystemsAnalyst.htm

Wednesday, December 14, 2011

A Systems Analyst as Project Manager

When dealing with a system, a group of IT specialists are expected to handle this matter. A group may not be successful in organizing thoughts without the presence of a leader. An acting leader may give direction on what will the project be, how will it work and who would handle each part to divide the works. Being a leader may have the power to rule the group but it has a big responsibility on handling the group because one member may fail to obtain the desired part of the project and the one to be blame there is the project leader for it lacks leadership and communication to the other members of the group.

In the world of Information Technology, the leader of the group is called the project manager. According to bls.gov, computer and information systems managers play a vital role in the implementation and administration of technology within their organizations. They plan, coordinate, and direct research on the computer-related activities of the company. They oversee all technical aspect of an organization, such as software development, network security, and Internet operations. A project manager must simultaneously manage the four basic elements of a project: scope, money, time, and resources. The said elements are interrelated to each other.

Scope. It includes the project size, goals, and requirements. In order for the project to be properly guided, the project manager should know the size of the project so that everything that is needed in the project can be estimated. The project manager must also have goals on creating the project so that there would be a guide in accomplishing it. The project must be feasible so that there would be no problems with regards to the requirements needed on it.

Money. It includes the costs, contingencies, and the profits. After determining what requirements are needed in the project, certain costs are expected to get the needs of the project. Other possible problems that may occur during the project making may be supported with the money intended for contingencies and the project manager should visualize that after the project there would be profits for all the hard works and financial costs being sacrificed by the group.

Time. In dealing with projects, it is expected that there would be deadlines on every activities planned and the project manager should be knowledgeable enough to deal with time and deadlines. He must visualize the task duration in order to have a specific duration of project making.

Resources. It includes people, equipment, and material. The most important element in a project for without resources, no one would conduct the project, no project will be done. A group of IT specialist is preferred to work on a project. It may consist of a systems analyst, a programmer, a software developer and other professions. Equipments are necessary to build a project because tools are used for planning, designing, implementing and maintaining the project.

After defining the elements of a project that is needed to be managed by the project manager, the next thing we have to know is the steps on how to get started on the project. Here are the steps in managing a project:

1. Define the Scope – as what I discussed earlier, one of the elements in managing the system is the scope. Defining the scope is the most important step in any projects. It answers the question, “What is it you are supposed to accomplish by managing this project?” It basically determines the objective of the project. Most importantly, the project manager should define what is not included in the project.

2. Determine Available Resources – As the project manager, you usually will not have direct control of the people, equipment and money, but you will have to manage them.

3. Check the Timeline – it deals with the duration of the project being developed. As you develop your project plan you may have some flexibility in how you use time during the project, but deadlines usually are fixed. Certain situations like overtime just to meet the deadline would probably cost you to spend some additional pays to the people working overtime. It is better if the tasks are already planned together with the schedule to meet the deadline on time.

4. Assemble your Project Team – get the people on your team together and have time to introduce yourself to them so that you could build a friendly relationship with the team. Most of the team members are technical experts and no need of basic instructions because they are experts. What your role is to manage them to equally distribute the works.

5. List the Big Steps – certain tasks that are of important role in the project could be marked as milestones in order to make it as a guide. It is a good idea to list the steps in chronological order.

6. Develop a Preliminary Plan – Assemble the steps into plan. In this part, it must be determined on what happens first? Who will make the first part? What would be the next step? The thing that is needed to be organized first before anything else is the plan.

7. Create Baseline Steps – after making the preliminary plan, get feedback on it from your team and from any other clients concerning the project. Adjust your timelines and work schedules to fit the project into the available time. Make any necessary adjustments to the preliminary plan to produce a baseline plan.

8. Request Project Adjustments – There is almost never enough time, money or talent assigned to a project. Your job is to do more with the limited resources than people expect. However, there are often limits placed on a project that are simply unrealistic. You need to make your case and present it to your boss and request these unrealistic limits be changed. Ask for the changes at the beginning of the project.

9. Monitor the Team’s Progress – start monitoring what every members of the team is doing. That will make it easier to catch issues before they become problems.

10. Document Everything – as a project manager, it is your task to have records on what was happening in the duration of making the project. Every time a new requirement is added to the project write down where the requirement came from and how the timeline or budget was adjusted because of it.

11. Keep Everyone Informed – it is important that you report to the clients the progress of the project you are managing. Let them know of your success as you complete each milestone, but also inform them of problems as soon as they come up. Also keep you team informed. If changes are being considered, tell the team about them as far ahead as you can. Make sure everyone on the team is aware of what everyone else is doing.

In following these steps, a project manager can be successful in handling the team for the guidelines are already gave to meet the deadlines of the project. If there are still problems in developing the project, there are probably problems on the people handling it or the project manager himself.
As part of our interview with Sir Cornelio Dagot, we have asked him if he had ever worked in teams or did he play the role of a project manager but unfortunately he said that he never experienced working on teams because most of the systems being handled by him could be develop by one person alone. Even working outside big companies, he still works alone in the systems. So as for the question, whether you are a member or the project manager of the team, you are to be responsible of all your work in order to develop a project and to help other members to continue the tasks that are inclined to your profession.

Evidence:

My classmate are carefully listening to what Sir Cornelio Dagot shares to us.



Source:
http://management.about.com/cs/projectmanagement/a/PM101.htm
http://management.about.com/od/projectmanagement/ht/ProjMgtSteps.htm