Lecture 14
Lecture 14
N P Singh
Learning Objectives
How does building new systems produce
organizational change?
What are the core activities in the systems
development process?
What are the principal methodologies for
modeling and designing systems?
What are alternative methods for building
information systems?
What are new approaches for system building in
the digital firm era?
How will M I S help my career?
Next
Advantages of prototyping
Useful if some uncertainty in
requirements or design solutions
Often used for end-user interface design
More likely to fulfil end-user
requirements
Disadvantages
May gloss over essential steps
May not accommodate large quantities
of data or large number of users
▪ May not undergo full testing or
Application Software Packages,
Software Services, and
Outsourcing (1 of 3)
Application software packages and software
services
Save time and money
Many packages offer customization features
Evaluation criteria for systems analysis include:
Functions provided, flexibility, user friendliness,
required resources, database requirements,
installation and maintenance efforts,
documentation, vendor quality, and cost
Request for Proposal (R F P)
Detailed list of questions submitted to software
vendors
Used to evaluate alternative software packages
Continued…
Another alternative in systems building, the use of
application software packages and cloud software services.
It is important to note that many functions are common to
all business organizations—payroll, accounts receivable, or
inventory control.
Software packages or cloud software services may fulfill
the need for many organizations for these types of
functions.
However, it is still important to perform systems analysis in
order to determine your organization’s requirements for a
system.
For example, you would want to outline the functions you
need from the software and determine whether the
software or service provides that.
Application Software Packages,
Software Services, and
Outsourcing (2 of 3)
Outsourcing: Hiring external third-party
organizations or individuals to handle certain aspects
of the software development process
Several types
Cloud and S a a S providers: subscribing companies
use software and hardware provided by vendors
External vendors
▪ Hired to design, create software
▪ Domestic outsourcing
▪ Driven by firm’s need for additional skills,
resources, assets
▪ Onshore Outsourcing: Involves hiring external resources
within the same country or geographical region.
Application Software Packages,
Software Services, and
Outsourcing (3 of 3)
Outsourcing
Advantages/Disadvantages
Advantages: Allows organization
flexibility in I T needs
Disadvantages
▪ Hidden costs, for example:
▪ Identifying and selecting vendor
▪ Transitioning to vendor
▪ Opening up proprietary business
processes to third party
Total Cost of Offshore Outsourcing
Next
Agile development
Focuses on rapid delivery of working
software by breaking large project
into subprojects that can be
completed in short periods of time.
Automated software testing
Tools to perform examinations of
software, report outcomes, compare
results with earlier test runs
Common Agile
Methodologies:
Scrum:
Focuses on short, time-boxed iterations called sprints (1–4
weeks).
Roles: Product Owner, Scrum Master, and Development Team.
Artifacts: Product Backlog, Sprint Backlog, and Increment.
Kanban:
Visualizes workflow using boards and limits work in progress to
improve efficiency.
Focuses on continuous delivery without specific iterations.
Extreme Programming (XP):
Emphasizes technical excellence and frequent releases.
Practices include pair programming, test-driven development,
and continuous integration.
Lean Development:
Inspired by Lean Manufacturing, it focuses on eliminating waste,
DevOps
DevOps is a transformative culture and
practice that unites software development
(Dev) and IT operations (Ops) teams.
By fostering collaboration and leveraging
automation technologies, DevOps enables faster,
more reliable code deployment to production in an
efficient and repeatable manner.
DevOps is a software development approach that
emphasizes collaboration and communication
between development (Dev) and operations (Ops)
teams. It aims to shorten the software development
lifecycle and improve the quality and reliability of
software releases.
Continuous Integration and
Continuous Delivery (CI/CD)
CI/CD automate testing and
deployment, ensuring reliable
updates.
Infrastructure automation tools and
continuous monitoring keep systems
responsive and maintain performance.
These practices enable faster, more
reliable updates, driving innovation
and customer satisfaction.
Rapid Application Development (R A
D), Agile Development, Automated
Software Testing, and DevOps (3 of 3)
Low-code development
Enables faster development of applications,
with minimal hand-coding, using visual
modelling in a graphical interface
No-code development
Includes built-in tools that enable user to create
apps without any coding
Some disadvantages
▪ Have limited functionality
▪ Users can create applications without proper
management oversight
Mobile Application
Development
Application designed to run on mobile devices
such as smartphones and tablets.
Called mobile apps. Developed to leverage the
unique features and capabilities of mobile
devices, including touch screens, cameras, GPS,
and various sensors.
Development for range of platforms, including
iOS (for Apple devices) and Android (two
dominant mobile operating systems).
Mobile websites
Mobile web apps
Native apps:designed and developed for a
Continued…
Designed for
Special requirements for mobile
platform
Smaller screens, keyboards, multitouch
gestures, saving resources (memory,
processing)
Responsive web design
Websites programmed so that layouts
change automatically according to
user’s computing device
Building Mobile Apps (1)
Mobile App Development Steps (Example: Fitness
Tracking App).
Step 1: App Concept and Purpose
Example: Create a fitness tracking app, "FitTrack
Pro," designed for individuals looking to monitor
their daily workouts, steps, calorie intake, and heart
rate in one platform.
Purpose: Simplify fitness tracking with
personalized goals and AI-driven recommendations.
Target Audience: Fitness enthusiasts, gym-goers,
and health-conscious individuals aged 18-40.
Building Mobile Apps (2)
Step 2: Market Research
Competitor Analysis: Study apps like
MyFitnessPal, Fitbit, and Google Fit to identify
missing features, like social group challenges or
diet integration.
User Reviews Insight: Users often complain
about complex interfaces and limited free
features. FitTrack Pro will focus on simplicity and
include more free functionalities.
Research Outcome: Incorporate social
challenges, integrate with wearables like
smartwatches, and offer meal planning tools.
Building Mobile Apps
(3)
Step 3: Features and Functionalities
Core Features:
Daily step counter using phone sensors.
Workout logging (e.g., strength, cardio, yoga).
Calorie tracker integrated with barcode scanning for
food.
Advanced Features
Integration with wearables (Fitbit, Apple Watch).
AI-driven fitness tips based on user activity patterns.
Gamification (weekly challenges with friends).
Future Scalability:
Add VR fitness classes and voice-assistant features for
hands-free use.
Building Mobile Apps
(4)
Step 4: UI/UX Design
Wireframes:
Create simple screens for tracking workouts, setting
goals, and viewing progress.
Example Design Approach:
Login Page: Easy sign-up via Google or Apple ID.
Dashboard: Display today’s activity summary at a
glance.
Design Standards
Follow Material Design for Android to keep navigation
intuitive.
Use Human Interface Guidelines for iOS to ensure
Apple-like aesthetics.
Real-life Feedback: Conduct user testing with 10 beta
Building Mobile Apps
(5)
Step 5: Technology Stack
Frontend:
Use Flutter for cross-platform development (iOS &
Android).
Backend:
Implement Node.js with MongoDB for real-time
syncing of fitness data.
APIs:
Integrate Google Fit API and Apple HealthKit for
step and heart rate data.
Database:
Store user data securely in the cloud using
Firebase Realtime Database.
Building Mobile Apps (6)
Development Process
Agile Sprint Example
Sprint 1: Build user authentication (2 weeks).
Sprint 2: Develop the core tracking functionalities
(4 weeks).
Sprint 3: Integrate third-party APIs (Google Fit,
Apple HealthKit).
Version Control:
Use GitHub for managing codebase and team
collaboration.
CI/CD Pipeline:
▪ Use GitHub Actions for automated testing and
deployment.
Building Mobile Apps (7)
Step 7: Testing and QA
Test step tracking accuracy by
comparing app data to a Fitbit device.
Use Firebase Test Lab to test the
app on 20+ virtual Android and iOS
devices.
Conduct User Acceptance Testing
(UAT): Involve 50 fitness enthusiasts
to evaluate app usability and
reliability.
Building Mobile Apps (8)
Step 8: Deployment
Google Play:
Upload the app to the Google Play Console,
ensuring it passes all checks for location
permissions and API compliance.
Apple App Store:
Ensure the app follows Apple’s data privacy
guidelines and submit it through the Apple
Developer Program
Example Timeline:
The app is soft-launched in beta via
TestFlight before the full release.
Building Mobile Apps (9)
Step 9: Post-Launch Maintenance
Example Maintenance Tasks
Roll out a feature allowing users to export
workout data to PDF.
Monitor user behavior with Firebase
Analytics to see if users engage with social
challenges.
Respond to feedback and fix bugs reported
within the first 3 weeks.
Update Example: Add a feature for live
coaching sessions based on demand
Cost of Mobile App (10)
Simple Apps:
Basic functionality and a straightforward user interface.
Estimated cost: $5,000 to $20,000.
Moderate Complexity Apps:
Additional features, more advanced UI/UX design, and integration
with external services or APIs.
Estimated cost: $20,000 to $50,000.
Complex Apps:
Advanced features, custom design, backend development, and
integration with complex systems or databases.
Estimated cost: $50,000 to $150,000 or more.
High-End Apps:
Highly sophisticated apps with intricate features, intricate design,
complex backend, and possibly integration of emerging
technologies (AI, AR, VR).
Estimated cost: $150,000 and above.
Factors affecting cost of
mobile app
• Development Team Rates: Rates vary globally.
Developers in North America and Europe typically
charge more than those in Asia or Eastern Europe.
• Features and Complexity: The more features and
complexity an app has, the higher the development
cost.
• Design Requirements: Custom and intricate designs
may increase costs.
• Backend Development: If your app requires server-
side development for user accounts, data storage, etc.,
this adds to the overall cost.
• Testing and Quality Assurance: Comprehensive
testing and quality assurance processes can increase
costs but are crucial for a successful app.
• Post-Launch Costs: Budget for ongoing maintenance,