Download as pdf or txt
Download as pdf or txt
You are on page 1of 20

Submitted by: Tawfin Rahman

ID: 2311520030

Submitted to: Prof. Dr. M. Mesbahuddin Sarker

MIS107
LECTURE 14
Building
Information
Systems
Prototyping
Rapid prototyping lets users test ideas early with cheap, quick models. This feedback helps refine the design
before building the final system. It's like sketching before painting - fast, messy drafts lead to a better final
product.

Prototyping in a Nutshell:
Build a bare-bones version of the system quickly and affordably.
Let users play around with it to understand their needs better.
Use their feedback to improve the design before diving into development.
Prototyping Steps
Prototyping in Four Steps:

Identify core user needs


01

Rapid Build: Systems designer quickly creates a basic,


02 working model

03 User interacts with the prototype and provides


feedback.

03 Refining the Prototype - This cycle continues until the


user is happy

Once finalized, the prototype transitions into a working model, guiding the application's final design.
In some cases, it might even become the final product itself.
Prototyping Advantages vs Disadvantages
Benefits:
Reduced Uncertainty: Prototyping shines when there's ambiguity in either the desired features or overall
design.
User-Centered Design: By actively involving users throughout the process, prototyping increases the likelihood
of a system that meets their needs.
Early Feedback: It allows for quick user feedback, enabling iterative improvements before significant
development takes place.

Drawbacks:
Skipped Steps: Rapid prototyping can lead to overlooking crucial development phases like comprehensive
testing or documentation.
Production Hurdles: A functional prototype might mask issues that arise when handling larger data volumes or
increased users in a real-world setting.
Management Misconceptions: A seemingly successful prototype might lead management to underestimate
the effort needed for a polished final product.
Rapid Application Development
In a nutshell
Rapid Application Development (RAD) delivers the previous process of making functional systems quickly through:
Visual tools: Building user interfaces becomes faster with drag-and-drop components.
Iterative prototyping: Key features are built and tested repeatedly for continuous improvement.
Automated code generation: Tools can streamline coding tasks, saving time.
Collaborative teamwork: Close interaction between users and developers ensures the final product aligns
with needs.

The RAD model prioritizes rapid development through iterative prototyping.


Rapid Application Development
RAD projects work through collaboration - developers, specialists, and customers work together
while following iterative and incremental models

RAD model organizes the analysis, design, build


and test phases into a series of short, iterative
development cycles
RAD Model Design
Modelling Concepts/Phases overall:

1.0 Business Modeling


The business model for the product in development is structured around information flow and distribution among business
channels. A thorough business analysis identifies essential information, how it's acquired, processed, and factors driving
successful information flow.
RAD Model Design
Modelling Concepts/Phases overall:

2.0 Data Modeling


Information collected in the Business Modeling phase undergoes review and analysis to identify essential data objects for the
business. Attributes of these data sets are identified and defined. Relationships between data objects are established and
detailed in alignment with the business model.
RAD Model Design
Modelling Concepts/Phases overall:

4.0 Application Generation


The system is constructed, and coding is executed using automation tools to transform process and data
models into prototypes.

5.0 Testing and Turnover


In the RAD model, overall testing time is diminished because
prototypes undergo independent testing in each iteration.

However, thorough testing of data flow and component interfaces


with complete coverage is essential. With most programming
components already tested, the risk of major issues is reduced.
RAD Model Vs Traditional SDLC
Traditional SDLC:

Follows a rigid process model.


Emphasizes requirement analysis and gathering before coding.
Pressures customers to sign off requirements before the project starts.
Lacks a working build for a long time, delaying customer feedback.
Rigid change process makes major modifications difficult after initial approval.

RAD Model:

Focuses on iterative and incremental delivery of working models.


Enables rapid delivery and continuous customer involvement.
Reduces the risk of not meeting user requirements through ongoing feedback.
RAD Model - Pros and Cons
Pros: Cons:

Accommodates changing requirements. Requires a technically strong team for identifying business requirements.
Allows progress measurement. Only suitable for modular systems.
Short iteration times with powerful RAD tools. Needs highly skilled developers/designers.
High productivity with fewer people. High dependency on modeling skills.
Reduced development time. High cost of modeling and automated code generation.
Increased reusability of components. Increased management complexity.
Quick initial reviews. Best for component-based, scalable systems.
Encourages customer feedback. Requires constant user involvement.
Early integration reduces issues. Ideal for projects with shorter development times.
Joint Application Design (JAD) Model
Joint Application Design (JAD) is a technique used to accelerate the generation of information requirements
and develop the initial systems design. It involves end users and information systems specialists in interactive
sessions to discuss the system's design.

