Sunteți pe pagina 1din 33

SOFTWARE DEVELOPMENT

KEY TRENDS
Alex Cowan
2015 COWAN+

THE MVC- A STRONG FOUNDATION CONCEPT

2015 COWAN+

A SIMPLIFIED VIEW OF HOW THINGS TALK

CLIENT

01

clients make
requests

SERVER
servers respond
to requests

02

2015 COWAN+

CREATING SOFTWARE
Writing Software Spending Money
Minimize Software Subject to User Experience
Corollary: If the software is really needed for any kind of scale,
its probably worth doing well
(since most cost accrues over the long run)

2015 COWAN+

A SIMPLIFIED VIEW OF CERTAIN COST DRIVERS


Quality of inputs (user stories, comps, wireframes, testing)
Dev.

Availability of talent with relevant experience


Quality of available tools & environments

SW Cost
Drivers

Amount of
Custom
Software

Quality of inputs for focal test development


QA

How often stuff breaks


Availability/ability to leverage automation
Quantity of HW, OS, apps to manage

Ops.

Availability of documentation/notes
Quality of configuration and logging facilities
2015 COWAN+

A SIMPLIFIED VIEW OF CERTAIN COST DRIVERS


Make sure the
current value
proposition really
requires software

SW Cost
Drivers

Amount of
Custom
Software

Quality of inputs (user stories, comps, wireframes, testing)


Dev.

Availability of talent with relevant experience


Quality of available tools & environments
Quality of inputs for focal test development

QA

How often stuff breaks


Availability/ability to leverage automation
Quantity of HW, OS, apps to manage

Min(SW)
s.t. UX

Ops.

Availability of documentation/notes
Quality of configuration and logging facilities
2015 COWAN+

A SIMPLIFIED VIEW OF MAKING GOOD CHOICES

A. ID & describe your building blocks


B. Review building blocks holistically
C. Get the right advice & decide

2015 COWAN+

ROLES
Inputs: User stories, wireframes, etc.
Outputs: Software design &
implementation

Inputs: Working software, notes


on function
Outputs: Validated test plans

DEV

QA
Inputs: Validated software, notes
Outputs: Working systems, monitoring &
analytics thereof

OPS
2015 COWAN+

ROLES
DEVOPS

DEV

QA

OPS
2015 COWAN+

A SIMPLIFIED VIEW OF WHATS WHAT


YOUR SOFTWARE
{technology you are developing}

HELPER PACKAGES
{libraries with helper functions}

FOUNDATION PACKAGES
{Java, PHP, Ruby on Rails...}

OPERATING SYSTEM
{Linux, Unix, MSFT Server...}

HARDWARE
{Storage, CPU, Memory...}

2015 COWAN+

A SIMPLIFIED VIEW OF WHATS WHAT


YOUR SOFTWARE
{technology you are developing}

HELPER PACKAGES
{libraries with helper functions}

FOUNDATION PACKAGES
{Java, PHP, Ruby on Rails...}

OPERATING SYSTEM
{Linux, Unix, MSFT Server...}

HARDWARE
{Storage, CPU, Memory...}

2015 COWAN+

A SIMPLIFIED VIEW OF WHATS WHAT


APPS FROM
APP STORE
{third party applications}

YOUR SOFTWARE
{technology you are developing}

HELPER PACKAGES
{libraries with helper functions}

FOUNDATION PACKAGES
{Java, PHP, Ruby on Rails...}

OPERATING SYSTEM
{Linux, Unix, MSFT Server...}

HARDWARE
{Storage, CPU, Memory...}

2015 COWAN+

A SIMPLIFIED VIEW OF WHATS WHAT: CLASS SITE


YOUR SOFTWARE

(various plug-ins)

{technology you are developing}

Wordpress
HELPER PACKAGES
{libraries with helper functions}

FOUNDATION PACKAGES

PHP

{Java, PHP, Ruby on Rails...}

OPERATING SYSTEM

WP Engine
Platform

{Linux, Unix, MSFT Server...}

HARDWARE
{Storage, CPU, Memory...}

2015 COWAN+

LANGUAGE RANK OVER TIME ON GITHUB

source: Github Post- bit.ly/whosgit

2015 COWAN+

LANGUAGE RANK OVER TIME ON GITHUB

