software development lifecycle overview by cc

34

Upload: cooperative-computing

Post on 01-Dec-2014

183 views

Category:

Technology


0 download

DESCRIPTION

Software Development stages of Cooperative Computing.

TRANSCRIPT

Page 1: Software Development Lifecycle Overview By CC
Page 2: Software Development Lifecycle Overview By CC

What is Software Development?Software development is the development of a software product. The term "software development" may be used to refer to the activity of computer programming, which is the process of writing and maintaining the source code.

Page 3: Software Development Lifecycle Overview By CC

Big Ideas usually require intense innovation and disruptive thinking. Our teams have been especially equipped with program managers, senior developers and advanced software engineers that are insightful and can lead our clients through their toughest challenges. Our tried and tested methodologies for design and development permit our teams to focus their time on getting you results from your mobile apps, complex high performance web applications, insightful and real-time data analytics or complex integrations bringing your customers insightful information from your back-office systems.

Page 4: Software Development Lifecycle Overview By CC
Page 5: Software Development Lifecycle Overview By CC

Our team's experienced program/process analyst will utilize a proven methodology to gather and define requirements, define success criteria and convert these into functional specifications• Understand business process• Define desired improvements or outcomes• Define functional requirements to achieve desired outcomes

Page 6: Software Development Lifecycle Overview By CC

Understand business process• Working with your key business stakeholders we will perform discovery sessions and

define a business processes critical points of integration and key data elements end to end.

Page 7: Software Development Lifecycle Overview By CC

Define desired improvements or outcomes• Utilizing the process and data element mappings we will work with your team to

define and recommend areas to automate and simplify; improving the efficiency of existing work processes or in the execution of new functions/capabilities.

Page 8: Software Development Lifecycle Overview By CC

Define functional requirements to achieve desired outcomes• Utilizing process maps and key functional definitions, requirements will be defined for

every application function, integration point and a detailed functional specification to be utilized for software development phase will be completed

Page 9: Software Development Lifecycle Overview By CC
Page 10: Software Development Lifecycle Overview By CC

Only design and engineering tasks are more important than the development planning and scoping. To facility the need for constant change during most development projects, our team utilizes the agile development framework. Each key function of the design, development, testing and deployment will be itemized out within our planning tools to ensure it can be properly tracked and communicated throughout the development lifecycle.• Organize the activities• Align the teams• Communicate constantly

Page 11: Software Development Lifecycle Overview By CC

Organize the activities• Our program managers understand what activities can be done in

parallel and where dependencies will exist. Our team will integrate the activities to ensure that total work effort and time to deployment is minimized. This is a learned art and our team has years of experience across complex and sophisticated web and mobile application projects enabling them to limit development waste.

Page 12: Software Development Lifecycle Overview By CC

Align the teams• It is essential that the web and mobile teams are coordinated and are

constantly realigning as the project continues. This is handled through daily “scrums” to review what has been accomplished and what the target is for the day. Issues are resolved and tough problems worked out rapidly when teams are realigning daily during the project.

Page 13: Software Development Lifecycle Overview By CC

Communicate constantly• The program managers pride themselves in keeping our clients informed

and ensuring that all stakeholders are engaged at the desired level. Multiple means of communication can be incorporated but our collaboration portal is essential to making certain it is all in one place.

Page 14: Software Development Lifecycle Overview By CC
Page 15: Software Development Lifecycle Overview By CC

Our team of application architects will design a scalable and secure web and mobile application architecture that ensures the ability to continuously deploy new capability and improve application sophistication through continuous integration.• Select the proper web application framework• Define the proper data management framework• Define the proper mobile framework

Page 16: Software Development Lifecycle Overview By CC

Select the proper web application framework• Web application frameworks have become increasingly sophisticated

incorporating more than just traditional development technologies such as PHP, Java, .NET, Ruby. Our team's experience in developing advanced, scalable web and mobile applications helps us select both the core development framework and necessary application specific technologies for multimedia, social, mobile and service integration for your particular industry's needs.

Page 17: Software Development Lifecycle Overview By CC

Define the proper data management framework• Real-time data analysis, sophisticated data interactions and complex

data security requirements are driving a new breed of data management systems such as hadoop, cassandra, mongodb in order to keep up with the demands in this rapidly changing technology area. Our data architects have amassed years of experience in ensuring both corporate and consumer data systems can be properly architected and maintained to meet the most advanced and demanding performance and security requirements.

Page 18: Software Development Lifecycle Overview By CC

Define the proper mobile framework• No area of application development is advancing more rapidly in its