Well-prepared and facilitated JAD sessions can


significantly speed up the design phase and
involve users intensively.
Agile Model
The Agile SDLC model combines iterative and incremental processes, focusing on adaptability and customer
satisfaction through rapid delivery of working software. Agile breaks the product into small incremental builds,
provided in iterations lasting one to three weeks. Each iteration involves cross-functional teams working on:
Planning
Requirements Analysis
Design
Coding
Unit Testing
Acceptance Testing

At the end of each iteration, a


working product is shown to the
customer and key stakeholders.
Agile Model
Popular Agile methods include Rational Unified Process (1994), Scrum (1995), Crystal Clear, Extreme
Programming (1996), Adaptive Software Development, Feature Driven Development, and Dynamic
Systems Development Method (DSDM) (1995). Collectively, these are known as Agile Methodologies,
following the Agile Manifesto published in 2001.

Agile Manifesto Principles:

Individuals and interactions: Emphasizes self-organization, motivation, and


collaboration through co-location and pair programming.
Working software: Demonstrating working software is the best way to communicate
with customers and understand their requirements, rather than relying solely on
documentation.
Customer collaboration: Continuous customer interaction is crucial, as initial
requirements may not be fully gathered at the project's start.
Responding to change: Focuses on quick responses to change and continuous
development.
Agile Vs Traditional SDLC Models
Agile: Traditional SDLC (e.g., Waterfall):
Based on adaptive software development methods. Based on a predictive approach.
Uses an adaptive approach with no detailed upfront planning. Involves detailed planning with a complete forecast of tasks
Future tasks are determined by the features that need to be and features for the next few months or the entire product
developed. life cycle.
Emphasizes feature-driven development and dynamic Relies on initial requirement analysis and planning.
adaptation to changing requirements. Changes go through strict change control management and
Frequent testing through release iterations minimizes the risk of prioritization.
major failures.
Customer interaction and open communication with minimal
documentation are key.
Teams work closely, often in the same location.
Agile Model - Pro’s and Con’s
Pros: Cons:
Realistic approach to software development. Not suitable for complex dependencies.
Promotes teamwork and cross-training. Higher risk for sustainability, maintainability, and extensibility
Rapid development and demonstration of functionality. issues.
Minimal resource requirements. Requires an overall plan, an agile leader, and agile PM
Suitable for fixed or changing requirements. practices.
Early delivery of partial working solutions. Strict delivery management dictates scope and deadlines.
Ideal for environments with steady change. Heavy reliance on customer interaction; unclear customer
Minimal rules and easy documentation. input can mislead the team.
Supports concurrent development and delivery. High individual dependency due to minimal documentation.
Little to no planning needed. Challenging technology transfer to new team members
Easy to manage. because of lack of documentation.
Provides flexibility to developers.
Mobile Application Development (MAD)
Developing mobile applications differs significantly from PC development due to smaller screens. Mobile apps
favor finger and multi-touch gestures over keyboards. They need to be optimized for specific tasks, designed
for usability, and should not try to do too much.

The user experience on mobile is fundamentally different from desktops or laptops. Prioritizing resource
savings—bandwidth, screen space, memory, processing, data entry, and user gestures—is crucial.
Outsourcing
Outsourcing may be domestic or international.

Domestic outsourcing occurs when firms lack specific skills or


resources.

Offshore outsourcing is cost-driven, facilitated by technology


and the internet. It offers cost savings and technology assets
and skills.

Pros:
No need to hire more employees, saving money on benefits and training.
Access to a larger talent pool worldwide, offering specialized help.
Lower labor costs while maintaining quality by tapping into a global talent pool

Cons:
Lack of control as you give up some authority when hiring contractors.
Communication issues due to differences in time zones and preferred methods.
Potential problems with quality if expectations aren't communicated clearly upfront.
Outsourcing - Impact on Company
Culture
Impact of Outsourcing on Company Culture:
Upsets employees who feel replaced.
Confuses employees about the reasons for outsourcing specific tasks.
Adds challenges to the daily workflow of the company.
May lead to decreased morale and productivity if not handled carefully.
Requires clear communication and transparency to mitigate potential negative effects.
Can strain relationships between management and employees if not discussed openly.
END OF LECTURE 14

You might also like