Home > Innovation > Enterprise Agile

Enterprise Agile

Innovations

Agile software development is a set of processes and principles that help software developers deliver top quality software that actually solves real business problems.  Agile puts developers in direct, daily contact with business customers, and makes working software, not a lifeless specification, the core focus of the entire project—from beginning to end.

 

Agile projects move faster and get better results. Customers are thrilled to see their needs and concerns reflected in working software within a week or two of the start of a project. Throughout the project lifecycle, customers and developers work together in a collaborative fashion, addressing stated needs and discovering new aspects of the underlying business problem—and working to solve it as a team.

 

Dibon has developed a new flavor of Agile, called Enterprise Agile. Our method offers enhanced accountability, increased business focus, and improved adherence to schedules, while also retaining the fast turns, flexibility, and excellent business results of other Agile approaches.

 

Enterprise Agile is a non-dogmatic, lightweight approach that combines top-notch people, a well-defined process, and exceptionally close collaboration with customers.

 

What Agile Does Better

Agile has been developed in response to (also building on) the traditional “Waterfall” software development approach. The following table briefly contrasts the methods.

Waterfall

Agile

Seek requirements from end users up front only

Seek requirements from end users throughout the project

Software is developed once over entire project

Software is developed, revised, and re-developed based on user feedback throughout the project

Working software at end of project only

First working software in 1-2 weeks

First work product is specification that defines project

First work product is working software for end user assessment and comment

End users may see prototypes during development

End users repeatedly see working software throughout development

Minor feedback may be incorporated during development; major feedback and external changes are “out of scope”

Purpose of working software is to elicit feedback to incorporate during development; most feedback and external changes are “in scope”

Project is complete when specification is met

Project is complete when user requirements are met (including additional requirements discovered through iterative development process)

Developers write software once, debug once, and interact with end users rarely

Developers revise software repeatedly, debug throughout, and interact with end users frequently

One chance to identify and meet business goals

Continuous process of identifying and meeting business goals

End user satisfaction is secondary and generally low

End user satisfaction is primary and generally high

Easy to manage and easy to budget for

Traditional Agile: Team members self-manage, hard to budget for.
Enterprise Agile: Designated project and technical leads manage to a schedule; easier to budget for.

The Agile approach is superior because the heart and soul of the process is the delivery of great software that fully meets business needs. Developers aren’t forced to “fill in the blanks” in a long requirements document up front, with only their own ideas or guesstimates as guidance. Users are fully involved in the development process, not locked out of it.

Traditional Agile in the Enterprise

Traditional Agile has a lot to offer, but is often poorly applied. Some Agile approaches are excessively rigid, and encourage developers to follow the process even at the expense of deadlines—a practice that is simply not workable in the demanding, deadline-driven enterprise environment. "Extreme" Agile practices, such as programmers developing exclusively in pairs, can sometimes prove inefficient and costly to customers.

Agile was pioneered by top developers using all their skills and experience. Today it’s often used by developers with less experience and only average skills. We have also encountered Agile approaches that are more focused on the job satisfaction and empowerment of developers than on the business drivers of the customer.

Dibon Enterprise Agile addresses these concerns by putting the focus back on the customer, and making the on-time, on-budget delivery of software the number one priority.

Why You Need Enterprise Agile

The core of Dibon Enterprise Agile is the rapid development and delivery of working software, and the gathering and incorporation of the users' feedback on the result. However, with Enterprise Agile, we adapt our approach to our customer's corporate culture and environment, and to the way they do business. Experienced team members, especially in key roles, make the difference.

Dibon Business Analysts are crucial to the process, breaking tasks into reasonable pieces that the business and developers can both understand. Technical leads, experienced in business needs as well as the latest technology, keep each development cycle on track. Members of the development team can be distributed geographically, as their leads handle coordination. All developers have to focus on is development and listening to their business users.

In Enterprise Agile, deadlines are crucial, not secondary. Our view is that Agile requires strict adherence to customer commitments, not to a rule book. Meetings, feedback, and documentation are managed around customer needs, not a rigid formula.

We don’t sell our customers Agile. We sell great results, delivered on time and on budget. Agile is a tool to help us—and help you—accomplish more than might otherwise be possible.