-
ArticleS.UncleBob.PrinciplesOfOod
-
All too often today's programmers are unaware of the principles that are the
foundation of the disciplines that their languages were derived around. In
another blog I'll discuss the principles of structured programming. In this blog
I want to talk about the principles of object oriented programming.
-
-
Intel, Microsoft, Sap and Others Unveil Lean, Green IT Toolbox | GreenerComputing
-
a host of organizations including industry giants, consultancies and
universities, unveiled the IT Capability Maturity Framework (IT-CMF), a roadmap
aimed at an organization's management that both simplifies the decision-making
process for CIOs but also maximizes the business value of IT -
Overall, the IT-CMF categorizes 36 core business processes and categorizes them
under four management groupings -- managing IT like a business, managing the IT
budget, IT capability, and managing IT for business value -- to cover all
activities in an IT department. The assessment based on those processes will
help highlight where a company can both clear up gaps in efficiency and identify
new opportunities to gain extra value from the IT department
-
-
What is SOA, really?
-
Software developers have known for years that software that changes
frequently should be decoupled from software that changes infrequently. When
applied to individual programs and systems this principle is sometimes called The Common
Closure Principle. When it is applied to the information management of
an enterprise, it is called SOA.SOA is the practice of sequestering the core
business functions into independent services that don’t change frequently.
These services are glorified functions that are called by one or more
presentation programs. The presentation programs are volatile bits of software
that present data to, and accept data from, various users. -
Software developers have known for years that software that changes
frequently should be decoupled from software that changes infrequently. When
applied to individual programs and systems this principle is sometimes called The Common
Closure Principle. When it is applied to the information management of
an enterprise, it is called SOA.SOA is the practice of sequestering the core
business functions into independent services that don’t change frequently.
These services are glorified functions that are called by one or more
presentation programs. The presentation programs are volatile bits of software
that present data to, and accept data from, various users - 1 more annotations...
-
-
InfoQ: Visualizing Agile Projects using Kanban Boards
-
In this paper, I explore visualization methods
found widely in agile projects these days, and then propose using Kanban Boards
to organize three viewpoints (Time, Task, and Team) so that the whole team
understands the current status of the project and can work in an autonomous,
motivated and collaborative manner. Finally, I introduce a software tool
“TRICHORD” that implements Kanban Boards to realize project visualization from
the three viewpoints.
-
-
Requirements and practices | Agile Software Development
-
Here is a list of essays and articles on Agile tools, practices and
concepts.This list is dynamic and is updated frequentl
-
Here is a list of essays and articles on Agile tools, practices and
concepts.This list is dynamic and is updated frequently.
-
-
Mastering the Recession with Lean, Agile and Scrum | Agile Software Development
-
Lean thinking helps management and staff focus on the right problems at the
right time -
Create Value for your customers.
- 7 more annotations...
-
-
QSM’s Productivity Assessment Methodology
Many software development organizations today are looking for better ways to measure and improve
productivity in applications development and maintenance (ADM). They want reliable and easy to
understand metrics on cost, schedule, and reliability to gain insights into the effectiveness of their
processes, for both in-house and/or outsourced projects.
To help you get concrete results fast QSM has designed a basic productivity and quality
assessment service. This overview describes the service, which is derived from 17+ years of
established research and automated methods.
The QSM techniques are proven. They are based on performance data from 6,300+ projects
representing over 685 million lines of code, 600+ development languages, from more than 500
organizations worldwide. The fundamental approach is based on research by QSM contained in
“Industrial Strength Software, Effective Management Using Measurement” by Larry Putnam
(from the IEEE Computer Society) and also in “IT Organization, Benchmark Thyself”, by
Michael Mah (from Cutter Information Corp.). -
Free Project Management Software | Rally Software Development
Rally Community Edition: Free project management software for a single team. Pilot Agile in a no-cost, low burden Software-as-a-Service environment.
-
InfoQ: Use Cases Considered Valuable (but Optional) For Lean/Agile Requirements Capture
-
Dean Leffingwell, author of Scaling
Software Agility and Chief Product Methodologist at Rally, has concluded
that Use Cases can be a valuable tool to model requirements for a large-scale
Lean/Agile Project. -
when building systems of scale, there is no tool quite so powerful as a use case
for exploring the interactions amongst users, the systems, and the subsystems of
the solution. Moreover, the use-case technique is the best way I know to help
identify all the alternate scenarios that trip us so often when it comes to
system level quality and readiness. - 2 more annotations...
-
-
The Agile Unified Process (AUP) Home Page
-
simplified version of the Rational Unified Process
(RUP). It describes a simple, easy to understand approach to
developing business application software using agile techniques and concepts yet
still remaining true to the RUP. I've tried to keep the Agile UP as simple
as possible, both in its approach and in its description. The descriptions
are simple and to the point, with links to details (on the web) if you want
them. The approach applies agile techniques include test driven development
(TDD), Agile Model
Driven Development (AMDD), agile change
management, and database
refactoring to improve your productivity -
If you want something in between XP and traditional RUP, a process that is
agile yet explicitly includes activities and artifacts which you're accustomed
to, then the AUP is likely for you. Many organizations are leery of XP
because it seems to be too light: XP doesn't explicitly show how to create some
of the artifacts which management wants to see. This is an unfortunate
attitude because XP is a great process. On the other end of the spectrum
is RUP, which management seems to love but developers seems leery of due to the
large number of artifacts. This is also unfortunate because the RUP has a
lot to offer, and can be cut down to something quite useful (which is exactly
what IBM Rational recommends you do). The AUP lands between the two,
adopting many of the agile techniques of XP and other agile processes yet
retaining some of the formality of the RUP.The AUP isn't for everyone. The AUP is either the best of both worlds or the
worst of both worlds, you be the judge. Extreme Programmers will likely
find the AUP fairly heavy, and "traditional RUP" users may find that it's too
streamlined. If you want something lighter, then I highly suggest
XP. If you want a detailed, well-defined software process then I highly
suggest that you consider licensing the RUP product from IBM
Rational.
-
-
SDLC – Software Development Lifecycle … what’s the point? (links to all posts)
SDLC – Software Development Lifecycle … what’s the point?
-
Borland Delivers TeamInspector
-
Borland Software announces TeamInspector, which the
company says is a "release readiness" system that provides key metrics – code
analysis, test coverage, standards compliance and build trends – ensuring
development managers that the software they build is ready for customer use.
Borland's TeamInspector features an automated "inspector" infrastructure. And
TeamInspector's automated "inspectors" gather and reveal metrics about all
code-related aspects of a release. -
as part of the continuous build and integration process, TeamInspector’s
automated inspectors gather and aggregate key readiness metrics from an array of
developer test utilities, static code analysis and build tools. It then presents
them in a single, actionable dashboard that displays real-time and trend
information across projects - 4 more annotations...
-
-
Rally Customer TESTCo Wins IIST's "Software Testing Best Practices" Award
-
TESTCo, a premier on-demand software testing company, today announced it was
awarded the International Institute for Software Testing’s (IIST) “Software
Testing Best Practices Award” using Rally Software’s solution for Agile quality
management. -
TESTCo’s offshore Agile software testing solutions enable development
organizations to deliver a higher volume of new features at far lower cost than
the industry norm, without destabilizing the existing code base. Through
continuous testing and close collaboration, development teams can continually
enhance their multiple applications built on a shared code base while
maintaining continuous release readiness in their U.S.-based deployment
environments. - 1 more annotations...
-
-
Leading Agile: Filling the Leadership Vacuum
-
Think about what we are really saying with agile in general, or Scrum in
particular:
Give me a team full of really talented developers, give us as
few constraints as possible, put us all in the same room, and don't bother us
for weeks at a time. Give us a single person to make all the business decisions
(the Agile Product Owner) so we don't get yanked around and we'll agree to be
accountable to that person, and that person only. We'll make all the decisions
about how the code gets built and how the team operates, but as a trade-off for
this level of autonomy, we'll deliver working software in short bursts... and
let you change your mind as much as you want.
Not a bad deal if you ask
me. The cool thing too is that it works... but it has its limitations -
This is a great model for a single team or a group of teams that are truly
autonomous. Once you scale past two, maybe three teams, or when teams have to
work with each other in a coordinated fashion, the single omnipotent Product
Owner model begins to break down. It is too much for a single person to wear so
many hats across so many project or product teams. - 1 more annotations...
-
-
Software Development Poll: Programming, Testing, Open Source, UML, Agile, Tools, Web
-
I found a survey on Dr Dobb's with some numbers on companies doing both CMMI and
Agile. According to this survey, the rates of success of Agile and CMMI projects
are very close, just above 50%. You could interpret the results as whatever the
process, as long as you have one, you improve your success rate, which would
mean that some discipline bring rewards. These numbers also tell that you have
still close to 50% chances of failure, which could mean that discipline is not
easy to achieve in the software development world. Please note that the Version
One Agile survey seems to indicate a higher rate of success for projects, even
if the type of questions makes direct comparison difficult. -
Although there are some evidences that CMMI and Agile can coexist, the overall
impression of people dealing with process improvement is that there are still
important cultural differences between the two communities - 1 more annotations...
-
-
Unit Test Rulz by Feathers
-
I've used these rules with a large number of teams. They encourage
good
design and rapid feedback and they seem to help teams avoid a lot
of
trouble.
---
A test is not a unit test if:
1) It talks to
the database
2) It communicates across the network
3) It touches the file
system
4) It can't run correctly at the same time as any of your other unit
tests
5) You have to do special things to your environment (such as
editing
config files) to run it.
Tests that do things things aren't
bad. Often they are worth writing,
and they can be written in a unit test
harness. However, it is
important to be able to separate them from true unit
tests so that we
can keep a set of tests that we can run fast whenever we
make our changes.
-
