Systems Development Process
Before starting a discussion of the chosen software, it is important to define the systems development process. When any software is decided to developed, it does not get developed all at once rather this process which is sought to be complex, takes places in various stages, which are these mentioned in the chronological order: Planning, Analysis, Design, Development and Implementation, Testing and Maintenance (Lee, Park and Lee, 2015).
The software that is going to be discussed in this assignment is a software named Schoollog. Schoollog (School log / Schoolog) is a software which promotes active participation of parents by involving them in their ward's education (Rhode et al, 2017). This is a breakthrough software having a feature called Learning Management System (LMS).
With the new Schoollog App for students, the students can be updated real-time with what’s going on in the school. Students can get more than just notices and remarks. This app includes all primary features including (but not limited to):
- Daily Homework Updates
- Attendance Tracker
- Exam Results
- Notifications (Notice Board)
- Student Leave Application
The clients of this software are mainly the educational institutions which requires the effective management of the intricate details of the students (Goodman, Melkers and Pallais, 2019). This software can benefit the clients in various ways:
1. Online Content Library: The most crucial feature of the LMS. It’s like an e-Library for instant content access and content distribution to the students (and teachers). All images, pdfs, word files, videos can be stored into the Online Content Library and can be accessed with the click of a button.
2. Assignments and Discussion Forum: Using an LMS, all assignments submission and marks management can be made online. The submission dates are all online set, and the software doesn’t accept submissions once the time is over, which helps maintain discipline among students. There is also a discussion forum for students and teachers to communicate with each other. The discussion forums are segregated according to subjects and classes for easy management.
3. Communication Management: All communications, be it messages or links of any kind, can be directly done through the LMS. And since it’s all online, we can have all the information about the delivery rate of the notifications as well.
4. Integrated Virtual Classroom and Course Management: The overall ambiance of the LMS will make it feel no less than a classroom. The digital impact, tracking power, and study-at-your-own-time-and-pace only makes it better. The teachers have all the tools to structure the courses and the lectures and chapters associated with them (Sun and Chen, 2016).
5. Reports: A vital element for any institute is to know how effective its working model is. More so for an educational institute, where the future of the children is involved. With tracking reports becoming more comfortable and more natural for the online community, there is no reason why people would prefer out of an LMS.
6. Data Storage in LMS: Since the advent of Cloud-computing, gone are the days where people used to purchase large disk-drives to store data. With SSH connectivity in place, users are never away from their data.
The methodology used for the development of this software is Agile Methodology. Agile methodology was used in the software development because the process was complex and it involved the teeming up of a group of enthusiasts for the process of operation management.
Stages of software development
- Firstly, the idea was generated with the help of Market study, Client Feedback and Sales Feedback.
- An idea research and screening were done which was based on the functionality, usefulness of the software and value preposition (Srivastava, Bhardwaj and Saraswat, 2017).
- The third stage involved a brief discussion of the project with the software developers, some clients and project managers. The project discussion and timelining was used to discuss the technical aspects of the project, UI wireframing and UX flow.
- The fourth step involved the concept development and testing of the Unit, integration, system and a final acceptance of the project.
- The fifth step was market testing and feedback and the final step was a full roll-out of the software (Patwardhan et al, 2016).
The combination of these many complex processes also required a combination of expertise in these various fields.
Tools used for the project
There were different tools used altogether to serve different functions:
- Visual Studio Code: This tool was used in the software development for code building. It is a text editor program which is made specially to serve the function of editing the source code of computer programs. The features of Visual Studio Code includes resolving the bugs and defects, Syntax highlighting, Intelligent Code Completion to speed up the process of software development by checking the typos and other common mistakes that could be avoided but serves as bigger problem in the long run, use of snippets also to speed up the process of programming, restructuring the existing code in code refactoring and the use of embedded Git which is a distributed version control system to track the changes in the process of software development. Software developers working on the software had the option to customize the theme and the graphic appearance, keyboard shortcuts, preferences and to install those extensions which could improve the functionality (Jongeling, Datta and Serebrenik, 2015).
- Amazon Web Services (AWS): This toolkit was used in the process of software development which is a secure cloud services platform, which offers the power to compute, storage of database, content delivery and other functions which has greatly helped the software to grow up to the position where it lies today. This tool was used because it effectively does the task of providing security and it also protects the privacy of the software. The AWS infrastructure is designed in a way to keep the data in the software safe no matter the size of the data.
- Asana: This is a software which can be used to help the teams working together to do an organized work, track and effectively manage their work. In the process of software building and its sales. With so many people working together as a team on a single team, Asana did the task of simplifying the workflow management.
- Android Studio: It is an official software falling under the category of Integrated Development Environment (IDE). This software consists of tools which helped in the software development like Source Code editor, build automation tools and a debugger which assisted in a thorough check and detection of errors and thereby its correction at the same time. The entire coding for the development of the android app was done in Java which is also the preferred coding language of Google.
It is an umbrella term which contains all the written documentation of the software building process. The documents of the same are created using the software development cycle. The existence of the documentation process is to explain product functionality, a sound unification of the project related information.
The main aim of the documentation process is that the project owners and the clients are running in the same direction so that the objectives are met. There are two types of documentation, namely:
Product Documentation which gives a description of the product that is being developed and instructions on how to use it:
Learning Content Management System, has emerged as a technology gift for the education industry. With thousands of schools now getting online and many more to go, LMS is sure to become a trend-setter. These tools can sure shot improve teaching patterns and the effectiveness of the teaching methodology (Kasim and Khalid, 2016). For the non-technicals, an LMS is a software toolkit wherein you move your education materials to the digital platform. The students can then access the documents and interact with the teachers via the software itself. Sounds exciting, right. During times such as the present, with the institutes closed, an LMS indeed seems a perfect solution for schools and institutes alike.
The features of this software include:
- Daily Homework Updates
- Attendance Tracker
- Exam Results
- Notifications (Notice Board)
- Student Leave Application
This software has some of the additional features which includes:
- View Unseen as well as Seen notifications
- View loaded data without internet connectivity later on
- View homework for previous & next dates easily
- Attachments (images, PDFs, docs) in Homework & Notifications
- Images and documents stored in external storage
Process documentation is a documentation process that provides all the written documents that are produced during the process of software development. The points that should be included in the product documentation are:
Roles and Responsibilities: The participants of this project includes all those people who collectively served their tasks together so that the project could be completed successfully. It includes project managers who monitor the project, developers who code, and marketing officers who look over the marketing department, backend developers to develop a robust backend architecture.
Team goals and business objective: Technology can play a positive role in a child's learning and development. Leading edTech companies such as Byju's, Toppr are providing various solutions to facilitate the effective learning of students. But the project owner feels that the schooling system does play a necessary role which cannot be omitted. If provided with the right tools and technology, schools can facilitate faster growth in a child’s learning, aptitude, problem-solving and provide them with the basics necessary to tackle various competitive exams and interviews later. Concept-based and adaptive learning and test platforms are being adopted more and more in schools, with the use of technologies such as Artificial Intelligence and Machine Learning, which help generate conclusive insights and analytics for tests and learning. Goals are to assist all the educational institutions to use this software for the facilitation of education.
Background and Strategic fit: This software was built to enhance the method of concept based learning in schools. Concept-based learning in contrast to traditional learning focuses on core concepts that foster knowledge and facilitates learning. The traditional methods merely connect students to the source of information which may or may not be retained for a longer period of time, whereas, conceptual learning focuses on making the students understand the core idea to retain the information as valuable knowledge which they can apply throughout their lives.
Acceptance criteria: The list of accomplishments in 2019 alone includes facilitation of online fee payment through the software, balance sheet maintenance, online library management, creation of student wallet, Schoollog admin app, Pay-roll management, teacher app revamp, income and expense management, enquiry follow-up and many such more online facilitations.
Application of the tools in Software building of Schoollog
- Visual Studio Code was used in the software building process for the compilation of the commands, to assemble them together so that they could be used into building the software Schoollog which could later be executed.
- Amazon Web Services (AWS) was used for server rendering and database. Server rendering can be defined as an important function in the process of software development. When the server of the software receives a command or a request, it sends the components that are required for this process into a HTML string, which is when the HTML string sends back the response to the client.
- Asana was mainly used for task scheduling and work flow management which helped to simplify the team-based work management up to a great extent. This software helped to maintain a smooth coordination between the important team members in the software development such as the Backend development head, the mobile application development head, the manager of the operations, the national sales head, the brand manager, the customer acquisition head and one of the most important members: the senior software developers.
- Android Studio was used for the process of effectively developing the android application for the software. The android application of Schoollog was created for the student, teachers and parents with the help of this software which assisted in locating the bugs and debugging those.
It is a diagrammatic representation of the processes of the software building. The software building process is a complex phenomenon which requires coordinated team work between a team of efficient workers. The steps are Analysis, Design, Implementation, Testing, Release, and Maintenance.
It is a process by which the software is modified from time to time to suit the need and the changes of the clients. Software maintenance is the final step of the Software development process which goes on until the software is in use. The main purpose of regularly maintaining the software is to modify and update the software and the mobile applications after its delivery to the clients so that the faults which occur are instantly corrected and the performance is improved (Elish, Aljamaan and Ahmad, 2015.).
In the software and its android application discussed, i.e. Schoollog, the task of the team does not end after delivering the software to the various educational institutions. A team of software engineers keep working with the software, finding bugs and debugging it so that it does not create any nuisance for the clients and runs smoothly. With the constant vigilance and according to the feedback of the client, the software is updated accordingly. The client feedback maybe in the form of s certain problem while uploading the details of the students, for instance some details automatically getting ruled out, or for instance a problem the student faces while accessing the online library or while uploading his assignments. There are a lot of problems that might occur in the process of running the software hence this step of maintenance is very important.
Effectiveness of the Agile methodology
The word Agile is not just another synonym meaning quick, in the sphere of project management it is one of the most popular project management methodologies that focuses on collaboration, flexibility, a constant improvement in the processes, and yielding high quality results. I used the famous project management blueprint named scrum to undergo the project successfully.
- One of the core values of the agile methodology that helped me a lot in the process of software building process was the effective coordination and interaction amongst the individuals over the processes and the tools. As for instance this methodology enhanced the interaction between my software development team and the team that was responsible for managing the needs and the requirements of the clients (Omar and Abdullah, 2015).
- Another core value that helped me a lot is the preference of customer collaboration over contract negotiation. Customer collaboration are the actual customers who are purchasing the products, here they are those educational institutes which purchased the software. In today’s marketplace, it has become very important to understand and address the needs of the customers. In the process of our software development, constant feedback was being taken from the schools and colleges buying our software and changes in software were made accordingly. My team of the project managers, software developers basically everyone in the team executing the project were in coordination with the clients so that they could understand the needs better.
- The early and continuous delivery of the software to the customers by us helped to maintain a trust and satisfaction in their minds for our products. A quick delivery of the project is also one of the salient features of this methodology that I have used. As for instance, the educational institutions moving towards digital education methods during the corona virus outbreak, the sudden closure of those schools and colleges created a sudden upsurge in the demand of the software and also a speedy delivery, where the agile methodology proved to be a helping factor.
- The meaning of working software over comprehensive documentation is that the delivery of software should come first in the priority list before creating the documentation. In the process of the software development of Schoollog, I received a constant feedback of the clients. It means that if the process was documented, it would become a tedious task to change it every time there occurred a change in the software according to the feedback from the front end. There is also one issue that the developers and the project managers may end up designing some part of the project that are not really necessary for the project.
- The fourth value of the Agile methodology is responding to change over following a structured plan. Any project plan is created at once hence it fails to address the problems that might occur in the future. Change is one of the most important tools that helps in the creation of great projects. My team of the project working on the development of Schoollog would quickly respond to the needs of the clients and the users, which helped in the development of a product which was relevant and useful for the educational institutions which are the target clients. This development of the software catering the needs of the educational institutions proved to be specific, beneficial and handy to them.
Future uses of Agile Methodology
I used customer collaboration over contract negotiation which made sure that the developers who are responsible for the process of maintenance do quick repairs in the software according to the problems that the clients face, clients which are mainly the educational institutions such as schools and colleges.
The team responsible for developing the software made sure that they spend more time and energy in building the software and delivering it to the client than documenting the system. Documentation of the processes has proved to be a big hindrance in the process of project management. On the other hand, this methodology does not mean that the documentation should not be created, it rather means that the documentation process should not hinder the processes of the project.
Blindly following the project would miss the feedback deliverables, hence thereby affecting the customer satisfaction. Also, it is a fact that with time and more knowledge about the software, the ability to make changes decreases. It was observed that this methodology gave the team of the software developers and the project managers more opportunity of success therefore in the future, the project managers and the software developers need to make sure that their deliverables cater to the needs of the clients instead of rigidly following the project plan.
Elish, M.O., Aljamaan, H. and Ahmad, I., 2015. Three empirical studies on predicting software maintainability using ensemble methods. Soft Computing, 19(9), pp.2511-2524.
Goodman, J., Melkers, J. and Pallais, A., 2019. Can online delivery increase access to education?. Journal of Labor Economics, 37(1), pp.1-34.
Jongeling, R., Datta, S. and Serebrenik, A., 2015, September. Choosing your weapons: On sentiment analysis tools for software engineering research. In 2015 IEEE International Conference on Software Maintenance and Evolution (ICSME) (pp. 531-535). IEEE.
Kasim, N.N.M. and Khalid, F., 2016. Choosing the Right Learning Management System (LMS) for the Higher Education Institution Context: A Systematic Review. International Journal of Emerging Technologies in Learning, 11(6).
Lee, J., Park, J.G. and Lee, S., 2015. Raising team social capital with knowledge and communication in information systems development projects. International Journal of Project Management, 33(4), pp.797-807.
Omar, M. and Abdullah, S.L.S., 2015. The impact of agile methodology on software teams work-related well-being. International Journal of Software Engineering and Its Applications, 9(3), pp.123-136.
Patwardhan, A., Kidd, J., Urena, T. and Rajgopalan, A., 2016. Embracing Agile methodology during DevOps Developer Internship Program. arXiv preprint arXiv:1607.01893.
Rhode, J., Richter, S., Gowen, P., Miller, T. and Wills, C., 2017. Understanding Faculty Use of the Learning Management System. Online Learning, 21(3), pp.68-86.
Srivastava, A., Bhardwaj, S. and Saraswat, S., 2017, May. SCRUM model for agile methodology. In 2017 International Conference on Computing, Communication and Automation (ICCCA) (pp. 864-869). IEEE.
Sun, A. and Chen, X., 2016. Online education and its effective practice: A research review. Journal of Information Technology Education, 15