Adaptive Software Development Approach
The adaptive software development approach is done by following the adaptive practices. The main focus of the adaptive approach is to establish collaboration among the team members and participants from client side. Moreover, the approach also takes enhancement of techniques for completing a complex project very seriously. The evolutionary lifecycles and best practice of RAD model has been combined and examined to create the adaptive software development model. The adaptive model is a cyclic model which has phases called Speculate, learn and collaborate. The common activities of a system development model are requirement gathering and analysis, design, development testing and deployment. The adaptive models offers the phase execution flexibility. The flexibility is applied with some specific rules that are compatible with the adaptive model only.
The advantages of the Adaptive Model are as following.
- The adaptive SDLC is capable of handling scope creep. The scope creep is the situation where additional scopes are created during the development. The adaptive approach create each software unit separately and this makes the handling scope possible. The scopes are created based on the new system requirements.
- The adaptive approach makes the project cost cheaper and allows to deliver product in less time. The adaptive model does not concentrate on the requirement and planning phase thus design and development phase gets more time.
The disadvantages of the Adaptive Model are as following.
- The adaptive approach does not focus on the documentation part. This makes issue when the client organization needs to have a recorded document for the project progress.
- The extensive amount of scope creep can make the project suffer. The team will not be able to cope with the changes in the requirement and deliverable when a big project is being undertaken.
There are three roles in the scrum model such as scrum master, scrum team and product owner. The product owner is the person who gets the final product of the project. The scrum master manages the processes of the project. The scrum team is responsible for completing individual works of the project. The project owner creates the backlog of the project which consists of requirements in priority. The sprint is initiated with the top prioritized requirements in the backlog document. The team will be working hard for delivering the project within predefined deadline.
Advantages of the Scrum are as flowing.
- The development phase of the scrum method is better than most of the other SDLC methods
- The Scrum follows incremental delivery system that can result into shorten marketing time
- The Scope of the project can be changed or new scope can be added during development
The disadvantages of the Scrum model are as following.
- The project is defined well. Therefore it can be difficult for the Scrum master to decide time and budget
- Additional time and resources are required to conduct regular meetings
The extreme programming concentrate on developing a project rather than other phases. The extreme programming have five values like communication, simplicity, feedback, courage and respect.
The advantages of the extreme programming model are as following.
- The project is delivered in very quick time
- The codes are simple and later modifications are extremely easy
- The project is code centric
The disadvantages of the extreme programming model are as following.
- XP can be completed by skilled and experienced staff
- The effort for making codes simple can create issues for the development team
- The testing process is very frequent and demands change in the code every time this is executed
Recommendation: As per the information provided above section regarding the SDLC methodology, it can be said the Extreme Programming can be a suitable solution for OJL System. The organization will get the system faster and the system will be based on organization processes mainly. The OJL needs to upgrade the system later as the business processes are not fixed yet. The extreme programming is the best choice among the above three methodologies.
Memo To: Owner Colin Grey From: << Student >>, Date: 01-10-18 Sub: System Requirement Collection Method for Proposed Internal System Project. |
All the different countries of the world today use various different kinds of methods and tools to gather requirements for management of software. Brainstorming is among one of those very important requirement gathering method that is very effective if done correctly. The main concept behind a successful brainstorming method is taking down advices, suggestions as well as critiques from various type of group of people that may include employees and staff of the same sector of the industry and from the different sector of the industry. Brainstorming is done via various medium and all the different types of method can be implemented depending upon the type of result. One-on-one is one such methods where an analyst ask various types of question to the person who has been interviewed to gain different perspective about the subject of the interview. This sort of interview is mostly recorded for future references and the recording should be done by properly notifying the interviewed person about it. It should be noted here that the person that will be conducting this sort of interview should have an understanding of the subject so that he/she can ask very specific as well general type of question to the interviewee. There is another type of interview in which two or more person are asked the same question in which they have to respond, and this type of group interview can give the manager of the interview various insight of the issue which can be useful in making a more advance system. The only demerit of this method is a lot of time is wasted during the process. Questionnaire can be given id the subjects of the interview are too much in number or according to the demand of the project. The question should not be generic in nature rather should be very precise to what the project might need. Pre Existing studies should be taken note of so that there is enough information about the history of the project to avoid any delay of project. The issues that were not acknowledged earlier should be made to identify to the developers. AJAD and JAD are two more programmes that can be used to gather the requirement of the project. In JAD, many different types of sessions are held in which the sponsor, subscribers, and user along with the staff member and the managers share their insight upon the subject. This is where manager =s would be able to give an inside analysis to the users about the inner methods of works that is used in the management of that organisation. The function of the AJAD is almost the same of that of JAd, but instead of doing the work or taking suggestions manually, the machine does it for the organisation. Making a prototype is always a wise decision by the management of the organisation as it gives an insight to the developers of the shortcomings of the project before its actual installation begins. The above few methods to gather requirement is to be used for Old Jobs LTD as they are trying to make analysis of their business and its functions in which a vehicle needs to be driven by the employees of OJL. The questionnaire method is being used, which has to be distributed among all its employees which will contain questions about the specific information of certain vehicles that they might be driving for OJL. This is done so as to evaluate the employees about their knowledge of the parts of vehicles. JAD will also be held in which Tom Smith will be generating the report of OJL on a monthly basis where discussions will be held on the working of this company. Along with that all its customer’s name, email, number as well as their email will be analysed. There is also a request from Tom smith to maintain a database of all the staff, there joining data and contracts details along with the precise details of the discussion that are held in JAD. Prototypes has been used by Colin Gray and Gary Tal to get the necessary information of the project. |
Event |
Event Type |
Trigger |
Source |
Activity/Use Case |
System Response/Output |
Destination |
Create Account |
External |
Staff Employment |
Admin |
Register |
The admin create the profiles of the staff in the system |
Staff |
Login |
External |
Staff System Access |
Staff |
Login |
The staff will enter the login credentials to login to the system |
Staff |
Enter license details |
External |
The system gather license related details into the system |
Staff |
License Details |
The staff will enter the details provided on the driving licence to register it into the system |
Staff |
The system generate job reports |
System Auto Generated |
The customer manager wants to know about jobs |
Customer |
Job report |
The customer manager will get job reports each month. The job reports will be created each year also for audit purpose |
Customer Manger |
Customer wants to register a new job |
Customer |
The customer wants to hire new temporal employees |
Customer |
Creates Job |
The customer wants the organization to find some staff who are skilled enough as mentioned in the job profile |
Staff |
Removing User data from the system |
Internal |
The organization wants to delete user history |
Administrator |
Delete User |
The organization removes all the personal data and login credential of that staff or customer from the system |
Customer/Staff |
Assign Car |
Internal |
Delivery/ Communication |
Administrator |
Assign Car |
The system can administrate which car to provide to the staff for each job |
Staff |
Use Case Description
Name |
Creates Job |
ID |
UC_Customer_02 |
Description |
The business customer will post jobs in the portal |
Actors |
Customer |
Organizational Benefits |
The organization will get more service |
Frequency of use |
The customer will use the system to enter jobs every time |
Triggers |
The customer wants to hire new employees for temporary |
Preconditions |
The job is registered already |
Postconditions |
All the staff can see the post |
Main Course |
The customer will enter job The admin will review job The customer will enter employee required and needed skills |
Exceptions |
EX1: Needs to update an old job which is already done 1. The admin will re-active the job with additional requirement |
Amalfitano, D., Fasolino, A.R., Tramontana, P., Ta, B.D. and Memon, A.M., 2015. MobiGUITAR: Automated model-based testing of mobile apps. IEEE software, 32(5), pp.53-59.
Bruegge, B., Krusche, S. and Alperowitz, L., 2015. Software engineering project courses with industrial clients. ACM Transactions on Computing Education (TOCE), 15(4), p.17.
Chauhan, B.D., Rana, A. and Sharma, N.K., 2017. Impact of development methodology on cost & risk for development projects. In 2017 6th International Conference on Reliability, Infocom Technologies and Optimization (Trends and Future Directions)(ICRITO) (pp. 267-272). IEEE.
Chowdhury, A.Z.M., Bhowmik, A., Hasan, H. and Rahim, M.S., 2018. Analysis of the Veracities of Industry Used Software Development Life Cycle Methodologies. arXiv preprint arXiv:1805.08631.
Dora, S.K. and Dubey, P., 2015. Software Development Life Cycle (SDLC) Analytical Comparison and Survey on Traditional and Agile Methodology. National Monthly Referred Journal of Research Science and Technology, 2(8).
Fernández-Sáez, A.M., Genero, M., Chaudron, M.R., Caivano, D. and Ramos, I., 2015. Are Forward Designed or Reverse-Engineered UML diagrams more helpful for code maintenance?: A family of experiments. Information and Software Technology, 57, pp.644-663.
Fitzgerald, B. and Stol, K.J., 2017. Continuous software engineering: A roadmap and agenda. Journal of Systems and Software, 123, pp.176-189.
Hameed, A., 2016. Software Development Lifecycle for Extreme Programming. International Journal of Information Technology and Electrical Engineering, 5(1).
Matharu, G.S., Mishra, A., Singh, H. and Upadhyay, P., 2015. Empirical study of agile software development methodologies: A comparative analysis. ACM SIGSOFT Software Engineering Notes, 40(1), pp.1-6.
Nagaraj, S. and Zimmermann, A., 2016. fDRIT-An Evaluation Tool for Transient Removal Methods in Discrete Event Stochastic Simulations. Proc. of VALUETOOLS, Taormina, Italy.
Nanthaamornphong, A., Carver, J., Morris, K. and Filippone, S., 2015. Extracting uml class diagrams from object-oriented fortran: Foruml. Scientific Programming, 2015, p.1.
Sharma, C., Sabharwal, S. and Sibal, R., 2014. Applying genetic algorithm for prioritization of test case scenarios derived from UML diagrams. arXiv preprint arXiv:1410.4838.
Störrle, H., 2014, September. On the impact of layout quality to understanding UML diagrams: size matters. In International Conference on Model Driven Engineering Languages and Systems (pp. 518-534). Springer, Cham.
Tabassum, A., Bhatti, S.N., Asghar, A.R., Manzoor, I. and Alam, I., 2017. Optimized Quality Model for Agile Development: Extreme Programming (XP) as a Case Scenario. INTERNATIONAL JOURNAL OF ADVANCED COMPUTER SCIENCE AND APPLICATIONS, 8(4), pp.392-400.
Torre, D., Labiche, Y., Genero, M. and Elaasar, M., 2018. A systematic identification of consistency rules for UML diagrams. Journal of Systems and Software.
Torre, D., Labiche, Y., Genero, M., Baldassarre, M.T. and Elaasar, M., 2018, May. UML diagram synthesis techniques: a systematic mapping study. In 2018 IEEE/ACM 10th International Workshop on Modelling in Software Engineering (MiSE) (pp. 33-40). IEEE.