Site Map
DDC-I, # 1 in Customer Care     · Safety Critical Embedded Software Development
    · Customized Tools & Services Tailored to Fit Your Needs
    · Legacy Software System Modernization
    · Ada Compilers, C Compilers, C++ Compilers, JOVIAL Compilers, FORTRAN Compilers
 



September 2004

Products / Services

 
   
 

Products

 
   
 

 

 
   
 

Custom Services

 
   
 

 

 
 

Customer Spotlight

 
   
 

"While we are on the subject of support I would like to emphasize that Alex and Richard have been superb in their support of our project. We could not have gotten over our initial hurdles without them."

Candice Uhlir, Software Technology Manager, Northrop Grumman

 

 
   
 

 

 
 

Contact the Editor

 
   
 

DDC-I Online News is published by DDC-I, Inc., 400 N. 5th Street #1050; Phoenix, AZ 85004, Editor: Jennifer Sanchez

Comments and submissions of articles are welcome and should be sent to the editor at the above address or by email to editor@ddci.com.

Copyright 2005, DDC-I, Inc. Permission to copy is prohibited. References to other companies and their products use trademarks are owned by the respective companies and are for reference purposes only.

 

 
   
 

 

 
DDC-I Online News
Inside this Issue

DDC-I Employee Experience Defines "#1 in Customer Care" 

DDC-I's Continuing Success is a Direct Result of the Company's Talented Staff and a No-nonsense Customer Care Philosophy

Phoenix, AZ – September 1, 2004 - According to numerous software developers, few things are more important to embedded systems programs than a stable development partner, providing powerful tools and unwavering support at critical moments. Embedded safety-critical software developer DDC-I reveals service statistics unmatched in the industry.

"In the traditional corporate hierarchy, everybody works for the President," explains DDC-I President and CEO Ole Oest. "We've turned the organizational pyramid upside-down and flattened it, with employees cast in only two roles. They're either 'front-liners' who interact directly with the customer, or they support our front-liners."

DDC-I's "front liners" are knowledgeable, experienced and empowered. They allocate resources to solve problems and have the experience, training and authority to deal directly with customer issues, reducing both bureaucracy and cycle time.

"At DDC-I we recognize the importance of action," says Sales Support Administrator Monica Holt. "There's always a sense of urgency to fix the problem, to hold the conference call, to find the best way to get the job done, all with a sense of accountability to the people we serve, and it shows in our actions."

Adding that the welfare of both external and internal customers is the main focus, with a strong emphasis on creating solutions that benefit both customers and the company, Holt points out that companies don't survive for over two decades by neglecting customer relationships. She feels employee retention is symbolic of the internal qualities at DDC-I. One individual on staff for nearly seventeen years, a company average over six years, and sixty percent of the company past five years, all support her assertion.

"There must be something about this place I really like, because I keep coming back," laughs Senior Software Engineer Steve Hunter, happily hired by DDC-I three times. "Even after taking a year of 'retirement,' when DDC-I called with a good opportunity, I jumped right back."

Such experience, especially in engineering, generates a vast list of core competencies within the embedded systems industry. Overlapping skill sets span early stage program needs like requirements specification, embedded system design and analysis, testing, formal qualification and FAA certification. Other specialties include: systems and network implementation, integration, certification and maintenance; configuration management; object-oriented analysis and design; parsing and compilation technologies and GUI design; as well as a host of software engineering domain and platform expertise -- from DEC-VAX to the latest in PC technology.

"For a small company to be a great place to work you need great people, since everyone impacts everyone else in the company, as well as customers," concludes Engineering Manager David Mosley. "At DDC-I we hire smart, knowledgeable, hard-working people with helpful, friendly attitudes. It's the kind of company where you're not afraid to recruit your best friend."

# # #

DDC-I is a global supplier of software development tools, custom software development services, and legacy software system modernization. DDC-I's customer base is an impressive "who's who" in the commercial, military, aerospace, and safety-critical industries. Tools include compiler systems and run-time systems for Ada, JOVIAL, C, Embedded C++ and Fortran application development. For more information regarding DDC-I products, contact DDC-I at 400 North Fifth Street, Phoenix, Arizona 85004; phone (602) 275-7172; fax (602) 252-6054; e-mail sales@ddci.com; or visit www.ddci.com.

