Adaptive System Development
And Description on Different Methodologies
System Development is a process of defining, designing, testing and implementing a new system or software program. It is a process of completing a planned project with a process and end goal to produce a well-developed System (Satzinger, Jackson and Burd, 2012). The methodologies commonly used are Predictive and Adaptive Methodologies. However, this report only focus on Adaptive Methodologies (Jacob et. al, 2016). An Adaptive Methodology can be defined as the method develop for the creation of the software systems and can be best-suited for projects with higher levels of uncertainty. This system development which has replaces the traditional waterfall cycle is made up of three steps that are Speculate, Collaborate and Learn (Satzinger, Jackson and Burd, 2012). Speculate is the initiation and planning of the system, collaborate can be describe as the concurrent feature development step and learn can be explained as the quality review (HighSmith, 2000). This process works on the continuous process of learning and adaptation to the emergent situation of the project (Jacob et. al, 2016). This adaptive process is based on an empirical process control system which means both the design of the project and the process to create the solution can be continuously adjusted based on the changing situation of the project. Similarly, this process helps to get better ideas at the end of the project and illustrate the project easily and maintain the high quality of the work (Verheyen, 2014). Some of the different methodologies of the Adaptive System Development are Unified Process, Scrum and Extreme Programming, which will be further briefly described in the reports below.
Scrum is one the methodologies of the Adaptive System Development which is defined as the framework of project management that focuses on the framework, accountability and iterative progress towards the well-organised goal (Satzinger, Jackson and Burd, 2012). The framework has simple three process that is start with what can be known then track the ongoing process and tweak it as necessary. In this methodology transparency, inspection and adaptation are the three main pillars of the system development (Verheyen, 2014). The main benefit of using this system is that it helps to save money and time also plays important role in building the teamwork (Jacob et. al, 2016). As it is one of the adaptive system development methodologies it adapts to the ongoing environment of the company very easily and it is also very easy to use. Although Scrum is very easy to use it has some limitations as well (HighSmith, 2000). It is considered as the leading causes of scope creep. Similarly, if team members are not determined, the project can never be completed and fail. It is good for the use of small projects which are small and fast moving. This methodology needs experienced team members only. If the projects members are novices, the project can never be completed on time. Some projects are quite specific and needs specific methods for handling (Satzinger, Jackson and Burd, 2012). In that case, Scrum can be used when team members are limited as it gives the fast response to the changes and functional tests are frequent in the method and it has direct collaboration with the clients (HighSmith, 2000).
Extreme Programming (XP) is one of the method of adaptive agile software development frameworks which aims to the production of higher quality of software and high quality of the team (Jacob et. al, 2016). It is also the most appropriate engineering practices for software development (Satzinger, Jackson and Burd, 2012). XP works based on its core values: communication, Simplicity, Feedback and Courage. Communication has been most important factor in the team which helps to know the ideas and methods of its team members. XP keeps its development clean and simple which can be understandable to one and all and that will be helpful to find the bugs and fix them. Through the regular feedback about the previous efforts, development team can locate the area of development and rectify them. Similarly, Courage has been defined as the effective action in the face of fear by Kent Beck (HighSmith, 2000). This definition shows a preference the action which are not harmful to the team. There should be respect among the team members to communicate, provide and receive feedback that maintains the relationship and helps in the better development and design systems (Jacob et. al, 2016). XP is productive program which that coding is done in pair and no coding is added or removed until the final testing is done. Similarly, it doesn’t add any new feature until the request of the client. XP is mostly appropriate to the dynamically changing software environment and there is risk that is caused by the fixed amount of time project that uses new technology. It is useful to mostly small, co-located development team which may consists a member two and twelve.
Unified Programming (UP) is defined as the object oriented adaptive system development program that uses the Unified Modelling Languages (UML). It is also and attempt of creating programming language which combines all the features of scripting and compiled languages that has none of the defects (Satzinger, Jackson and Burd, 2012). UP is a complex programming system as it does have pre-defined commands/functions, data structures, operators or conditions. It is the popular iterative and incremental software development process framework. It also defined as the Rational Unified Process (RUP) (Jacob et. al, 2016). UP is not a simple process but a rather an extensible framework that can be modifies as per the specified organizations or projects. The Unified Process is divided into the following four phases: Inception, Elaboration, Construction and Transition. Inception is the smallest phase of the project (Jacob et. al, 2016). All the common processes are undertaken in this phase that includes use case diagrams, conceptual diagrams and package diagrams. Construction phase is the biggest phase in the project (HighSmith, 2000). In this phase the remainder of the all the project is completed. That includes activity diagrams, sequences diagrams, collaboration diagrams, state transition diagram and interaction overview diagrams (Verheyen, 2014). In the transition phase the system is deployed target users. So, UP is the one of the complex adaptive system development.
In conclusion, in my opinion XP is the most effective method of adaptive system development for the project of BGBG. XP gives the framework of the project and helps in the production of the high quality of software. So, after all the detail studying of the different methods and case study Extreme Programming is considered as one of the best suitable method for the development of the software development.
Memorandum
To: Lenny
CC: System Management Team
From: Suraj Kumar Agri
Date: 27 May 2018
Design: Design of Computer Interface
Here in this report, I have attached detail of my all designs for the application in question for the BGBG. Event Table, Domain Model Class Diagram, Design Class Diagram, Use Case Diagram and Use Case Description are some of the details attached with this report. The interface that is design should be self-working so that the user will not have to consult any other notes. That’s why I have tried to make this as simple and initiative as possible.
As known to all, this application is the tool for examining and recording the various proposal from the sponsorship and hence it is a benefit for the overall success of the company. I have tried to make it as simple as it is. I have tried to keep some of the important information into the loading screen such as Company’s Name, logo of the Company and Year of its establishment. After logging the app, then it directly takes dashboard where the status of the Company is shown. This dashboard can be also opened by swiping on the left side of the screen. Then all the active sponsors will be displayed but the user will have the options to close and open the given dash board.
Similarly, on centre I would like add some buttons that will trigger the different tasks. “Create a new Profileâ€, “Add New Sponsorsâ€, “Statisticsâ€, just to name few which will give easy access to the pages.
All the records and details that has been obtained will be placed in the specific tables of the database. Once the button to create a profile is clicked then will appear a form where all the empty places to fill the necessary fields will appear such Sponsor Type, Name, etc. Forms of similar type will also be available to all the other buttons as well. The given statistic tab will show the all the statistics of the sponsors that will make easy to the user to get the details.
I would to design the app keeping data redundancy in mind. Everything that has been recorded will be shown in updated version to the end-user. On the right swipe the home screen I would like to keep some contacts which will make easier to look for required sponsors.
This app has been designed in the iterative manner which can be changed as the project will progress but in the starting phase this is the type of Human Computer Interface that I would like design.
I would grateful for your feedback on this.
Regards,
Suraj Kumar Agri
(Snr. Designer)
RSNJD