demands for complexity and sophistication and the enablement of a cross-platform seamless user experience. Our team's ability to enable an elegant user experience a crossed your web and mobile application framework will permit you to create the most amazing user experience.

Page 19: Software Development Lifecycle Overview By CC
Page 20: Software Development Lifecycle Overview By CC

The art of creating a “system” that can be saleable, secure, and ready for the future comes from a team who can see around corners, who can imagine and do what no one else has seen. This activity is where true genius is put to work and amazing creations can occur.• Web application development• Data systems development• Mobile application development

Page 21: Software Development Lifecycle Overview By CC

Web application development• Our teams have developed sophisticated tools and processes for coding

PHP, .NET, Ruby, and Java Applications. Key frameworks such as Laravel, Rails and django enable us to maintain code consistency and clean documentation. The use of advanced development library integrations such as ExtJS, AngularJS, jQuery, node.js and backbone.js among others enable us to deliver extremely fast and efficient web applications.

Page 22: Software Development Lifecycle Overview By CC

Data systems development• Our data application teams maintain extensive training and have years

of experience in data element, data taxonomy and data systems design and development. Ensuring a proper selection of data management technologies such as Cassandra, mongoDB, hadoop, MS SQL, MySQL and equivalent relational and non-relational systems are just the beginning of the exercise. Proper design and implementation of how data will be interrogated, related and presented is critical to ensuring a secure and high performance application. Our team’s skills will make this happen regardless of application size or complexity.

Page 23: Software Development Lifecycle Overview By CC

Mobile application development• Our Apple iOS and Google Andriod teams have developed extensive

libraries and tools that are applied using well exercised mobile development methodologies. Our extensive experience utilizing phonegap and/or QT has allowed us to develop cross mobile device applications at a wicked pace with extremely elegant user experiences.

Page 24: Software Development Lifecycle Overview By CC
Page 25: Software Development Lifecycle Overview By CC

Our team has perfected the art of continuous deployment. The ability to take a concept from design, to development and into production swiftly and make iterative changes lets our clients apply concepts and change key components based on customer feedback.• Test Driven Development• Continuous Integration• Automated / Reflective QA

Page 26: Software Development Lifecycle Overview By CC

Test Driven Development• To achieve 99% error free code it is essential that a strict adherence to

test driven development is implemented within an organization. Writing the tests for each section of the code and then ensuring these tests properly complete upon build ensures that release automation can occur with stellar results. Our rigorous adherence to full code coverage enables us to be confident in creating “unbreakable” code.

Page 27: Software Development Lifecycle Overview By CC

Continuous Integration• Enabling rapid prototyping and customer-focused enhancements to your

application require that changes can be coded and deployed in hours or days not months and years. Our use of continuous integration methodologies ensures that your application is ready for deployment at any moment throughout the development day.

Page 28: Software Development Lifecycle Overview By CC

Automated / Reflective QA• Quality assurance should be focused on identifying usability flaws,

spelling and grammar errors, graphical changes and simplifying the user experience. With test and behavior driven development in place our QA teams focus on each of these components with a passion and intensity for creating a great user experience.

Page 29: Software Development Lifecycle Overview By CC
Page 30: Software Development Lifecycle Overview By CC

Sometimes you need to take your applications to the next level, build on what has created the most value, and to do this you need a new perspective. Our team has developed a solution offering that permits us to review your current web and mobile applications and deliver defined recommendations and help execute these as needed.• Analyze the code• Report on the outcomes• Develop and deploy the changes

Page 31: Software Development Lifecycle Overview By CC

Analyze the code• Our team utilizes best practice analyzers for PHP, Ruby, Python,

and .NET, Apple iOS, Google Andriod and Windows Phone. Utilizing these tools we will report on critical and non-critical application code changes defined by classification. Classifications include, usability, security, and performance. Criticality is scored on a 1 (low) 5 (Urgent) bases by classification and quickly allows your team to see issues quickly and concisely.

Page 32: Software Development Lifecycle Overview By CC

Report on the outcomes• Our team will generate a report detailing the finding and the

recommended changes. These changes may reflect multiple components of the application and may require design sessions for final definitions. These design sessions will be coordinated with your teams activity load during the “Analyze the code” follow up.

Page 33: Software Development Lifecycle Overview By CC

Develop and deploy the changes• While we review the detailed report with your team we will ensure who

is accountable to get results and correct issues ensuring that we can be responsive to meet your team's needs quickly getting you the results you need.

Page 34: Software Development Lifecycle Overview By CC

Thank You!Follow/Like us or visit www.cooperativecomputing.com