[ Back to Top ]

DDC-I Upgrades TADS 1750A Solaris Development System


TADS Ada Development System for 1750A Processors

Phoenix, AZ - Aug, 31 2004 - DDC-I today announces the availability of the maintenance upgrade release of Sun/Solaris® hosted TADS-1750A Ada Development System (v6.1.1) adding additional run-time, linker and compiler improvements to the full complement of upgrades integrated during the recent TADS rehost to PC/Windows® (v6.0).

"Responding to client needs by consistently upgrading the tools our clients' programs require for success is a primary focus of DDC-I's 'Customer Care' philosophy," explains DDC-I Senior Software Engineer and TADS Product Champion Harold "Bud" Blum. "A wide range of programs depend on TADS for safety-critical embedded system development, alongside DDC-I's flexible customer support and engineering services."

A mature software development solution, TADS generates the most compact code available via the highly optimizing compiler, selective linking, modular run-time systems and an unsurpassed toolset. Improvements to TADS-1750A Run-Time System include: more reliable handling of very rapid interrupt sequences from peripheral hardware; more reliable handling of critical timing delays in multitasking configurations; and assured protection of critical code sections from interrupts under all memory model configurations.

Version 6.1.1 also adds specific optional Ada 95 extensions to the Ada 83 compiler, and linker improvements for more reliable handling of memory allocation by application programs. Also, effective with TADS v6.0, the AdaTrak Profiler is no longer offered, though AdaTrak support for previous TADS versions is naturally still available.

Pre-packaged and custom-built engineering services are designed to help customers maximize program productivity at any stage in the development cycle -- installation and training with full user documentation, basic hot-line support and additional high-level engineering services, full program consultation, and custom software development to specialized requirements. Leveraging extensive experience, DDC-I specializes in migration support services, particularly in the initial assessment phase.

"Keeping TADS performance and support at the highest level demonstrates DDC-I's commitment to their customers, while ongoing market demand and Ada's advantages in code reliability, reusability, readability, and portability continue to prove the superiority of TADS for real-time embedded system developers in aerospace, avionics and defense - or any safety- critical application where failure is not an option," Blum concludes.

# # #

DDC-I is a global supplier of software development tools, custom software development services, and legacy software system modernization. DDC-I's customer base is an impressive "who's who" in the commercial, military, aerospace, and safety-critical industries. Tools include compiler systems and run-time systems for Ada, JOVIAL, C, Embedded C++ and Fortran application development. For more information regarding DDC-I products, contact DDC-I at 400 North Fifth Street, Phoenix, Arizona 85004; phone (602) 275-7172; fax (602) 252-6054; e-mail sales@ddci.com; or visit www.ddci.com.

[ Back to Top ]



Thoughts from Thorkil


Do you have a topic you'd like Thorkil to write about? Click here to send a request.
Thorkil was unable to contribute his regular article this month due to a nasty storm which caused flooding in his home. We wish Thorkil & his family best wishes as he works to clean up what Mother Nature has dealt him.

In the place of Thorkil's article, we offer a tech note on one of the products that has had some recent increased interest, the TADS Ada Static Dumper.

TADS Ada Static Dumper

The TADS Ada Static Dumper is a tool which provides developers with information about the variables, constants, packages, tasks, and subprograms that comprise a linked Ada program. This tool reads the AdaScope debug directives for a particular program and reports the locations of the objects which reside in constant (i.e., static) places in memory throughout the program's execution.

This information is most useful for connecting TADS products to proprietary development systems using local hardware debug support. It is also quite useful for developers writing independent testing and analysis tools.

The static dumper produces a text file as its output. All names used in the output file are fully qualified Ada names. The format is designed to be easily read by users or parsed by programs. The output file may be printed on a wide (120 column) printer or in landscape mode on printers which support it.

