0
Ciber Development Life Cycle
Building a software development factory
6/22/2014 | 2 | ©2014 Ciber, Inc.
Investment Planning ReleaseDevelopment
• Who are we building for?
• What are their probl...
6/22/2014 | 3 | ©2014 Ciber, Inc.
Ciber Development Life Cycle Components
Release
Management
Requirements
Development
User...
6/22/2014 | 4 | ©2014 Ciber, Inc.
Ciber Development Process
• Ciber Development Life
Cycle focuses on repeatable
processes...
6/22/2014 | 5 | ©2014 Ciber, Inc.
Ciber Lifecycle Process
Process by which features are conceptualized, designed, built, t...
6/22/2014 | 6 | ©2014 Ciber, Inc.
Requirements Development
• Each Project Team will be
developing their requirements
in pa...
6/22/2014 | 7 | ©2014 Ciber, Inc.
Applications that are designed
around helping real users
accomplish real tasks achieve
a...
6/22/2014 | 8 | ©2014 Ciber, Inc.
Increased Adoption
Greater Sustainability
Increased Productivity
Competitive Advantage
F...
6/22/2014 | 9 | ©2014 Ciber, Inc.
Design Phase Construction PhaseAnalysis Phase
Establish the Vision
Identify Stakeholders...
6/22/2014 | 10 | ©2014 Ciber, Inc.
Release Management
• Coordinates work across all
Project Teams
• Prioritizes functional...
6/22/2014 | 11 | ©2014 Ciber, Inc.
Roles and Responsibilities
• Program Manager
– Responsible for the coordination of all ...
6/22/2014 | 12 | ©2014 Ciber, Inc.
Cadence
• Upfront
– Establish release cycles, teams, governance processes
• Daily
– Spr...
6/22/2014 | 13 | ©2014 Ciber, Inc.
Iterative Development
• Multiple teams running in parallel
• Work prioritized and coord...
6/22/2014 | 14 | ©2014 Ciber, Inc.
Iterative Development
• Requirements Development
– Creating the right sized use cases f...
6/22/2014 | 15 | ©2014 Ciber, Inc.
Developer Support Operations
• Focus on automation
– Build
– Test
– Deploy
• Source cod...
6/22/2014 | 16 | ©2014 Ciber, Inc.
Development Operations
Build Strategy
•New application
strategy and
integration
•Build ...
6/22/2014 | 17 | ©2014 Ciber, Inc.
Integration testing
• Automated build and deployment
process configured integration
env...
6/22/2014 | 18 | ©2014 Ciber, Inc.
Dashboard Creation & Maintenance
Test and Defect Management Start Date End Date Release...
6/22/2014 | 19 | ©2014 Ciber, Inc.
TestDriven Development
•Create automated unit tests that define code
requirements
•Test...
6/22/2014 | 20 | ©2014 Ciber, Inc.
Test Automation Service Overview
Ciber’s Modular Automation Frameworks are designed
to ...
6/22/2014 | 21 | ©2014 Ciber, Inc.
Metrics measure Quality, Progress and Efficiency
Continuous Improvement through a well-...
Upcoming SlideShare
Loading in...5
×

Ciber dlc

126

Published on

