Business Systems:
We specify, design, deliver and evaluate systems to fit the real complexity and rate of change of business. We focus on identifying and clearly communicating requirements that have explicit business value. Value expressed as increasing revenue, avoiding costs or improving service and reputation. We design systems that can be understood and changed as easily as possible. We lead and train teams to incrementally deliver quality software. And we provide business development and training for conceptually demanding technologies.
Project Management:
Jay Conne, a Certified ScrumMaster-Practicing, has launched many Agile-Scrum software development teams, has co-taught Certified ScrumMaster certification training, and has developed Lean-Agile-Scrum Seminars and Workshops.
We use an Agile approach to projects which integrates principles from Lean, Agile, Scrum and Extreme Programming (XP). Agile has become the umbrella term for this whole scope, while Scrum is a flexible framework for getting started. More specifically, Scrum in an interaction model for members of a cross-functional creative team and between that team and the management/customer team.
Our goal is to offer an alternative to the typical self-deception of confusing speculation with knowledge, in making delivery commitments. The Scrum approach dramatically improves trust between the management and development teams by delivering useable results in 7 to 30-day iterations. At the same time, we allow the management team to adjust priorities for future steps at every iteration at zero cost. We insist on clarity of requirements, but at no more detailed a level than is appropriate for the current stage of the project. We support the process of discovery that is inherent in any product development including software development. We do not pretend to know what we do not yet know. (Please see: www.controlchaos.com for more information on this Scrum approach.)
Lean-Agile-Scrum-XP Coaching and Training:
Our software development approach is available as training and coaching for your internal teams. The training can be sized to fit your needs, but is typically a three to five day sequence consisting of:
- 2-days of Lean-Agile-Scrum Process Discovery
- 1 to 2-days of Project Discovery - depending on the complexity of your project
- 1/2 to 1-day of Team Discovery to start the team going on your project and preparing for the first iteration.
The most courageous of teams are starting 1-week iterations as the initial week ends. One pair of teams in a prominent company has two teams still happily running 1-week iterations for 1/2 a year now with a tremendous rate of learning.
Database:
A data-centric view of systems builds a foundation on the most stable aspect of a business, the objects it needs to track, i.e. money, inventory, staff, customers, vendors, orders, work-in-process, projects, etc. In contrast, the most dynamic aspects of a business are its processes and procedures as it continuously responds to market demand. Databases are the keeper of a business's digital assets and require a discipline to match the value of the assets being managed. Transactions then provide the units of update and inquiry against those assets, thereby automating the business.
Programming Languages:
Programming languages are most effective when they permit problems to be described in the language of the experts in the discipline being automated. High level language descriptions of problems can keep them understandable and thereby maintainable. Two recent projects have pushed the envelope on such languages: Water Language from Clear Methods for prototyping; and Object Process Network (OPN) for complex, collaborative, systems architecting, from Benjamin Koo's January 2005 Ph.D. thesis at MIT's Engineering Systems Division.
For details on these, please see Special Projects in the nav-bar on the left.