Agile Software Development

agileManaging complex software development projects is a challenging task, but SEARCH has embraced an “agile” methodology that we use internally—and we are promoting its use in the justice and public safety field as an effective approach to tackling IT projects. 

Agile development focuses on incremental development and delivery, collaboration in a team approach, and rapid and flexible response to change throughout the development cycle.  It helps promote an ongoing process of decision-making and oversight so that projects stay on track and are responsive to user needs. 

SEARCH follows agile practices when providing assistance to justice and public safety agencies, such as in software development efforts, programming and configuration, implementation architecture and design, and on projects involving national justice standards, such as GRA, NIEM, GFIPM, and N-DEx. 

Learn more about Agile Software Development

Scrum

SEARCH also uses the Scrum approach, a variant of the Agile methodology.  Scrum is a framework for effective team collaboration on complex projects. It uses a simple but powerful set of principles and practices that help teams deliver products in short cycles, enabling fast feedback, continual improvement, and rapid adaptation to change. 

Scrum has predominantly been used for software development projects, but works well for any complex, innovative scope of work. It focuses on teamwork and constantly pleasing the customer. Using Scrum, SEARCH has learned useful techniques to manage backlogs, plan releases and iterations, and track and report project progress. 

scrum

Several SEARCH staff have become certified ScrumMasters through the Scrum Alliance, and are trained to effectively apply the principles of the Agile Manifesto, which guides Scrum. 

Learn more about Scrum

Open Source Tools

In its software development work, SEARCH uses open frameworks—software platforms—to develop applications, products, and solutions. Open frameworks allow us to develop low-cost solutions that do not require software licensing fees and to leverage good work being done in open source communities worldwide. 

Three SEARCH Member States—Hawaii, Maine and Vermont— have formed the nonprofit Open Justice Broker Consortium (OJBC) as a means to implement key exchanges on an open source software platform and share the implementations among themselves. This ability to share technology significantly reduces their collective costs and reduces the time required to make the exchanges operational. 

The Open Justice Broker (OJB) platform is built upon the standard-based open source Apache ServiceMix platform. ServiceMix is an open source enterprise service bus and service-oriented architecture toolkit. It is released under the Apache License and supported by a large community of developers. 

SEARCH Staff supports the OJBC and works closely with Members to develop workable solutions to complex justice information sharing issues.

SEARCH staff has been instrumental in developing the National Shared Execution Cloud Context (NSECC) technical architecture. The NSECC provides a hosting infrastructure and governance process for national information exchanges, including the Sex Offender Registration and Notification Act (SORNA) exchange and Interstate Compact Offender Tracking System (ICOTS) exchange. The SORNA exchange allows states to send and receive sex offender notifications and uses a GRA-conformant exchange that demonstrates interoperability between .NET and Java web services. The ICOTS exchange leverages similar technology and security and showcases a GRA-conformant exchange with multiple vendors and state partners in a distributed environment. The intermediary uses a configuration approach that allows new states to receive notifications with minimal effort and no code updates. 

Open solutions we use to implement complex information exchanges for justice agencies include: Java, Spring, Apache CXF, Apache Camel, Apache HTTPD, Tomcat, and Apache ServiceMix.

Agile Software Development

Agile software development is a group of software development methods based on iterative and incremental development, where requirements and solutions evolve through collaboration between self-organizing, cross-functional teams. It promotes adaptive planning, evolutionary development and delivery, a time-boxed iterative approach, and encourages rapid and flexible response to change. It is a conceptual framework that promotes foreseen tight interactions throughout the development cycle. 

The Agile Manifesto introduced the term in 2001. Since then, the Agile Movement, with all its values, principles, methods, practices, tools, champions and practitioners, philosophies and cultures, has significantly changed the landscape of the modern software engineering and commercial software development.

Source: Wikipedia

×
Scrum 101

The Scrum framework is used to build a product, which is built incrementally over a series of short time periods called “sprints.” During each sprint, the Scrum team builds and delivers a product increment. Each increment is a recognizable, visibly improved, operating subset of the product, meeting understood acceptance criteria and built to a level of quality.

Scrum is also a team process that includes three roles: the product owner, the development team, and the ScrumMaster.

Learn more about Scrum on Wikipedia

×
Karen Lissy

Ms. Karen Lissy is a Justice Information Services Specialist for the Law and Policy Program of SEARCH, The National Consortium for Justice Information and Statistics. In this position, she provides assistance to state and local justice and public safety agencies to collect, curate, and use National Incident-Based Reporting System (NIBRS) data and computerized criminal history record (CCH/CHRI) information for policy analysis and development.

She also guides justice and related organizations in how to craft and implement laws, policies, practices, and technology applications to effectively collect and use CCH and related justice/public safety data; address legal, policy, and regulatory issues associated with CCH data; better manage and operate criminal justice information and identification systems; and develop security and privacy policies that protect justice information sharing systems.

Ms. Lissy has nearly two decades of research and data analysis experience, having led projects and tasks in support of two agencies within the U.S. Department of Justice’s Office of Justice Programs (the Bureau of Justice Statistics and National Institute of Justice), as well as the Centers of Disease Control and Prevention, and multiple foundations, including Ford, Annie E. Casey, and Hewlett. Prior to joining SEARCH in October 2020, Ms. Lissy served as a Social Science Researcher at RTI International, as a regional Crime Analyst for the Redmond (WA) Police Department, and as Director of a research program with the Harvard Center for Risk Analysis. Beginning in 2012, Ms. Lissy’s work has focused on improving data in law enforcement to answer policy questions and improve community/police relations.

Ms. Lissy earned a Bachelor’s degree in Public Policy from Duke University, and a Master’s in Public Health from the University of North Carolina at Chapel Hill.

×