Published in: Technology, Business
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
126
On Slideshare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
3
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide
  • Thank you for the opportunity to meet with you today.

    Before I tell you a little bit about Ciber, I want to explain Ciber’s approach to doing business.

    We don’t see ourselves as consultants or technology vendors. We see ourselves as partners, and that impacts everything we do.

    That’s why we’re client focused. We listen to your challenges and goals. They’re what drive our solutions and guide everything we do.

    And, we’re results driven. We measure success by results … the same way you do.

    This approach – client focused, results driven – is how Ciber transforms engagements into long-term partnerships … which gives our clients the reassurance of doing business with someone they know and trust.

    Nearly 97 percent of our clients say they’d use Ciber again. During the next XX minutes, I’ll show you who we are and why our clients stay with us.
  • Source code mgmt includes maintaining all code branches and performing the necessary merges from development branches into the main trunk

    Config mgmt – focuses on ensuring the development, integration, testing, and production environments are documented and controlled to ensure that changes do not slip in uncontrolled.
    - software version numbers
    - licenses
    - build scripts
    - DB scripts

    Test automation – dedicated team of QA engineers working to automate as many of the test cases as possible and build up regression test suites. Test code coverage is a key metric to measure

    Build automation – using tools such as Hudson or Jenkins to script out the complete build process for all components and then orchestrate the entire build process to ensure repeatability

    Automated Deployment – scripted deployment to all environments as required. Primarily focused on development, integration, and testing environments. Includes automated data refresh scripts. All operations can be orchestrated to recreate each environment
  • Transcript of "Ciber dlc"

    1. 1. Ciber Development Life Cycle Building a software development factory
    2. 2. 6/22/2014 | 2 | ©2014 Ciber, Inc. Investment Planning ReleaseDevelopment • Who are we building for? • What are their problems? • Which problems do we want to solve? • Minimally viable product (MVP) • MVP use case definition and priority • Packaging strategy • Path to Market / GTM Attack • Key Milestones • Use Case Grooming • Incremental Release Planning • Daily Status Review • Incremental Demos • Release Retrospective • Feature Packages • End to End Testing • UAT • Training & Curriculum Development • Documentation • Product Marketing • Pricing • Hosting & Delivery Ciber Lifecycle Process
    3. 3. 6/22/2014 | 3 | ©2014 Ciber, Inc. Ciber Development Life Cycle Components Release Management Requirements Development User Experience Iterative Development Development Operations Quality Assurance and Testing
    4. 4. 6/22/2014 | 4 | ©2014 Ciber, Inc. Ciber Development Process • Ciber Development Life Cycle focuses on repeatable processes to ensure quality delivery of every project – Includes user experience optimization – Provides iterative development delivery – Incorporates development operations best practices – Focuses on test driven development QA – Instills strategic release management – QA driven metrics along entire process to continually measure and improve
    5. 5. 6/22/2014 | 5 | ©2014 Ciber, Inc. Ciber Lifecycle Process Process by which features are conceptualized, designed, built, tested, and released. There are two major components of the CLP: – Features • Minimally viable product which is individually shippable • Identify scope and market goal of functionality bundle • Start and end independently of releases • Development may span multiple releases depending upon complexity and scope • Once proposed, delivery targets a specific release • If a Feature takes longer than anticipated to attain desired functionality, it is pushed to the next release – Releases • A bundling of Feature Packages which are completed, tested and delivered together • Independent from Features • Time boxed scheduled to ship on specific dates
    6. 6. 6/22/2014 | 6 | ©2014 Ciber, Inc. Requirements Development • Each Project Team will be developing their requirements in parallel • Gap analysis drives release planning • Outputs: • Functional and technical specifications • User stories and tasks to be scheduled • QA test plans and test cases developed • Performance • Scalability • Reliability • Integration • Security
    7. 7. 6/22/2014 | 7 | ©2014 Ciber, Inc. Applications that are designed around helping real users accomplish real tasks achieve a higher rate of adoption, require less re-work and provide a higher ROI over time. By engaging business stakeholders and end users early in the process, we ensure that the application that gets built is the right application for everyone involved. That translates into better productivity and longer application lifespan. User Experience User Research Information Architecture Experience Prototyping Visual Design Web UI Development Usability Testing User Experience
    8. 8. 6/22/2014 | 8 | ©2014 Ciber, Inc. Increased Adoption Greater Sustainability Increased Productivity Competitive Advantage Fewer Coding Errors Less Redesign Lower support cost Decreased training cost ROI Cost … the first 10% of the design process, when key system design decisions are made, can determine 90% of a product’s cost and performance. - Smith & Reinertsen Developing Products in Half the Time User Experience Benefits of a user-centered design process
    9. 9. 6/22/2014 | 9 | ©2014 Ciber, Inc. Design Phase Construction PhaseAnalysis Phase Establish the Vision Identify Stakeholders Define UX Objectives Clarify Desired Outcomes Define the Context Create User Profiles Establish the Environment Identify Task Paths Design the Experience Information Architecture Wireframes Visual Design Build the Interface HTML/CSS Templates Navigational Behaviors Interactive Elements test, evaluate & refine User Experience Process overview
    10. 10. 6/22/2014 | 10 | ©2014 Ciber, Inc. Release Management • Coordinates work across all Project Teams • Prioritizes functionality to minimize dependencies between project teams • Releases can/will contain components from multiple teams • Time boxed releases tend to work better than feature constrained releases • Board members: – Program Mgr – Product Mgrs – Project Mgrs – QA Leads • Weekly status review meetings
    11. 11. 6/22/2014 | 11 | ©2014 Ciber, Inc. Roles and Responsibilities • Program Manager – Responsible for the coordination of all of the work streams, chairs the Release Management Review Board • Product/Feature Owner (1 per major feature/system) – Responsible for the prioritization of new features and functionality of a specific portion of the overall WVO effort • Project Manager (1 per team) – Responsible for the development related activities of each product/feature team • Development Team Members (7-10 people total/team) – Developers (3-5) – Java, .Net, UI as needed, onshore/offshore mix – QA (1-2) – functional testing resources – Technical Lead/Architect – provides technical oversight to the team – Business Analyst – Represents the Business owner for the project • DevOps Team – Source Code Management (SCM) Administrator – responsible for ensuring all changes are branched and merged properly between branches and environment – Build Engineer – develops automated build, deployment, and installation procedures – QA Test Engineer (2-4 resources) – build up automated testing procedures that can perform automated regression tests – DB Engineer/DBA – maintain databases for all environments – System Engineer (1-3 resources) – build out development, integration, QA, production environments • Release Management Board – Chaired by Program Manager – All Product/Feature owners and Project Managers attend – Review release status and discuss investment planning for future releases – Sets the “theme” of the releases, locks scope for each release
    12. 12. 6/22/2014 | 12 | ©2014 Ciber, Inc. Cadence • Upfront – Establish release cycles, teams, governance processes • Daily – Sprint stand up meetings – Backlog grooming/prioritization • Weekly – Release Status Meeting with Release Mgmt Board • Status, blockers, issues • Release/feature prioritization • Monthly/Quarterly – Iterative Releases – builds out to integration environment to allow other teams to verify functionality – Release Status Meeting
    13. 13. 6/22/2014 | 13 | ©2014 Ciber, Inc. Iterative Development • Multiple teams running in parallel • Work prioritized and coordinated by Release Management • Developers perform unit testing during iteration • QA performs functional testing during iteration • All code built using automated build scripts from Developer Support Operations • Auto deployed to integration environments • No code pushed to integration environment until accepted by QA team • Typical team size 7-10 people – Developers (3-5) – QA (minimum 1) – Project Mgr – Analyst • Teams should be cross functional to minimize dependencies between teams
    14. 14. 6/22/2014 | 14 | ©2014 Ciber, Inc. Iterative Development • Requirements Development – Creating the right sized use cases for iterative releases • Development governance processes – Use case, defect workflow templates – Release management – Metrics driven development • Trained project teams – Project Managers – Product owners – Experienced developers and QA personnel
    15. 15. 6/22/2014 | 15 | ©2014 Ciber, Inc. Developer Support Operations • Focus on automation – Build – Test – Deploy • Source code branching to support iterative development • Continuous build environments • All automation validated by QA to ensure accuracy • Test automation includes building up regression test suites
    16. 16. 6/22/2014 | 16 | ©2014 Ciber, Inc. Development Operations Build Strategy •New application strategy and integration •Build Process Strategy •Deployment process strategy •Source control strategy •Source code branching management •Build Tool Integration Build Engineering •Build script creation •Build script maintenance •Application build and stage •Deployment instructions •Application deployments Configuration Management •Manage and monitor OLAs’ •Manage environment requests •Monitor environments and communicate status updates •Coordinate the build of new environments Process Improvement •Increased standardization •Engagement Efficiency •Maximize reuse •Optimized resource utilization •Continuous delivery •An ongoing partnership with development and testing teams
    17. 17. 6/22/2014 | 17 | ©2014 Ciber, Inc. Integration testing • Automated build and deployment process configured integration environment • QA performs integration testing between components • Integration environment can be refreshed using automated scripts as needed • Metric driven testing drives code quality improvements across all teams • Additional testing – Performance – Scalability – Reliability – Security
    18. 18. 6/22/2014 | 18 | ©2014 Ciber, Inc. Dashboard Creation & Maintenance Test and Defect Management Start Date End Date Release Number Project Name 14 2 5 2 18 In Progress Blocked Failed Completed Not Executed 0 2 4 6 8 10 12 14 16 18 20 In Progress Blocked Failed Completed Not Executed Test Progress 10 10 10 10 10 10 10 10 5 5 5 5 5 5 5 5 2 2 2 2 2 2 2 2 1 1 1 1 1 1 1 11 1 1 1 1 1 1 11 1 1 1 1 1 1 1 Application 1 Application 2 Application 3 Application 4 Application 5 Application 6 Application 7 Application 8 Planned Completed In Progress Failed Not Executed Blocked 41 34 Planned Total Ran Total Test Progess(Appliationby Application) Test ProgressTest CasesPlannedv Ran 6 3 2 1 1 1 6 Open Accepted Invalid Rejected Postponed Ready for Test Closed 0 2 4 6 8 Defectsand Status 15 14 7 5 Defects Raised Defects Assigned Defects Resolved Defects Closed RecentDefects 2 3 7 5 1 2 2 4 0 2 4 6 8 Critical Major Medium Minor Raised Closed Defectsand Priority 1 0/1 8/2 0 1 361 0/1 8/2 0 1 36Release Number All or Specific Project Name Refresh 40 10 5 3 Test Cases Passed Test Cases Failed Test Cases Blocked Test Cases Not Ran 0 5 10 15 20 25 30 35 40 45 Test Status Test Cases Passed Test Cases Failed Test Cases Blocked Test Cases Not Ran
    19. 19. 6/22/2014 | 19 | ©2014 Ciber, Inc. TestDriven Development •Create automated unit tests that define code requirements •Tests contain assertions •confirms correct behavior as developers evolve and refactor •Use testing frameworks based on xUnit •Define features as test cases •Produces code necessary to pass that iteration's tests. •Refactor code to accommodate changes Test Driven Development Pass Requirements Develop Test Cases Add/ Update / Delete Code New Requirement? Execute Test Cases Fail Yes Stop Development NoVerb: refactor (computing) restructure or rewrite source code to improve internal consistency, readability, etc, without changing its function
    20. 20. 6/22/2014 | 20 | ©2014 Ciber, Inc. Test Automation Service Overview Ciber’s Modular Automation Frameworks are designed to quickly address our Client’s needs while providing more accurate, robust, and efficient coverage. Ciber is the first HP Partner to provide the full suite of ALM services. Our unique partnership with HP allows us to provide our clients with the full range of testing, automation, and performance engineering related services for all technologies applying any lifecycle methodology. Ciber’s test automation solutions • Begin with Test Automation Strategy, Design and Framework • Create low-maintenance shared libraries and repositories for high re- use • Build-out configurable Master Regression Test Suites according to priorities • Optimize execution cycle time through distribution of automation sets • Detect, identify, and isolate defects at earliest stage possible
    21. 21. 6/22/2014 | 21 | ©2014 Ciber, Inc. Metrics measure Quality, Progress and Efficiency Continuous Improvement through a well-defined metrics program and traceability Progress Efficiency Quality Project Sample set of Metrics Objective Defect per KLOC Application quality Effectiveness of development process/team Defect Severity Index Application/Project quality and stability and various stages of the lifecycle Test Coverage Measures the percentage tested versus remaining Monitors progress & schedule Time to find a defect/ Time to solve a defect Measure application stability, effectiveness of the development and testing process Daily Test Progress Monitors test progress on a daily basis Defect Removal Rate Tracks defects discovered to defects resolved and indicates the ‘fix’ or removal rate Successful metrics programs will lead to monitoring of trends and continuous improvement
    1. A particular slide catching your eye?

      Clipping is a handy way to collect important slides you want to go back to later.

    ×