340 likes | 633 Views
Putting People First in the Software Development Lifecycle. Rob Kaul • Stacy Carston Sporie • Marc Thorson Nelnet Accessibility Team. About Us. The Nelnet Accessibility Team Marc Thorson Stacy Carston Sporie Rob Kaul
E N D
Putting People First in the Software Development Lifecycle Rob Kaul • Stacy Carston Sporie • Marc Thorson Nelnet Accessibility Team
About Us • The Nelnet Accessibility Team • Marc Thorson • Stacy Carston Sporie • Rob Kaul • We support hundreds of developers and their agile teams with the goal of continually providing state-of-the-art products and services that are accessible to everyone. • Nelnet • Leader in the student loan industry • Our #1 core value is focusing on the customer
Agenda • The Software Development Process • How we “shift left” and integrate accessibility into the software development lifecycle • Accessibility Stakeholders • How various stakeholders support accessible products • Motivating Change • How to take your accessibility program to the next level
Building software is a process. • High quality software is complex • Reliability • Performance • Maintainability • Security • Accessibility • To make great software you need an established process • Every organization is a little different • Every product is different • User base • Platform • Accessible features available
Where does accessibility fit in the software development lifecycle? • Testing is a natural first step • Many accessibility efforts start with an audit or evaluation • But, testing is not enough • Fixing issues later is more costly than building it correctly • Or it gets buried in the backlog Dawson, Maurice & Burrell, Darrell & Rahim, Emad & Brewster, Stephen. (2010). Integrating Software Assurance into the Software Development Life Cycle (SDLC). Journal of Information Systems Technology and Planning. 3. 49-53.
Shift Left • Accessibility must be part of the entire process • Automated testing and continuous integration helps us shift left • Secure development uses the same philosophy Accessibility
Requirements • Make Accessibility a Requirement • Is accessible behavior included in other requirements? • Agile: Backlog Grooming or Refinement • Does the team understand any accessible needs? • Is accessible behavior included in the Acceptance Criteria? • Are there any requirements that might pose an accessibility challenge? • The sooner we can get ahead of any challenges, the better.
Design and Content • System Design • Does our design and technology choice support an accessible end-product? • Consider 3rd party libraries, tools or applications that will be integrated • UI/UX Design and Content • Constraints inform good design. Accessible designs can have a synergetic effect on your product. • Design Reviews • Periodically meet with product owner, designer, and maybe a developer to review upcoming work from an accessibility standpoint (Backlog refinement is a good place to bring this up as well) • Helpful on larger, high profile efforts • Can be a significant time commitment
Implementation / Development • Presentation Layer Code • Clean, standards compliant code • Code Reviews • When used effectively, code reviews are an excellent way to catch some types of accessibility errors and to increase technical knowledge across a team • Requires technical knowledge, not only of accessibility concepts, but also any major front-end frameworks used by the application • Keep it kind and constructive! • Unit Tests • Test for intended accessible behavior • Pattern Library / Design System console warnings
Testing and Release • Testing • Automate as much as you can and utilize continuous integration • Manual testing • Testing with assistive technology • Run through an accessibility checklist • Release • User Feedback Vecteezy.com
Agile (Scrum)Development • Scope is often smaller with an emphasis on moving quickly • New practices • Include accessibility requirements in acceptance criteria • Encourage teams to include accessibility in their Definition of Done • Demonstrate accessibility related functionality in sprint reviews • Dedicated accessibility sprints • Teams need a solid understanding of accessibility
Our Toolbox: Supporting the Process • Documentation & Training • Standard accessibility training for new hires • Additional training available to teams on request • Self-help Wiki • Design Systems, Pattern Libraries & Style Guides • Reusable, accessible patterns and code • Accessibility Checklists • HTML • PDF • Multimedia
How can we incorporate accessibility into the software development lifecycle successfully? It’s all about the Stakeholders – Each and Every One
Business clients and project managers (the decision-makers) • High-level approach • Know who the audience is • A widely distributed public website vs. a focused, internal business application • Need to make accessibility a priority • Legal compliance • It’s the right thing to do • Understand that accessible design, development and testing time is includedin estimates • Should know how accessible their product currently is • Set the direction • Make team allocation decisions
Designers and content creators • Focus on the overall user experience • Principles of Accessibility - POUR • Perceivable • Understandable • Some Considerations • Layout • Color • Headings • Verbiage • Interactive Elements (Links, Buttons) • Navigation • Images • Alternative Text • Custom Experiences • Accessible design leads to more accessible code
Developers (the magicians) • POUR • Operable • Robust • Technical focus • Accessible role, name, state, value • Form input labels • Reading order • Semantic elements • Dynamic behavior (keyboard, screen reader, other assistive technology) • Custom widgets require robust scripting • Errors and Notifications • Native applications • Unit tests for accessibility or checking work with automated tools
Testers/quality assurance specialists (the defenders) • Running automated tools (aXe, WAVE) • Manual testing, including use of assistive technology • Screen readers • Magnification • Responsive behavior / various devices • Verify • Reading order • Keyboard behavior • Checklist completed • Check for understandability / edge cases
Accessibility expert • Fill in the gaps • Provide guidance where a team might be lacking expertise • Training & Consulting • Advocate for accessibility • Convincing stakeholders • Help prioritize issues • Can also be a member of the team who is passionate about accessibility
Customer service (the listeners) • Interact directly with customers • Require awareness of individuals with disabilities • Knowledge of what we offer (such as alternative formats) • Yearly accessibility training • Support customer independence
Customers (the last word) • Our goal is to provide a product that all of our customers can use • Give customers a voice by providing an easy feedback method • Complaints • Suggestions • Be aware of trends and how our customers are changing the way they access our products • Mobile First / Responsive Design
Motivating Change Moving your program to the next level
Establish a solid foundation for your organization’s accessibility program • Construct a solid, reusable process • Document your software development lifecycle and how accessibility should fit in • Communicate the value of adhering to accessibility checklists • Encourage standards compliant code and make it an expectation • Good accessibility is the result of good code. Anything less is bad code. • Promote accessibility checking tools and automation. • Invest in a regular accessibility expert (or team of experts) as integral members of the organization. • Accessibility can be complicated. Building expertise is critical. • Working with a teammate who is an expert is more effective and efficient than combing through WCAG documentation or relying on temporary advisors. • Accessibility needs to be championed year round.
Moving beyond the checklist to a culture of accessibility • Building and maintaining accessibility awareness with checklists and other quality control processes is good, but to take it to the next level, accessibility needs to be embraced as a natural part of everything an organization does. • In other words, accessibility as a skill set AND as a mindset • A company focused on quality should be a company willing to focus on accessibility. • Some ways Nelnet has made accessibility part of its culture: • Emphasizing how accessibility correlates to our core mission • Seeking advocates in all business units and at all levels of our company
Emphasize how accessibility correlates to the company’s mission/vision • EAC’s mission/vision: • Customer first. Excellence. Trust. Caring. • Great Lakes’ mission/vision: • Doing what’s right to change lives for the better. • Nelnet’s mission/vision: • To empower our customers to achieve their dreams. • Accessibility is all about helping customers — each and every one of them!
Seeking advocates in all business units and at all levels • Introduce yourself! Don’t be afraid to talk about your disability or why you are so passionate about accessibility. • To truly understand the value of accessibility, people need a way to relate to it somehow. • Talk to management and work hard with them to get them on the right path. • When executives and leaders are enlightened about the benefits of accessibility and are promoting it, it’s easier to motivate everyone. • Find a way to raise awareness to all staff. • Nelnet has incorporated a training module all employees are required to take each year.
Moving beyond standards to excellent user experiences for everyone • Truly creating a world-class, accessible product depends on top-notch developers and designers. • Sometimes creating a fancy widget that looks great, sounds great in screen reader, operates effectively with a keyboard, and is intuitive and relatively easy for everyone to understand is hard! • Fortunately, software engineers are perfectionists. • Accessibility rules give front-end professionals a good reason to be perfect. • Some ways Nelnet has enlightened our presentation-layer developers and designers: • Creating empathy by giving everyone instant access to assistive technology • Making accessibility a career path
Creating empathy by giving everyone access to assistive technology • To understand someone, you must first walk a mile in their moccasins. • One of the best early decisions we ever made was encouraging all our developers to install and experiment with the NVDA screen reader. • With 10 minutes of training, developers can learn the basics of using the screen reader’s virtual cursor, navigating by headings, and simple form interaction.
Making accessibility a career path • Working in the field of accessibility is challenging, fun, and rewarding. • Nelnet recognized the importance of accessibility and created a dedicated Accessibility Team. • Experienced front-end developers can choose to take the accessibility path when positions become available. • Genuine accessibility positions allow us to deal with accessibility matters both tactically and strategically. • It’s harder to be strategic without having a position 100% dedicated to accessibility matters.
Moving expertise beyond a few to the whole organization • No matter how awesome an accessibility expert might be, he/she can’t do it all! • Accessibility is a team game. Everyone needs to play a role. • Some ways Nelnet has built accessibility expertise throughout the company: • Requiring accessibility training during associate onboarding • Accessibility Jedi Council
Requiring accessibility training during associate onboarding • A product’s accessibility is only as good as the skill set and awareness of the newest recruit working on the product. • Providing in-house training has been critical for our organization. • All staff are required to complete a basic accessibility training module so they are aware of the rules and regulations as well as the value of doing things right. • Developers are required to participate in more advanced sessions.
Accessibility Jedi Council • Our Accessibility Jedi Council is a grassroots subcommittee of volunteers throughout our organization who periodically discuss accessibility concerns and ideas for improvement. • Anyone is welcome at any experience level. • Developers, designers, management, legal, etc. • Accessibility is all about diversity, so a good mix of ideas is a plus. • Heavy focus on UI/UX since most accessibility matters revolve around the front end. • Jedi Council members are our champions of accessibility in their respective divisions/departments/product teams who help promote knowledge sharing and doing things right throughout the organization.
In Conclusion • By shifting left and incorporating accessibility into the whole process, your team will be able to produce a higher quality end product. • A product is only as accessible as its weakest link. All stakeholders need to consider accessibility and take an active role. • Accessibility is a team game. A culture of caring, commitment to great customer experiences, and a well trained workforce will bring your accessibility program to the next level.
Questions? Stacy Carston Sporie @stacycarston stacy.sporie@nelnet.net Marc Thorson @marcoftheweb marc.thorson@nelnet.net Rob Kaul robert.kaul@nelnet.net Thank you for attending!