clarisoft software development process (lunch & learn presentation)

24
How To Develop Software The Right Way And how we dramatically grew our company because of it.

Upload: robert-haines

Post on 08-Aug-2015

146 views

Category:

Software


2 download

TRANSCRIPT

Page 1: Clarisoft Software Development Process (Lunch & Learn Presentation)

How To Develop Software

The Right Way

And how we dramatically grew our company because of it.

Page 2: Clarisoft Software Development Process (Lunch & Learn Presentation)

The Biggest Problem In The Software

Industry

• The industry’s average success ratio is 32%.

– Success in 68% of technology projects is

"improbable." Poor requirements analysis causes

many of these failures, meaning projects are doomed

right from the start.

• Clarisoft’s 2013 success ratio was over 85%!

Page 3: Clarisoft Software Development Process (Lunch & Learn Presentation)

What We Do

• Custom Software Platforms and Products

– Web, Cloud, SaaS

• Mobile Applications

– iOS, Android

• Traditional Applications

– Client/Server, Desktop, Custom Connectors,

Custom Automation

Page 4: Clarisoft Software Development Process (Lunch & Learn Presentation)

Software Platforms & Products?

What Is That?

• There is a huge difference between doing

web development vs. developing software

platforms or products.

– Presentational Use vs. Functional Use

– Website Design vs. Software Design

– CMS & Plugins vs. Custom Development

Page 5: Clarisoft Software Development Process (Lunch & Learn Presentation)

Have A Software Idea Or Need?

• Sure do! It’s right

here on the back of

this napkin…

… So now what?!?!

… How do I get this

started?!?!

Page 6: Clarisoft Software Development Process (Lunch & Learn Presentation)

Starting Out…

• Building a software platform is a lot like building

a house. You need the blueprints before you go

hammering things together.

Page 7: Clarisoft Software Development Process (Lunch & Learn Presentation)

Are You Budget Conscious?

• Companies pay a premium of as much as 60%

on time and budget when they use poor

requirements practices on their projects.

• Clarisoft is under 15% over-runs usually due to:

– Customer changes of initial requirements

– Integration with unknown external parties

– Dealing with bad data and/or previous bugs

– Customer-led changes to UI/UX design

Page 8: Clarisoft Software Development Process (Lunch & Learn Presentation)

Agile Software Development

4 Principles of AGILE:

• Individuals and interactions

over processes and tools

• Working software over

comprehensive documentation

• Customer collaboration over

contract negotiation

• Responding to change over

following a plan

Page 9: Clarisoft Software Development Process (Lunch & Learn Presentation)

“Discovery & Design” Phase

• Build the “blueprints” of your software platform

– Wireframes, user stories, use cases, software

requirements specification, system architecture, data

architecture, database schema, etc.

• We make your software idea “developer ready.”

• Get a detailed understanding of what clients will

need before offering costs or timeframes.

Page 10: Clarisoft Software Development Process (Lunch & Learn Presentation)

Wireframes

• Click here to see an example wireframe. These

are often barebones (graphically speaking) and

are used to show the functionality and layout of

the software that needs to be developed.

• The example above was just an image file, but

true wireframes are interactive and would allow

you to simulate being a user of the system.

Page 11: Clarisoft Software Development Process (Lunch & Learn Presentation)

User Stories

• User stories are short, simple descriptions of a

feature told from the perspective of the person

who desires the new capability, usually a user or

customer of the system. They generally follow a

simple template:

– As a [user role], I can [some function] so that [some

rationale].

Page 12: Clarisoft Software Development Process (Lunch & Learn Presentation)

User Stories: Examples

• As a user, I can edit my user profile so that I can

update my information.

• As an admin, I can delete user profiles.

• As an admin, I can create new users and assign

usernames/passwords to them.

Page 13: Clarisoft Software Development Process (Lunch & Learn Presentation)

Use Cases

• A use case is a description of a set of

interactions between a system and one or more

actors (where ‘actor’ can be people, or other

systems: for example, both online shoppers and

PayPal can be actors).

Page 14: Clarisoft Software Development Process (Lunch & Learn Presentation)

Use Cases: Example

• These are typically much longer and far more

detailed, but for simplicity's sake …

Page 15: Clarisoft Software Development Process (Lunch & Learn Presentation)

Software Requirements

Specification

• A Software Requirements Specification (SRS),

the requirements specification for a software

system, is a complete description of the behavior

of a system to be developed and may include a

set of use cases that describe interactions the

users will have with the software.

• These can be incredibly long and detailed. See

example here.

Page 16: Clarisoft Software Development Process (Lunch & Learn Presentation)

System Architecture

• A system architecture is the conceptual model

that defines the structure, behavior, and more

views of a system. An architecture description is

a formal description and representation of a

system, organized in a way that supports

reasoning about the structures of the system.

Page 17: Clarisoft Software Development Process (Lunch & Learn Presentation)

System Architecture: Example

Page 18: Clarisoft Software Development Process (Lunch & Learn Presentation)

Data Architecture

• In IT, data architecture is composed of models,

policies, rules or standards that govern which

data is collected, and how it is stored, arranged,

integrated, and put to use in data systems and in

organizations.

• Database architecture, a subcomponent of this,

is a schema of the actual database technology

that will support the designed data architecture.

Page 19: Clarisoft Software Development Process (Lunch & Learn Presentation)

Database Architecture: Example

Page 20: Clarisoft Software Development Process (Lunch & Learn Presentation)

Does All That Seem Complicated?

• At Clarisoft, we make this whole process simple

and easy for our clients.

• The majority of our clients are not “techies” and

have never experienced software development.

• We work hand-in-hand with our clients and we

discuss complex items in very simple language.

Page 21: Clarisoft Software Development Process (Lunch & Learn Presentation)

Our Amazing Growth!

• Clarisoft was founded in 2004.

• In the last 4 years, we have grown from just 10

employees to over 45 full-time employees, and

we have increased revenues by 700%!

• We have also developed a very viable referral-

based business.

Page 22: Clarisoft Software Development Process (Lunch & Learn Presentation)

Success Factors

• The real keys for us are delivering in time and in

budget, deeply understanding our customer’s

needs, and having strong mutual collaboration

based on creative input. These created a lot of

repeat client business and referrals.

• We do not do any traditional marketing. Rather,

we focus on building community, helping others

and making strong connections with people.

Page 23: Clarisoft Software Development Process (Lunch & Learn Presentation)

Company Changes

• Because of our recent growth, we needed to

restructure and focus our core competencies…

– We phased out smaller and website-only projects.

– We reorganized our team structures and expanded

our internal processes and documentation.

– We raised our minimum project size to $15K to help

maintain a good project workflow.

– We created more internal tools and even developed

our own mobile app platform called MuseumXP.

Page 24: Clarisoft Software Development Process (Lunch & Learn Presentation)

Contact Information

• Robert Haines, Director Business Development

– Email: [email protected]

• Office: 7201 E. Camelback Road, Suite 320, Scottsdale,

AZ, 85251

• Phone: (480) 474-4603