Variables which are global to library level packages (whether exported or private) are reported. These variables are always be stored at a fixed memory address. However, variables which are local to subprograms are not reported because they are relative to the frame pointer, and may be stored anywhere in memory.

Parameters and function return values are also listed. These values are usually in registers or relative to the frame pointer. Even so, this information should be used with care. The TADS Ada Compiler often uses copies of these values in the course of optimization.

Subprograms and other pieces of Ada code are listed if they have been linked into the program. In this case, the static dumper lists the addresses. These addresses include the first and last address in the code entity as well as the beginning and end of the Ada body code.

All constants and enumerated types in the program are listed in both their symbolic and actual value notations. Similarly, both notations are used for any arrays which are indexed by an enumerated type.

Finally, the locations of all constants which could not be efficiently implemented by placing them in the code stream are indicated.

[ Back to Top ]

Self-Organizing Teams

By Linda Rising
risingl@acm.org
www.lindarising.org

The concert at Carnegie Hall is about to begin. The musicians take their places on the stage, making final adjustments. The audience becomes quiet. For those who have never enjoyed a concert by this particular ensemble, it quickly becomes obvious that there’s something unusual, something unique about it. There is no conductor.

I’ve written several articles about agile development. Even though I’ve used agile development methods and I consult with companies who want to use it, there are many things I don’t understand about it. One of these things will be the topic of this article. It’s called "self-organization." The goal in agile approaches is to have self-organizing teams—yep, exactly what it sounds like—teams that take care of themselves. Does this mean there is no need for management? The answer is—of course not! However, management does involve new roles and new tasks.

I read an article some time ago in Fast Company [1], one of my favorite business magazines, about the Orpheus Chamber Ensemble. Since I’m an amateur musician and self-appointed leader of our little recorder consort, I was interested to read about the "world’s only conductorless orchestra." I later found an article about the process the orchestra follows [2] and then, finally, on a business trip last week, I found some airline reading time to tackle a book [3] about this unusual group. When I arrived home, I was able to track down one of their CDs. It was glorious.

Now, maybe you’re not interested in classical music. That’s OK. What you are interested in, I’m guessing, is any organization that’s found an innovative way of producing high-quality products and/or services. That’s what this article is about.

Let’s start with some data for all you detail-oriented readers. The Orpheus Chamber Orchestra comprises 27 seasoned professional musicians. Many in the group record for the television and motion picture industry, play in other musical groups, and teach at leading institutions: Julliard, the New England Conservatory, the Manhattan School of Music. Carnegie Hall, one of the world’s most prestigious performance venues, is Orpheus’ home base, a distinction shared by only one other orchestra.

The group was founded in 1972 as a self-governing organization. Orpheus isn’t just a musical oddity—and the subject of study by business educators and leaders—but one of the finest chamber orchestras in the world. The group’s recorded catalog has more than 60 titles, and the orchestra is in demand internationally each season, having won numerous awards for its performances and recordings.

OK, OK, enough. It’s a great group. You’re probably thinking, "Yeah, yeah, a collection of musical geniuses who don’t need a conductor. What’s that got to do with me and my group? They’re hard working and bright, but maybe not geniuses. Is there any of this I can use?"

First, stop and think about it. Genius musicians collaborating. Does it sound like an oxymoron? Geniuses almost by definition are opinionated—especially musicians. How do they ever agree on anything? Talk about trying to herd cats! That’s why conductors are so fierce. They have to pummel these hardheaded, single-minded folks into signing up for the vision they see for each composition.

Here’s an interesting statistic. As talented and hard working as these folks are, orchestral musicians are a surprisingly unhappy class of employees. When Harvard Business School professor J. Richard Hackman studied job attitudes among people working in 13 different job groups, he discovered that symphony orchestra musicians ranked below prison guards in job satisfaction.

When I read this, I was very surprised. These folks earn good money doing work they love, traveling to exciting venues, soaking up the applause of appreciative audiences all over the world. The surprises continue. When asked about their satisfaction with opportunities for career growth, symphony orchestra musicians fared even worse, ranking 9th out of the 13 surveyed job categories. Although the product or service of an orchestra can be exceptionally uplifting for those who are on the receiving end, for the producers, it seems it’s not especially rewarding.