source: Github Post- bit.ly/whosgit

2015 COWAN+

JAVASCRIPT
Origin
Tool to enhance web pages introduced by Netscape Communications (1995).

Popular For
- Creating Dynamic Web Pages
- General programming (resurgence of server side JS: node.js, etc.)

Notable Catalysts
- Prevalence & importance of web applications
- Fungibility of resources and desire for full(er) stack developer roles

2015 COWAN+

LANGUAGE RANK OVER TIME ON GITHUB

source: Github Post- bit.ly/whosgit

2015 COWAN+

JAVA
Origin
General purpose language with write once, run anywhere feature introduced by Sun
Microsystems (1995).

Popular For
- Enterprise Applications + Lots of Other Misc. Apps
- Android Apps

Notable Catalysts
- Use in Android Development

2015 COWAN+

LANGUAGE RANK OVER TIME ON GITHUB

source: Github Post- bit.ly/whosgit

2015 COWAN+

RUBY + RUBY ON RAILS


Origin
Ruby: Object-oriented scripting language introduced by Yukihiro Matsumoto (1995).
Rails: Web application framework introduced by David Heinemeier Hansson based on
his work with the Basecamp product (2005).

Popular For
- Web Applications + Lots of Other Misc. Apps

Notable Catalysts
- Scaling Issues with Performance & Heuristics (see bit.ly/ohruby)
- Sponsorship

2015 COWAN+

LANGUAGE RANK OVER TIME ON GITHUB

source: Github Post- bit.ly/whosgit

2015 COWAN+

PHP
Origin
Set of tools created by Rasmus Lerdorf (1995).
"I dont know how to stop it, there was never any intent to write a programming
language [] I have absolutely no idea how to write a programming language, I just
kept adding the next logical step on the way."

Popular For
- Web Applications + Lots of Other Misc. Apps

Notable Catalysts
- Push for formal specification

2015 COWAN+

LANGUAGE RANK OVER TIME ON GITHUB

source: Github Post- bit.ly/whosgit

2015 COWAN+

Python
Origin
Guido van Rossum (1991).
I was looking for a "hobby" programming project that would keep me occupied during
the week around Christmas I decided to write an interpreter for the new scripting
language I had been thinking about lately

Popular For
- General Purpose (Popular for Integration Tasks)

2015 COWAN+

LANGUAGE RANK OVER TIME ON GITHUB

source: Github Post- bit.ly/whosgit

2015 COWAN+

C
Origin
Developed by Dennis Ritchie at Bell Labs and initially used to re-implement Unix
(1972).

Popular For
- High Performance Projects like Operating Systems & Embedded Systems

Notable Catalysts
- Use of C concepts by later languages (C++, C#, Objective C)
- Use as building block in higher-level languages (Python, Perl, PHP)

2015 COWAN+

LANGUAGE RANK OVER TIME ON GITHUB

source: Github Post- bit.ly/whosgit

2015 COWAN+

C++
Origin
Developed by Bjarne Stroustrup to create abstractions for C (1983).

Popular For
- High Performance Projects

2015 COWAN+

LANGUAGE RANK OVER TIME ON GITHUB

source: Github Post- bit.ly/whosgit

2015 COWAN+

C#
Origin
Developed by Microsoft as object-oriented language for the .NET framework (2000).

Popular For
- .NET programming

2015 COWAN+

LANGUAGE RANK OVER TIME ON GITHUB

source: Github Post- bit.ly/whosgit

2015 COWAN+

OBJECTIVE-C AND SWIFT


Origin
Objective-C: Created by Brad Cox and Tom Love to enhance capabilities of C (1983).
Layer acquired by NeXT and incorporated into Apple application tools.
Swift: Introduced as more developer-friendly enhancement to Objective-C (2014).

Popular For
- OSX and iOS programming

Notable Catalysts
- Introduction of Swift

2015 COWAN+

PAGE CONTEST!
Category 1: User Interaction
Be prepared to discuss: Persona, user stories, possibly storyboard

Category 2: Controllers and Model Implementation


Be prepared to discuss: User Stories, MVC Explanation, Code/Comments

Category 3: Plug-In/External SW Integration


Be prepared to discuss: User Stories, Building Blocks, Plug-In Implementation

2015 COWAN+

S-ar putea să vă placă și