1) Spiral model
The spiral model is a software development process combining elements of both design and prototyping-in-stages, in an effort to combine advantages of top-down and bottom-up concepts.
Description of the spiral model
The development spiral consists of four quadrants as shown in the figure aboveQuadrant 1: Determine objectives, alternatives, and constraints.
Quadrant 2: Evaluate alternatives, identify, resolve risks.
Quadrant 3: Develop, verify, next-level product.
Quadrant 4: Plan next phases.
Quadrant 1: Determine Objectives, Alternatives, and Constraints
Activities performed in this quadrant include:
1. Establish an understanding of the system or product objectives—namely performance, functionality, and ability to accommodate change.
2. Investigate implementation alternatives—namely design, reuse, procure, and procure/ modify
3. Investigate constraints imposed on the alternatives—namely technology, cost, schedule, support, and risk. Once the system or product’s objectives, alternatives, and constraints are understood, Quadrant 2 (Evaluate alternatives, identify, and resolve risks) is performed.
Quadrant 2: Evaluate Alternatives, Identify, Resolve Risks
Engineering activities performed in this quadrant select an alternative approach that best satisfies technical, technology, cost, schedule, support, and risk constraints. The focus here is on risk mitigation. Each alternative is investigated and prototyped to reduce the risk associated with the development decisions. Boehm describes these activities as follows:
This may involve prototyping, simulation, benchmarking, reference checking, administering user
questionnaires, analytic modeling, or combinations of these and other risk resolution techniques.
questionnaires, analytic modeling, or combinations of these and other risk resolution techniques.
The outcome of the evaluation determines the next course of action. If critical operational and/or technical issues (COIs/CTIs) such as performance and interoperability (i.e., external and internal) risks remain, more detailed prototyping may need to be added before progressing to the next quadrant. Dr. Boehm notes that if the alternative chosen is “operationally useful and robust enough to serve as a low-risk base for future product evolution, the subsequent risk-driven steps would be the evolving series of evolutionary prototypes going toward the right (hand side of the graphic) . . . the option of writing specifications would be addressed but not exercised.” This brings us to Quadrant 3.
Quadrant 3: Develop, Verify, Next-Level Product
If a determination is made that the previous prototyping efforts have resolved the COIs/CTIs, activities to develop, verify, next-level product are performed. As a result, the basic “waterfall” approach may be employed—meaning concept of operations, design, development, integration, and test of the next system or product iteration. If appropriate, incremental development approaches may also be applicable.
Quadrant 4: Plan Next Phases
The spiral development model has one characteristic that is common to all models—the need for advanced technical planning and multidisciplinary reviews at critical staging or control points. Each cycle of the model culminates with a technical review that assesses the status, progress, maturity, merits, risk, of development efforts to date; resolves critical operational and/or technical issues (COIs/CTIs); and reviews plans and identifies COIs/CTIs to be resolved for the next iteration of the spiral.
Subsequent implementations of the spiral may involve lower level spirals that follow the same quadrant paths and decision considerations.
Characteristic | Strengths | Weaknesses | Applicability |
Intended for large, expensive and complicated projects. | It provides better risk management than other models. | The spiral model is more complex and harder to manage. | Used in shrink-wrap application |
Requirements are better defined | This method usually increases development costs and schedule. | Used most often in large projects | |
Combines the features of the prototyping model and the waterfall model. | System is more responsive to user needs. | Highly customized limiting re-usability | US military use spiral model in Future Combat Systems program |
The Prototyping Model is a systems development method (SDM) in which a prototype (an early approximation of a final system or product) is built, tested, and then reworked as necessary until an acceptable prototype is finally achieved from which the complete system or product can now be developed. This model works best in scenarios where not all of the project requirements are known in detail ahead of time. It is an iterative, trial-and-error process that takes place between the developers and the users.
Characteristics | Strengths | Weaknesses | Applicability |
There are pragmatic and practical limitations to the ability of a prototype | Operational capability is achieved earlier in the program. | Because there are more activities and changes, there is usually an increase in both cost and schedule over the waterfall method. | Used in transaction processing |
Individual prototype costs will be substantially greater than the final production costs | Newer technology can be incorporated into the system as it becomes available during later prototypes. | Instead of a single switch over to a new system, there is an ongoing impact to current operations. | Used in designing good human-computer interfaces |
Used to revise the design for the purposes of reducing costs through optimization and refinement | Documentation emphasizes the final product instead of the evolution of the product. | Configuration management activities are increased. | Used batch processing or systems that mostly do calculations |
3) Extreme programming
Extreme Programming (XP) is a software development methodology which is intended to improve software quality and responsiveness to changing customer requirements.
Characteristics | Strengths | Weaknesses | Applicability |
Improve productivity and introduce checkpoints where new customer requirements can be adopted. | Allows you to focus on coding and avoid needless paperwork and meetings. | Has not yet been widely used | Used in Project Management |
Programming in pairs or doing extensive code review | Creates working software faster, and that software tends to have very few defects. | Lack of design documentation | Used in XP and Web Development |
Works at a sustainable pace. | delivers working software for less money, and the software is more likely to do what the end users actually want. | Lack of a quality plan | Used for situations when customers may not have a firm idea of what the system should look like. |
The incremental build model is a method of software development where the model is designed, implemented and tested incrementally until the product is finished. It involves both development and maintenance. The product is defined as finished when it satisfies all of its requirements. This model combines the elements of the waterfall model with the iterative philosophy of prototyping
Characteristics | Strengths | Weaknesses | Applicability |
Decomposed into a number of components, each of which are designed and built separately | Allows some requirements modification and may allow the addition of new requirements | Cost and schedule overruns may result in an unfinished system. | Inverse model equations are used |
Creates a large initial capital outlay with the subsequent long wait avoided. | A usable product is available with the first release, and each cycle results in greater functionality. | Operations are impacted as each new release is deployed. | Prescribes the construction of initially small but ever larger portions of a software project |
Ease the traumatic effect of introducing completely new system all at once. | The project can be stopped any time after the first cycle and leave a working product. | Because development is spread out over multiple iterations, interfaces between modules must be well-defined in the beginning. | Essential parts of the Rational Unified Process |
K-Base provides world-class software engineering and offshore application development services to some of the leading clients in the world. K-Base is a CMMI Level 5 certified company. In thirst for perfection quality centric organization therefore take pride in whatever they deliver. Their team has proven ability both in web development and client-server technologies. With strong experiences in IDE/Tools such as Microsoft Visual Studio™, ASP.NET, VB.NET, J2EE , Eclipse, XML, J2EE, C++ and databases such as ORACLE and SQL Server
Through years of culmination, they have customized rather personalized their own Software Engineering disciplines based on Software Engineering Institute - CMMI development teachings (University of Carnegie Melon, Capability Maturity Model Integration). As such they religiously practice Life-Cycle Development Framework, Agile development methodology and Software Configuration Management Why reinvent the wheel, if they can give you the wheel at a fraction of what it cost to invent it? Therefore isn’t it time, that you should consider outsourcing these types of activities. Welcome to our Visual Consulting Services
Their consultants are well trained to assist to provide the following services:
Their consultants are well trained to assist to provide the following services:
1. Application Development Services
2. Mobile Application Development
3. System Testing Services
4. Systems Software Packaging Services
5. Application Internalization Services
6. On-Line Help Generation Services
7. Technical Writing Services
They are simply proven in application development using Microsoft technologies whatever complexity, whether web-enabled application (thin client) or rich client using traditional client-server apps. Capitalize on their proven development framework, standards and our own reusable collection of application libraries. We specialize in Visual Basic.NET, Visual Studio, ASP.NET, XML and J2EE.
Flexibility to Meet Your Deadlines: You need someone to work on your project now. Yet, in a few weeks, what if there’s a lull and you really don’t need someone’s services? Not a problem! Our flexibility lets us work on your project as required. Whether this is 5 to 50 hours per week, or 2 weeks now and 6 weeks later, we come and go, as you need us. In doing so, we help minimize your costs by ensuring that you aren’t paying for someone to “wait around” (on your money) throughout your project life cycle.
K-Base’s offshore outsourcing delivery models are designed to suit varying comfort levels and scenarios. Whether outsourcing is part of your strategy for cost reduction, improving operations and / or restructuring, the services they offer will provide financial return, risk mitigation, strategic alignment, political impact and intuition.
Offshore Delivery Model
The offshore delivery model entails that all project development, from initial study to testing, is done on K-Base’s premises. This particular model works well in scenarios where the project goals are well defined and deviation from the same is unlikely. Management and communication during the course of the project is the responsibility of our program managers - the internal clients, who work with tried and tested methodologies to ensure that delivery is as per schedule. The offshore dedicated project team, works within predefined processes, thereby making this model the most cost effective.
Onsite Delivery Model
The onsite delivery model entails that skilled K-Base professionals are deployed on the client's premises. This delivery model is viable only if fluidity is required in a project, if there is need for a specific resource type or if post-deployment support is imperative. From initial consultation to maintenance and support, our representatives are highly qualified and combine excellent business acumen and strong inter-personal skills.
Hybrid Delivery Model
This model, a combination of both onsite and offshore, is the best of both worlds, and results in optimized costs and maximized efficiency. The onsite team will directly interact with the clients and will serve as consultants, program managers and developers, depending on project requirements. They will do requirement studies, design and development, while interfacing directly with clients. The offshore outsourcing team will interact only with the onsite team and will provide additional crucial support, thereby reducing costs and implementation time. The model allows for scalability and has enormous operational benefits
K-Base has wide experience in Mobile Application Development. We provide Mobile Application Development platform including Windows Mobile Application, Mobile enabled website development, J2ME based Mobile Application Development on Nokia, Samsung, LG phones, Android - Google mobile solution, iPhone Mobile Application Development, we helps clients to realize the benefits of Enterprise Mobile Application Development Platform.
K-Base leverages offshore cost and scalability advantage to significantly reduce development cost across various mobile Application Developments. We provide high quality, time bound, cost effective outsourcing IT services through our offshore facilities in Malaysia.
K-Base has developed expertise in Mobile Application Development that have helped companies improve workflow, customer order taking, and record keeping in the front office.
K-Base leverages offshore cost and scalability advantage to significantly reduce development cost across various mobile Application Developments. We provide high quality, time bound, cost effective outsourcing IT services through our offshore facilities in Malaysia.
K-Base has developed expertise in Mobile Application Development that have helped companies improve workflow, customer order taking, and record keeping in the front office.