How To Develop Software
The Right Way
And how we dramatically grew our company because of it.
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%!
What We Do
• Custom Software Platforms and Products
– Web, Cloud, SaaS
• Mobile Applications
– iOS, Android
• Traditional Applications
– Client/Server, Desktop, Custom Connectors,
Custom Automation
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
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?!?!
Starting Out…
• Building a software platform is a lot like building
a house. You need the blueprints before you go
hammering things together.
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
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
“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.
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.
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].
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.
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).
Use Cases: Example
• These are typically much longer and far more
detailed, but for simplicity's sake …
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.
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.
System Architecture: Example
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.
Database Architecture: Example
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.
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.
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.
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.
Contact Information
• Robert Haines, Director Business Development
– Email: [email protected]
• Office: 7201 E. Camelback Road, Suite 320, Scottsdale,
AZ, 85251
• Phone: (480) 474-4603