Examining The Strengths And Weaknesses Of Software Information Technology Essay
In the past few years,theres been a blossoming of a new style of software methodology,the name is agile methods. Agile methods is under the premise of guaranteed to software development have successfully output of decrease the activities and products as far as possible in the process of developing..Most software development is a chaotic activity, often characterized by the phrase “code and fix”. Agile methods make the fussy process become easy so that more and more enterprise and people choose to use agile methods. In semester 2 ,we studied the knowledge about DSDM, XP, SSADM, RUP, ETHICS, CCMI . In this essay I explore the reasons for agile methods and I will focus on comparing the strengths and weaknesses of DSDM and XP. Because they are the mainstream agile methods in recent years and respectively introduce their principle, characteristics, applicability and some other aspects about this two methods.
2. Definition
Dynamic Systems Development Method (DSDM) was developed by a UK consortium in the UK in the mid-1990s.This view has been supported in the work of Jennifer Stapleton(1997). It is a practitioner-based methodology and this consortium are involved in Rapid Application Development (RAD) development of software systems.DSDM developing very fast, British Xansa company released that DSDM and traditional development methods adopted in productivity comparison from 1994 to 2001. Conclusion is after used DSDM¼Œthe productivity improved 202 per cent.This view has been supported in the work of Alistair Cockblum (2003) . It describes all aspects in rapid development business centered environment.
XP(Extreme Programming) is based on the development experience of a single author and is aimed at developers,so it is a practitioner-based method. The first Extreme Programming project was started March 6, 1996. Extreme Programming is one of several popular Agile processes. It has already been proven to be very successful at many companies of all different sizes and industries world wide.¼ˆDon Wells,1999¼‰
3.Strengths of DSDM
In the objectives aspect. In the eight principles of DSDM,we can find ‘deliver on time ‘, DSDM assumes that 80 per cent of the solution can be developed in 20 per cent of the time that it would take to produce the total solution in order to shorten development times,at the same time to deliver that will have the biggest business benefit first. Stapleton (1997, pp.13) states that ‘ a way of developing application systems that truly serve the needs of business ‘.Therefore the first strengths of DSDM is use time as shorten as possible and it will make the biggest business benefit first.
It is about truly understanding the needs of the business and delivering solutions that work – and delivering them as quickly and as cheaply as possible(Stapleton,1997,pp14),Therefore,we can find use DSDM not only fast,but cheap.
Staleton (1997,pp.65) states that ‘ DSDM is more than anything about improving communications between all parties involved in the development of a system ‘.Developers will make more communications with who will work with the system and the system must be maintainable after delivery.The other strength is it helps customers know more about the product,and after delivery, developers will maintenance the product.
In the domain and target aspects.The strengths of DSDM are most easily applied in system,and it can be used in large project.
For techniques.Staleton (1997,pp.14) states that ‘ DSDM describes project management, estimate, prototype build,time box method, configuration management, testing , quality assurance, roles and responsibilities (of both users and IT staff) , team structure, tools environments , risk management ,building for maintainability, the relationship between suppliers and buyers’ .DSDM use timeboxing, so end-user of DSDM can save time and money by becoming members of the Consortium. It can protect delivery stays being the focus and support the main project to realise the development on time and make out with the good quality.It concentration is on the top priorities and all people who relate about the project know how long to expect each other to take. MoSCow is one of the strength in DSDM. It’s rules is used for prioritising requirements. It is an acronym that stands for must have, should have, could have ,want, but won’t have this time.This order is very important, because they are sorting with the necessary degree. It can help you save much time when you do your project and easy to find what you need to do within the deadline.The next strength is evolutionary prototyping ,it used heavily in DSDM that is controlled using documented evaluation and it helps developers to communicate with business people. In its conditions, users can operate the system more skilled .Workshop is another strength of DSDM, it can make the different people who work with the system to together and discuss what they want to do about the system. Therefore it can make decisions about the system quickly and accurately.
In scope aspect. The strengths of DSDM are the development process is very accurate. A given listing does have to be tested in exact order, it reduces the occurrence of mistakes in the development process.Therefore it saves much time for development software.
The strengths of output in DSDM are after developers produced a product, a larger number of documents will to explain the product,and there are some models and documents maintenance the product. It is really good for product. And a user manuals and training schemes will be given.It helps customer knows how to use the product and easily use the product .
4.Strengths of XP(Extreme Programming)
Beck (2000,pp.150) states that ‘ The practices and the principles work together with each other to create a synergy that is greater than the sum of the parts.’ It using established software development techniques in a small team,it saves more human resource for company. And XP pay more attention to customer’s requirements and the quality of the products.It reduce the project risk with appropriate practices.
The strengths of domain and target in XP are it can solve specific business problem,such as projects has vague requirements. It can develop outsourced software ,in-house development and fix-price contract software development.
For techniques, XP use of pair programming ,it improves code quality, programmers to share knowledge more easily and it reduces mistakes in coding process.Use stand up meetings to communicate problems,it solves solutions more quickly,and adjust the team’s work direction in short order ,it saves to much time for team,and can make more decision for the project. Designing is used to describe requirements and to create time estimates.It helps developers reduce mistakes and make developers knows what are they need to do and need not to do in development time.
Strengths of scope in XP,the planning is to think about what problems will be appear in the development,and how to prevent them happen. It reduces the feasibility of unforeseen circumstances, Teamwork will helps teammates shares their understanding about the project and to find the weak spots of the project. Refactoring give programmers the right to improve their code , it helps the programmer understand the system better and makes the code readability. Maintenance can help the product exert its function better.
The outputs are source code and associated unit test. The strengths of XP are unit test can explains code with test cases,make out up to date documentation and it can helps suppose for new programmers. The other strength is developers always work together in a small team, the development team will with good atmosphere.
5.Weaknesses of DSDM
The weakness of DSDM is the relatively high barrier to entry. Switching to DSDM is neither cheap nor fast,and requires a significant cultural shift in any organization.(Benjamin,J. 2004)
Staleton (1997,pp13) states that “A way of developing application systems that truly serve the needs of the business”.It have not too much equirements for the quality of the product.
It only have interface intensive business systems one application,and just can solve business problems.I think it is so narrow,such as it is not fit for other applications such as engineering, so it difficulties to be used when the target environment is not about business.
The teams that in DSDM should decide what methods will be use in work. It lacks in detail for developers. It no more than packaged ‘ common sense ‘ . The iterative phases in DSDM is more tedious.
6.Weaknesses of XP
The weakness of XP is that it only can be used in small group of programmers two to twelve.
The objective of XP is too narrow that it does not to analysis the problems that will be happen in the future and it has not any strategic analysis of the need for the system .
XP only define a set of techniques but not lifecycle. It relies on pair programming,but many programmers have found this way of working uncomfortable,it makes developers interdependence who work together , it also inhibit their imagination and independent thinking ability,the more important is it will make constant interaction is tiring. XP needs a robust and fast development environment, but many development environments can not achieve that standards, therefore XP can not achieve the best effect for the product.
Quick design meeting are too quick,because want to save time,it maybe makes a bad design decisions. Aspect of XP that are difficult to adopt are collaboration with others in the team, and using simple designs. There involve overcoming people’s tendency to avoid collaboration and introduce unnecessary complexity in system structure.(Beck,2000)
Any product is negotiable with the customer,so that customer will feel very trouble .XP is too extreme and lacks scalability,it is too informal for many orgnisations.
7.Compare the two methods
This two methods of function are very similar. They all for application development,these two methods are all focus on shorten the development time and fast delivery,they all need teamwork and customers involvement in team.
There are some difference between DSDM with XP.
DSDM is primarily to provide a controlling framework for Rapid Application Development methodology .It is a framework for business centred development and it focuses on delivery of the business solution, rather than just team activity.There are more clear define roles in DSDM. DSDM use timebox and MoSCow to make plan about time.DSDM strongly provide full lifecycle.
XP stresses customer satisfaction.It lay stress on teamwork that managers, developers and customers are all equal partners in a collaborative teaming and they will work together to improve the quality about product. It used to develop the system as faster as possible and it should be has a small teams to discuss about the system and makes a good working environment for developers. It’s objective is narrow, it only used to solve some problems about the customers’ business needs of the product and it is not to analysis any problem about next stage. Less clear define roles.XP use iteration planning meeting to plan time.XP lights on project control and not provide lifecycle.
4. Applicable contexts
DSDM can be used in that contexts.
Projects that is about business.Interactive function embodiment through the user interface, have clear user group,no complicated calculation, if is a large application, the function can be decomposed into smaller parts , time constrained, requirements not too detailed or fixed and requirements can be prioritised.
XP can be used in that contexts.
Projects that have some specific problems need to solve,projects that are not constrained by an existing computing environment,project with vague requirements and projects with constant changes in requirements. Particularly useful for uncertain projects where change is expected;small group of programmers 2-12; need to have at least one client involved as well as programmers and need to be able to create automated unit and function tests.
5.Conclusion
These two methods aim to solve the solutions that delivering good systems in short times.They all have their own advantages and disadvantages,but them still very similar, such as customer involvement ,incremental change, rapid feedback mechanisms,fast delivery, both in a small team ,and so on. Therefore I think if them work together,they should have very good effect. Because they have share the same fundamentals and it will working on combining the relative strengths of DSDM and XP.
6.Evaluation framework
DSDM
XP
1.Philosophy
Paradigm
Systematic
Scientific
Objectives
Make the development time as shorten as possible .
Helps people who work with the system to know and how to work with the system.
Make the biggest benefit for business
Make customer satisfaction.
To developed the system with a good quality as soon as possible.
Domain
No complicated calculation in business problems and
Interactive function.
XP is good at to help team who work in the same group solve some specific business problems.
Target
It only can solve business problems and it application in interface intensive business systems for all project(small and big) in all organisation(small and big).
Embodiment through the user interface.
It needs a clear user group.
There is a time limit .
If it is a large application,it can be decomposed into smaller parts of function component.
XP is designed for the project that with vague requirements,are not constrained by an existing computing environment and project with constant changes in requirements. It is fit for projects that can be carried out by two to twelve programmers. The type of development are fix-price contract software development,
outsourced software and
in-house development.
2. Model
Structure Model and
Object-oriented Model
Spiral Model
3.Techniques and tools
Techniques
Timeboxing, MoSCoW , Evolutionary prototyping,
Workshop .
Courage, feedback, simplicity and
communication.
Planning, User stories. Stand up meetings, Designing,Spike solutions , Refactor when possible, Coding,Pair programming ,
Integrate often ,Testing and
Acceptance tests.
Tools
Common user interface,
Development tools,
Requirements management
tools ,
Configuration management tools ,
Project management tools,
Documentation tools ,
Shared repository and virtual
operating environment.
Automated unit testing tools must be used in XP testing process, this tools a fundamental requirement for a successful XP.
4. Scope
Feasibility study ;
Business study ;
Function model iteration ;
Design and build iteration ;
Implementation .
Exploration ;
Planning ;
Iterations to first release ;
Maintenance .
5. Outputs
The output is a system that have many functions that satisfy user requirements and have some documents to maintenance it and tell user how to use it. The main product is working software of a anticipated quality. Another kind of documents can explain the project and gives more documents and models to help user maintenance the system ,to achieve the effect of improving the quality of the products.
The output is source code and associated. In another field, users and developers are all can skilled use the method. The product is working software.
6. Practice
DSDM was developed by a UK consortium in the UK in the mid-1990s. This view has been supported in the work of Jennifer Stapleton(2003). It is a practitioner-based methodology and this consortium are involved in Rapid Application Development development of software systems.
DSDM can help an orgnisation achieve a good level in the Capability Maturity Model and it can be used in the TickIT.
XP project was started March 1996. It is a very popular Agile method.It is very fit for a small group of programmers about two to twelve.
7. Product
The product is difference in different phase in DSDM.
Pre-project : pre-project report.
Feasibility study : feasibility report, outline plan and risk log.
Business study : system
architecture definition
, development plan, prioritised requirements list, risk log.
Functional model iteration : functional model and review records, non-functional
requirements list, timebox
plans, implementation plan,
risk log.
Design and build iteration : timebox plans ,
design prototypes and review records, tested system.
Implementation :
User documentation, delivered system, trained user population, increment review.
Post-project : post
implementation review report.
The relationship between developers and customers that work together for their project .
Stories, Running code and Tests.
7.DSDM for Complete Solutions
Complete Solutions is a rapid development company,and it focus on sell a complete IT consultancy service for businesses.It has some branches in different cities and different country, with the rapid development, CS’s size is constantly be expanded . However at the same time , some problems become more and more obvious, such as lack of communication in the company. Therefore I think the method not only should be suit for CS company, but also can help CS solve some problem and make the company more better.I choose DSDM be used by Complete Solutions.
DSDM has eight principles that focus on business need, deliver on time, collaborate, never compromise quality , develop iteratively, build incrementally from firm foundations, communicate continuously and clearly, demonstrate control .
CS primary task is to sell a complete IT consultancy service for businesses. DSDM is about truly understanding the needs of the business and delivering solutions that work – and delivering them as quickly and as cheaply as possible.(Stapleton,1997,pp14) DSDM has one principle is focus on business need. They need delivery the product to customer on time,and give a right price to customers. It is more important for CS. In DSDM project, it use MoSCoW and timebox for customer’s requirements. As a result is it can delivery products on-time and on -cost.Therefore DSDM can help CS save more time and reduce development costs.
CS needs to software development and it must update they technology in order to sales more products. technology and computing has become an inseparable ingredient in the business world today.(Internet,2006) DSDM is very suitable for the project that main purpose is software development. The one principle of DSDM is develop iteratively, so it can help CS constantly update the software and technology .
I think the issue-based task is to make a fully communication in the internal of the company. Because there are poor communication in the internal of CS. Effective communication is essential to the success of any company.(Debbie Tullos,2011) DSDM is more than anything about improving communications between all parties involved in the development of system. (Stapleton,1997,pp.65) In the DSDM, there are two techniques that evolutionary prototyping and workshop, so it will helps communicate continuously and clearly. Use these two techniques can promote the communication between the internal personnel of CS. Moreover, workshop can promote teamwork between internal personnel, It can helps them improve their work efficiency.Therefore it is good for CS.
Never compromise quality is one principle of DSDM, we all knows that CS is a business company, so that quality is very important for it. If it can not provide a good quality product, customers will not to buy anything from CS company. Products to enhance the quality of there are more customers will buy products from CS.
CS with the high speed development and it’s size is constantly be expanded.So they will continue to strengthen their infrastructure in order to meet the high speed development requirements. This requirement happen to have the same view with the principle build incrementally from firm foundations which in DSDM. Infrastructure to strengthen makes the company more stable of the development.
Through the highly collaborative and open team approach, with a no surprises culture.conflict has been kept to a minimum.(Timothy Fadek,2010) A highly collaborative can make the work team more unity, more powerful and more efficiency. “collaborate” is one of the principle in DSDM. Therefore, it will makes more unity within the CS company.
Conclusion
I think DSDM method is really be fit for Complete Solutions than XP .such as in the following aspects that applying,business,techniques, personnel management, communication, teamwork and conflict management.However, DSDM have some weaknesses,such as lacking in detail for developers and no more than packaged “common sense”.Therefore, if to make DSDM and XP work together,there will have better effect.
Order Now