The problem lies with the organizational structure that forces them into subservient roles that lead to frustration and job dissatisfaction. Many "knowledge workers" suffer the same ills. Research by Carnegie Mellon business professor Robert Kelley shows that 40% of those surveyed believed that their bosses had questionable leadership abilities.

We can see two problems. One: organizations fail to take advantage of the skills and talents of every worker and pay a high opportunity cost. Two: disenfranchised employees grow frustrated and cynical about the select few in leadership roles.

I hope I’ve convinced you that this story is worth hearing—that musicians have an important message for those of us in product development, in fact—for anyone in any organization in today’s chaotic business environment.

In most orchestras, the conductor not only decides what music will be played but how it will be played. There is little room for the opinions or suggestions of the musicians themselves; such input is rarely solicited and even less often welcomed. Like workers reporting to an autocratic manager, orchestral musicians are expected to unquestioningly follow the direction of the conductor.

In contrast, each member of Orpheus takes a turn at leadership positions: leading the group in rehearsal and performance as concertmaster or leading one of the orchestra's many formal or informal teams. Musicians move in and out of positions of leadership to allow the orchestra to quickly adapt to changing conditions in the marketplace or within the group itself.

This system encourages all the members of the orchestra to give their personal best performance. Cellist Eric Bartlett says, "When there's an important concert, everybody feels it, and everybody goes into it doing their absolute best work, giving it their utmost concentration, playing off each other, and making sparks fly. For the most part, in a conducted orchestra, you play a more passive role. Not only is less expected of you, but less is expected from you. You have to play extremely well, but you're not playing off your colleagues -- you're playing off the one person in front of the orchestra holding the baton. I don't see that people in regular orchestras are emotionally involved in the same way. Everybody plays well; they do a very good job, but the level of individual emotional involvement isn't there."

That sounds like something I would say to describe a team that successfully uses Scrum!!

According to double-bass player Don Palma, a member since the group's founding in 1972, the difference between working in Orpheus and working in a traditional orchestra is dramatic. Says Palma, "I took one year off from Orpheus and went to the Los Angeles Philharmonic. I just hated it. I didn't like to be told what to do all the time, being treated like I wasn't really worth anything other than to be a good soldier and just sit there and do as I was told. I felt powerless to affect things, particularly when they were not going well. I felt frustrated, and there was nothing I could do to help make things better. Orpheus keeps me involved. I have some measure of participation in the direction the music is going to take. I think that's why a lot of us have stayed involved for so long."

Here’s a brief description of the Orpheus Process. It comprises five key elements.

1. Choosing Leaders. For each piece of music, a committee of musicians chosen by orchestra members selects a concertmaster. The orchestra members also select a leadership team of five to seven players, called the core. The concertmaster anchors the core, leads performances, and works closely with all the musicians to develop a unified vision for the music. The concertmaster is selected on the basis of the skills and knowledge he or she brings to the piece. An expert in baroque music will be selected to lead a Handel selection. Someone who is particularly knowledgeable about 20th century composers will take on a Stravinsky piece. In this way, leadership is shared and rotated among the different members of the group, and the group benefits from the strengths of individual members.

One of the important pieces of agile methodology is pair programming. You can read a couple of articles I wrote on that topic here. Pairing assignments are made in exactly the same way as leadership choices are made for a particular composition. You pair with Fred because you need some database expertise and Fred knows all about the database. You pair with Karl when you need an Ada guru. In the pairing experience, you not only tap the expert’s knowledge, but you learn more about the subject and you share your expertise.

2. Developing Strategies. Before a piece of music is taken to the full orchestra, the core decides how it will be played. The goal is to develop an overall interpretive approach to the music. The core group’s concept is crucial to setting the stage but it isn’t the final word. The core accomplishes this goal through rehearsals where different approaches can be suggested. Says violinist Ronnie Bauch, "The core groups formulate one interpretation of a piece. It’s not necessarily the final interpretation. It’s just a starting point."

This is exactly how agile teams work. An initial starting point and a clear vision are necessary, but the implementation details can change along the way, as long as there is close communication, not only within the team, but with the customer, project manager, and product manager.

3. Developing the Product. After the core is satisfied with its approach to the piece, it is taken to the full orchestra to be rehearsed and refined. Musicians in all sections of the orchestra make suggestions to improve the piece and critique the playing of their colleagues. When disagreements arise, as they do in any organization, the members work to reach consensus. If consensus cannot be reached within a reasonable period of time, then a vote is taken and the issue is settled.

As I read this, I was reminded of a retrospective I facilitated recently, where during the multi-year project two "chief" architects arose with two "visions" of the product. Wars were fought by teams pretty much determined by the aisle where their cubicles were located. Consensus was never reached, in fact, no one really communicated with anyone so that anyone really understood the issues. The project was finally cancelled. It produced nothing useful. What a waste. If only there had been regular Scrum meetings. If only there had been regular, short retrospectives, a more successful outcome would have resulted.

It’s not always easy to reach consensus. A group that is used to following a process realizes that at some points "we agree to disagree" and move on. By agreeing to take a path and learn along the way, the group avoids getting stuck and battling forever. Many times, even after consensus has been reached, the group remains agile and continues to learn and finds that a completely new approach is the one the group ultimately takes.

4. Perfecting the Product. Immediately before every concert, one or two members of the orchestra are selected to go out into the hall and listen to the performance as the audience will hear it. These musicians report back to the entire group and suggest final adjustments and refinements based on the actual sound of the full orchestra.

I love this! On an agile team, this step corresponds to showing the stakeholders what you have along the way. "Hey! Look at this! Are we meeting your expectations? Are there any tweaks that would improve it?" Instead of waiting for months or years before getting any feedback, wouldn’t it be better to stay in touch?

5. Delivering the Product. The final step is the performance, the ultimate result of the Orpheus Process, but it does not end here. After every concert, participants informally discuss their impressions of the performance and make suggestions for further adjustments and refinements -- all with an eye to improving subsequent performances of the piece.

As you might guess, I really like step 5. I would say that Orpheus takes time for reflection or that it does retrospectives. Without this last, very important piece of the process, learning would not happen. We all want to believe that learning is automatic, but research has shown that experience provides data and that we must consciously take time to process this data in order to learn.

If I’ve piqued your interest in agile processes, you can have a look at some articles I’ve written about this development approach. The Fast Company article is on-line for more information about the conductorless orchestra. And I’m always here to exchange e-mail about these ideas. I always enjoy hearing from you!

References

1. Lieber, R., "Decisions Are in the Details," Fast Company, May 2000, 296 http://www.fastcompany.com/magazine/34/orpheus3.html

2. Seifter, H. The Conductor-less Orchestra, Leader to Leader, No. 21 Summer 2001.

3. Seifter, H. and P. Economy, Leadership Ensemble: Lessons in Collaborative Management from the World’s Only Conductorless Orchestra, Times Books, 2001.

 

About the Author
http://www.lindarising.org

risingl@acm.org

Linda Rising has a Ph.D. from Arizona State University in the area of object-based design metrics. Her background includes university teaching as well as work in industry in telecommunications, avionics, and strategic weapons systems. She is the author of numerous articles and has published three books: Design Patterns in Communications, The Pattern Almanac 2000, and A Patterns Handbook. She is currently writing a book with Mary Lynn Manns: Fearless: Introducing New Ideas into Organizations, to appear in September 2004.

[ Back to Top ]

 

 

Vol. 5 Issue 9

News Update

Subscribe to DDC-I Online News
and receive monthly updates automatically.

Archives

Customer Success Stories

 


SCORE-653

ARINC-653 Compliant

Certifiable to DO-178B/Level A

One IDE for All Embedded C++, C, Ada and Fortran Applications

Check out DDC-I's

Support Program

 
 
DDC-I, Inc. -  USA - Phone: (602) 275-7172